Search code examples
cnfcsmartcardrfidmifare

ISO14443-4(RATS) in mifare desfire


I'm trying to initial mifare desfire ev1 with my mfrc522 based reader.ISO14443-3 is done successfully and I select PICC successfully and read 7 byte UID and SAK correctly.As I know after completing anti-collision and select processes and receiving valid SAK(0x20) I must perform ISO14443-4 commands.Then I send RATS command to the PICC:

PCD->PICC RATS:  '0xE0','0x50','CRC_MSB','CRC_LSB'

but PICC does not answer with SAK(I receive nothing),actually seems buffer is not big enough.


Solution

  • ISO 14443-3 CRC_A is transmitted least-significant-byte-first (little-endian) -- see Annex B.

    The correct RATS should be:

    PCD->PICC RATS:  '0xE0','0x50','CRC_LSB','CRC_MSB'
    

    Which means:

    PCD->PICC RATS:  '0xE0','0x50','0xBC','0xA5'
    

    for your particular FSDI/CID.

    Good luck!