Searching the web far and wide has me almost out of hope in making Samsung's Galaxy S4 phone read the Mifare CLassic chip through NFC. But does anyone know of any form of work-around, or is this strictly a result of the NFC hardware in this phone?


Unfortunately, the NFC technology in mobile devices is ever-so-slightly different from RFID tech, making most cards unreadable. I was trying for the longest time to read HID cards on my phone, but I could never make it work.

Some cards are readable, depending on the frequency in which they operate. I can't remember off the top of my head what those are, however. This app on Play will read all the cards that your NFC chip technologically is compatible with: NFC Tag Info

According to the developer, that app can read Mifare Classic cards.


No, the S4 can't read MIFARE Classic cards. The main problem is that NXP does not license the reader-side of its proprietary MIFARE Classic technology (specifically the use of the (broken) Crypto-1 algorithm) to other chip manufacturers. As a result, the Broadcom NFC controller inside the S4 does not support communication with such cards.

This alone would not be too difficult to circumvent. The Crypto-1 algorithm has been reverse-engineered and published, so it could easily be implemented in software within an Android app. However, the MIFARE Classic protocol does not fully comply to ISO/IEC 14443-3 (NFC-A) in that the authentication command uses a non-standard frame format. As a result, the communication facilities accessible on Android (the closest would be the NfcA tag technology, that requires adherence to ISO/IEC 14443-3 framing) can't be used to communicate with MIFARE Classic tags.

  • So the non-standard frame format is at a lower level than you can access via the Broadcom NFC hardware inside one of these devices? Just wondering whether this is an API limitation or a hardware compatibility issue. I'd be surprised if Broadcom didn't include a small workaround for so many popular non-standard cards to make their controllers more versatile. – Malvineous Sep 10 '14 at 0:13
  • Hard to tell without having access to the documentation of the NFC chip. It's at least an Android API limitation (NfcA will auto-append a CRC to each frame), but that limitation could just as well reach down to the NFC controller (if the NFC controller only implements the standards). – Michael Roland Sep 10 '14 at 5:03
  • There is a MifareClassic API interface, so maybe the fact that that is not implemented for Broadcom chips means it is a hardware limitation then. – Malvineous Sep 10 '14 at 9:56
  • Not necessarily. If a chip officially supports MIFARE Classic it will be likely that its software library also implements the MifareClassic tag technology. However, I doubt that this will happen for any non-NXP hardware due to legal reasons (as I wrote above, NXP does not currently license the reader-side to any other manufacturer). – Michael Roland Sep 10 '14 at 10:20
  • 1
    @JohnyTex Yubikey Neo uses standard ISO/IEC 14443-4 (i.e. ISO-DEP) so it will work just fine. There is no MIFARE Classic involved in typically Yubikey usecases. – Michael Roland Feb 22 '17 at 7:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.