Home › Forums › Ask the Flomies › Reading data using the FloJack BZR
Tagged: APDU, BZR, data, FloJack BZR, mifare classic 1k, NDEF
-
AuthorPosts
-
September 13, 2016 at 6:14 am #56432
Hi,
I’ve got a FloJack BZR and have been sent the testflight app and v2.0 of the SDK. I’ve been able to scan a tag to get the UID from a tag but not get any data. I understand that with the current SDK in order to read data from a tag I need to send an APDU.
I’m trying to read data from a tag by sending an APDU of ‘FF B0 00 00 16’ from the test app but nothing seems to happen. Please can you advise?
Thanks,
IntiSeptember 13, 2016 at 6:23 am #56433Hi Inti,
This is still a work in progress as there are not many customers using the Flomio BZR to read data and the API from the manufacturer is not very well suited to this application. With that being said, I will continue to work with you to get this sorted.
You will need to update your Flojack BZR. This firmware is continually being updated as we try to get reading data with the BZR working seamlessly.
Please let me know if you have any issues.
Cheers,
Scott- This reply was modified 8 years, 3 months ago by Scott.
September 13, 2016 at 6:26 am #56434Thanks Scott. I forgot to say I have already updated the Flomio BZR firmware!
September 13, 2016 at 6:38 am #56435Ok great. In that case, it must be due to the current test app. We are releasing a new test app by the end of the week using Test Flight, but if that’s too long to wait you can use the Flomio SDK v2.1 to build a demo app and test reading data there.
Cheers,
ScottSeptember 13, 2016 at 6:49 am #56436Thanks Scott. I’ll take a look at the new SDK. When do you expect that to be final and do you have any documentation for it apart from the included readme? What changes are currently being made to the SDK?
September 13, 2016 at 8:49 am #56438Hi Inti,
There are many changes being added to the SDK. Our main priority at the moment is removing any bugs from the 2.1 release and, you’ll be happy to hear, providing customers with better documentation. The only documentation at the moment is using the readme and questions on the forum. To read data with the FloJack BZR you need to change the setConfiguration NSDictionary to use kReadData rather than kReadUuid during initialization as explained in the comments beside setConfiguration. Please let me know if you have an issue with this.
This release adds better support for the audiojack readers (the Flojack BZR and the Flojack MSR) reading data and it also has added support for power management with the FloBLE Plus .
This will leave beta after beta testers use it in the test flight app but the beta v2.1 SDK will be continually updated prior to that.
Cheers,
ScottSeptember 13, 2016 at 12:50 pm #56443Great – thanks!
So far I have a demo app which using the code from the readme continuously polls for tags and then prints their uid. I have tried tweaking the configurationDictionary to use kREadData rather than kReadUuid but this doesn’t work for me. I keep getting
Transmit result: 6E00
which meansClass not supported
as far as I can tell.I’ve tried debugging and manually sending APDUs and feel like I’m getting a little closer but not having too much luck. I’m using Mifare Classic 1K tags and sending/receiving the below:
2016-09-13 17:39:15.411 FlomioTest2.1[2130:783607] Command Apdu sent: FF82000006FFFFFFFFFFFF 2016-09-13 17:39:15.898 FlomioTest2.1[2130:776711] Transmit result: 9000
-> success, I managed to load the authentication keys, now to actually authenticate
2016-09-13 17:41:39.310 FlomioTest2.1[2130:784114] Command Apdu sent: FF860000050100046000 2016-09-13 17:41:39.801 FlomioTest2.1[2130:776711] Transmit result: 6300
-> The operation failed.
I can’t see what is going wrong with the above for the authentication to fail… Do you have any ideas? (I have also tried the obsolete 6 byte authentication format)
I don’t expect a read to work now but if I try anyway:
2016-09-13 17:46:07.813 FlomioTest2.1[2130:784610] Command Apdu sent: FFB0000410 2016-09-13 17:46:13.923 FlomioTest2.1[2130:776711] Error Domain=FlomioSDK Code=-17 "Reader Error." UserInfo={NSLocalizedRecoverySuggestion=Internal problem with Reader's Driver., NSLocalizedDescription=Reader Error., NSLocalizedFailureReason=Transmit Error: no data returned}
I have been referring to this document to get me this far with the APDUs: http://www.epsys.no/downloads/pdf/API_ACR128_v1.9.pdf
Any help is appreciated.
Thanks,
IntiSeptember 13, 2016 at 3:09 pm #56446Hi Inti,
Ok, I assumed you were using Mifare Ultralight as that has been the most requested tag for the BZR. We currently do not support Mifare Classic 1k with the BZR but I will continue with the work you’ve done above and get them working for you for v2.2. May I ask why you’re using the Classic 1k, do you require the security measures or the extra data blocks?
Kind Regards,
ScottSeptember 14, 2016 at 2:08 pm #56453Hi Inti,
I have been adding reading Mifare Classic 1k data to all of our readers today and I ran into the same issue as yourself. The problem ended up being that I was using the wrong key for authentication.
After sending Load Authentication Key: FF820000 06 FFFFFFFFFFFF,
the 9000 response just means key is loaded, it doesn’t mean the key is approved.Upon trying the same thing on an empty Mifare Classic 1k
Transmit Apdu apduLoadAuthenticateKey: FF 82 00 00 06 FF FF FF FF FF FF Response apdu:90 00 Transmit Apdu apduAuthenticate: FF 86 00 00 05 01 00 04 60 00 Response apdu:90 00 Transmit Apdu apduRequestDataType2: FF B0 00 04 10 Response apdu:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 00
Here are some other shipped authentication keys you could try.
a0b0c0d0e0f0
a1b1c1d1e1f1
a0a1a2a3a4a5
b0b1b2b3b4b5
4d3a99c351dd
1a982c7e459a
000000000000
d3f7d3f7d3f7
aabbccddeeffI will have this added with key ffffffffffff for the BZR by the end of the week.
Hope this helps.
Cheers,
Scott- This reply was modified 8 years, 3 months ago by Scott.
September 16, 2016 at 10:15 am #56464Hi Inti,
I turns out that this is an issue with the BZR. I have tried the same APDUs as you use above with 2 other readers we stock and they are working correctly. After I tried with the BZR, even with an empty Mifare Classic 1k, I got the same 63 00 error you mention. I am working with the firmware team to get this resolved and will let you know when this is fixed.
Kind Regards,
ScottSeptember 16, 2016 at 4:06 pm #56467Hey Scott!
Thanks so much for investigating – thats really helpful. I’ve spent the last couple of days updating one of our apps to work only with the UUID’s and no longer write/read data from the tag so this is less of a priority now. Really appreciate your efforts and we may come back to reading tags as we have many which we have already already written to and we may want to read down the line but for the time being I’m going to work on just using the UUID’s.
Best,
Inti -
AuthorPosts
You must be logged in to reply to this topic.