According to Apple documentation Mifare Classic tags are not supported explicitly. Apps like NFC Tools do not react on iPhone. Is it hardware restriction or this tag type can be read by some special low-level commands?
CodePudding user response:
The Mifare Classic ist not supported by the NFC standard. They work on Android phones, which use the NFC protocol stack from NXP, because NXP added the support for Myfare Classic.
The structure of that chip is different fom other RFID chips, which requires a different protocol in the software.
CodePudding user response:
The Mifare Classic Cards use some proprietary standards and don't conform to the full NFC standards.
The picture gives a better understand of how things fit together (Mifare Classics are in the "Mifare Std 1k/4k" column).
So iOS does support reading/writing Mifare Classics in some fashion because they are also Standard NfcA cards as well, which iOS does support under the Mifare Unknown Identifier but you have to do a lot of the work yourself to send it the right commands via NfcA.
On Android the support for Mifare Classics is defined as "Optional" and there are a number of phones that don't use NXP hardware and don't support this "Optional" feature from https://developer.android.com/reference/android/nfc/tech/MifareClassic
Implementation of this class on a Android NFC device is optional. If it is not implemented, then MifareClassic will never be enumerated in Tag#getTechList. If it is enumerated, then all MifareClassic I/O operations will be supported, and Ndef#MIFARE_CLASSIC NDEF tags will also be supported. In either case, NfcA will also be enumerated on the tag, because all MIFARE Classic tags are also NfcA.