1
\$\begingroup\$

I'm writing an stm32 driver for the NXP MFRC522 ISO14443A PCD but cannot get it to talk to DESFIRE cards.

My code will correctly identify both Mifare Classic (4-byte) and NTAG203F (7-byte) PICCs and it can correctly read the contents of an NTAG203, so I'm confident that the analogue layer is probably right and that I have the cascading anti-collision protocol close enough to correct to select a single card. I'm using one of those $5 eBay MFRC522 boards with a PCB antenna that's about 32x35mm square, 4 loops.

However when I present it with a DESFIRE card, there is no reply to REQA or WUPA. For lack of ATQA, the code doesn't begin the anticollision process, it just thinks there is no PICC present and keeps on REQA-polling at a few Hz.

My android can talk to the DESFIRE cards (MF3ICD81) with no issues, so the problem must be with my system. Likewise our local bus passes are DESFIRE and can be detected by an android but they do not respond to REQA from my system.

Does anyone know if there is any manner in which DESFIRE cards need to be treated differently, e.g. modulation settings or something (I have set the "Force 100% ASK" bit)? Any common pitfalls?

\$\endgroup\$
1
\$\begingroup\$

It would seem that the antenna matching filter is improperly designed, resulting in the transfer of insufficient power to boot a DESFIRE card from one of these cheap eBay modules.

According to the links I posted above, it seems that a few people have successfully modified the cheap MFRC522 boards to successfully communicate with DESFIRE cards, by replacing capacitors and/or inductors in the filter. I haven't verified that for myself.

\$\endgroup\$
  • \$\begingroup\$ further, these cheap boards are not capable of powering up an NFC Ring from the 2015 kickstarter. The rings use the same NTAG203 chip that the board will happily read with a 25mm antenna, so it really does seem to be a power-coupling issue, what with the ring having a much smaller antenna. \$\endgroup\$ – William Brodie-Tyrrell Jan 7 '16 at 1:45

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.