我在 Raspberry Pi 3B 上使用 libnfc 尝试从 PN532 读卡器读取数据时遇到问题。我按照官方网站的建议安装了 libnfc,事实上今天早上一切都正常了。我能够使用nfc-list
和nfc-scan-device
命令检测到我的设备。
然后我尝试运行一个 C 程序(不是我做的,而是由公司里的一个人做的),它成功了。再次运行它,它没有成功,但返回了一个错误。尝试运行 nfc-list 命令,它返回了相同的错误。从那时起,看起来 libnfc 库停止正常工作了。
这些是我尝试运行某些命令时遇到的错误:
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
搜索了很多,但没有找到任何有用的东西。谢谢。
答案1
我遇到过类似的问题,但我无法正确阅读说明。;-) 如果你有这设备,那么请记住,您已正确配置了跳线。由于您的日志显示您使用的是 i2c,这意味着您必须将跳线“1”切换为“开”,将跳线“2”切换为“关”。如果您还没有这样做,您必须重新启动(关机)您的 pi。