0
votes

I have an ACR122U NFC reader and I am writing data to block 1 of a MIFARE Classic 1K tag with a simple text "test".

All works works well in my Windows app using Delphi Xe8/Win 8.1. I can write and read back without problems.

I downloaded several NFC tag reader apps from Google Play on my Samsung Galaxy S3 Android device.

I tried to read the NFC tag I just wrote with the simple text "test". However, none of them is working.

Is possible read NFC tags with Android using a Samsung Galaxy S3? Is there some app to do it?

This is the log output from my Windows app when reading the tag:


SCardEstablishContext succeeded.
Card State changed in ACS ACR122U PICC Interface 0 to available
New reader found: ACS ACR122U PICC Interface 0
Card inserted in ACS ACR122U PICC Interface 0
ATR = 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 01 00 00 00 00 6A
SCardConnect (shared) succeeded.
Active Protocol: T=1
ISO 14443 A, Part3 Card Type: Mifare Standard 1K is detected
Sending APDU to card: FF 82 00 01 06 FF FF FF FF FF FF
SCardTransmit succeeded.
Card response status word: 9000 (OK)
Sending APDU to card: FF 86 00 00 05 01 00 01 60 01
SCardTransmit succeeded.
Card response status word: 9000 (OK)
Sending APDU to card: FF B0 00 01 10
SCardTransmit succeeded.
Card response status word: 9000 (OK)
Card response data: 74 65 73 74 65 00 00 00 00 00 00 00 00 00 00 00(teste)
Card State changed in ACS ACR122U PICC Interface 0 to no card
Card removed from ACS ACR122U PICC Interface 0
1
In windows, there is no problem. The problem is make android read the tag created with windows. I read something about NDEFS, maybe I have to use them. I am searching documentation to delphi vcl and NDEF. I found only to mobile app(firemonkey) and delphi.Luiz Alves

1 Answers

1
votes

Yes, you can read MIFARE Classic tags on the Galaxy S3.

The main problem is how your data on the tag is/should be interpreted. Most available Android apps will expect the tag to contain data in NFC Data Exchange Format (NDEF), a standardized data format for exchange over the NFC link. However, there is also some NFC tag analyzer tools (such as my NFC TagInfo app and NXP's TagInfo app) that can read abritrary raw data from tags. Since you use the default key (FF FF FF FF FF FF) as key A, these apps should be able to read the data.

You can also implement reading raw data in your own app using the MifareClassic tag technology class.

If you want to use the tag as NDEF tag, you would need format the data on your tag according to NXP's application notes

However, note that today many Android devices use NFC chipsets that do not support MIFARE Classic.