nfc-tools / libfreefare

A convenience API for NFC cards manipulations on top of libnfc.
Other
395 stars 106 forks source link

Fix GET_VERSION command for NTAG devices #124

Closed m3rcuriel closed 3 years ago

m3rcuriel commented 4 years ago

The spec claims that this is a 1-byte command, and testing on a PN532 via SPI validated that the one byte command is correct.

shannon commented 4 years ago

I just wanted to mention that I was having some trouble with libfreefare not classifying my tags as NTAG21x. NFCTools for android was working correctly so I knew it wasn't the tags themselves.

I tracked it down to the ntag21x_is_auth_supported check and the 60:00 command does seem to be the issue as that doesn't seem to be a valid command. This change fixes the issue for me.

*edit: just wanted to add that I am using PN532 via I2C.

DrSchottky commented 3 years ago

I can confirm I have the same issue, NTAG212 is detected as Mifare Ultralight by ACR122U. Fixed by reverting commit 5459806659d5f6aa0e7705b88c48775ea6c861a6

m3rcuriel commented 3 years ago

@smortex I can possibly find a scope to hook up and show you this change fixing the problem, or just link you the line in the spec.

Looks like @SloCompTech isn't on Github a lot?

Also @DrSchottky I don't think that's a good idea to revert--that just makes the build not fail on the bounds checking, whereas the problem was introduced in b2eca838c426b815e9a32cbfa80fa0284d62fde9 which also provided the entire NTAG 21x support.

smortex commented 3 years ago

@m3rcuriel thanks for the heads up