ePassport reading with elechouse PN532 v4

166 Views Asked by At

I have an elechouse PN532 v4 module. From specs and other posts (1, 2, 3) it should be possible to read ePassport with PN532, but if I run a nfc-poll that comes with libnfc it doesn't detect my card. The ePassport reading app on my android phone reads the cards without a problem. Any suggestions? Modulation/baud rate settings maybe wrong?..

1

There are 1 best solutions below

0
Papyrus On

I will submit I've not had much libnfc experience but since you nudged me on that other thread I'll take a stab here mostly based on my knowledge of the PN532 specification.

I'd imagine eliminating all modulations except NMT_ISO14443A and NMT_ISO14443B would help. Just NMT_ISO14443A alone would be best though (see note below.) Though technically MRTDs can support either A or B type modulation, the PN532's type B performance is abysmal anyway so it will never support those MRTDs. Removing all but NMT_ISO14443A would probably prevent a duty cycle that switches between the different modulations. Depending on the implementation details of this duty cycle it may be interfering with libnfc's ability to detect the MRTD.

If your MRTD/Passport happens to be an ISO14443 type B then it should still be detected assuming a well tuned/matched antenna. In this case use just NMT_ISO14443B in the modulations. The PN532 will still detect an ISO14443B tag, but when you try to transceive data the result will be a fail because of the poor performance

This brings me to the hardware you're using. Though I've never used that breakout board, I've experimented with hardware layouts that attempt to place the PN532 inside the antenna coil like shown the photo of the board. I found that layout design, despite efforts to match/tune the antenna, resulted in poor performance. I would recommend you connect this one instead, and you'll have better results.