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.