I have a problem with libnfc on a Raspberry Pi 3B trying to read data from a PN532 card reader. I installed libnfc as the official site suggest to do and in fact it all worked this morning. I was able to detect my device using the nfc-list
and nfc-scan-device
commands.
Then I tried to run a C program (not done by me, but done by a person here in the company) and it worked. Did it again and it didn't work, but returned an error. Tried to run the nfc-list command and it returned the same error. Since then, it looks like the libnfc library stopped working properly.
These are the errors I get when I try to run some commands:
nfc-list
:
nfc-list uses libnfc 1.7.1
error libnfc.bus.i2c Error: wrote only -1 bytes (10 expected).
error libnfc.driver.pn532_i2c Unable to transmit data. (TX)
pn53x_check_communication: Input / Output Error
error libnfc.bus.i2c Error: wrote only -1 bytes (10 expected).
error libnfc.driver.pn532_i2c Unable to transmit data. (TX)
nfc-list: ERROR: Unable to open NFC device: pn532_i2c:/dev/i2c-1
nfc-scan-device -v
:
nfc-scan-device uses libnfc 1.7.1
1 NFC device(s) found:
error libnfc.bus.i2c Error: wrote only -1 bytes (10 expected).
error libnfc.driver.pn532_i2c Unable to transmit data. (TX)
pn53x_check_communication: Input / Output Error
error libnfc.bus.i2c Error: wrote only -1 bytes (10 expected).
error libnfc.driver.pn532_i2c Unable to transmit data. (TX)
nfc_open failed for pn532_i2c:/dev/i2c-1
LIBNFC_LOG_LEVEL=3 nfc-list
:
debug libnfc.config key: [device.name], value: [PN532 over I2C]
debug libnfc.config key: [device.connstring], value: [pn532_i2c:/dev/i2c-1]
debug libnfc.config Unable to open directory: /etc/nfc/devices.d
debug libnfc.general log_level is set to 3
debug libnfc.general allow_autoscan is set to true
debug libnfc.general allow_intrusive_scan is set to false
debug libnfc.general 1 device(s) defined by user
debug libnfc.general #0 name: "PN532 over I2C", connstring: "pn532_i2c:/dev/i2c-1"
nfc-list uses libnfc 1.7.1
debug libnfc.general 0 device(s) found using acr122_usb driver
debug libnfc.general 0 device(s) found using pn53x_usb driver
debug libnfc.chip.pn53x Diagnose
debug libnfc.chip.pn53x Timeout value: 500
debug libnfc.chip.pn53x SAMConfiguration
debug libnfc.chip.pn53x Timeout value: 1000
debug libnfc.bus.i2c TX: 00 00 ff 03 fd d4 14 01 17 00
error libnfc.bus.i2c Error: wrote only -1 bytes (10 expected).
error libnfc.driver.pn532_i2c Unable to transmit data. (TX)
pn53x_check_communication: Input / Output Error
debug libnfc.chip.pn53x InRelease
debug libnfc.bus.i2c TX: 00 00 ff 03 fd d4 52 00 da 00
error libnfc.bus.i2c Error: wrote only -1 bytes (10 expected).
error libnfc.driver.pn532_i2c Unable to transmit data. (TX)
debug libnfc.general Unable to open "pn532_i2c:/dev/i2c-1".
nfc-list: ERROR: Unable to open NFC device: pn532_i2c:/dev/i2c-1
Searched a lot but didn't find anything useful. Thank you.
Have the same problem it was a problem on the circuit I believe. Taking it off and re putting it back solved the problem for me.