Error while setting the ST25DV64KC NFC password
Hello
We are currently using ST25DV64KC nfc-v tags in our products, and found a possible bug during production.
We set the NFC password in the last production step, using a self-developed android app (as, to my uderstanding, it cannot be done via i2C), via the 0xB1 command.
transceive( 0x02,0xB1,0x02, password_slot,8_bytes_password )Most of the time everything works, but there have been some occurences where the java transceive command failed, launching an exception. When this happens, upon inspection, the tag behaves as like badly programmed with an unknown password!!!
To my understanding, this should not be possible, as your protocol tranfers the password twice to avoid exactly this... and when this happens, the device is bricked as the RF pwd cannot be reset via I2C
Details from testing:
- This happens alot more with some phones. During testing, A Pixel 6a needed hundred of password writes before the password broke, while a Samsung A54 can almost surefire break it in a handful of tries
- Testing was done on both powered off (energy harvesting) and powered-on via vcc tags. In the latter, seems like the error incidence is lower, but still very possible.
- Reproduction of the bug was done by suddenly removing the phone while programming, and by sliding it parallel to the tag trying to edge the RF field.
Do you have any experience with this problem, and is there a way to limit the incidence? We develop our own tools and firmware, so is there anything we can do?
