uTrust 4701 F读卡器无法被libnfc识别的技术问询
问题
使用uTrust 4701 F双界面读卡器读取Mifare Classic卡时,设备无法被libnfc识别,但能被pcsc_scan正常识别。
环境与操作细节
- 系统:Kali Linux
- libnfc源码安装命令:
./configure --with-drivers=all --prefix=/usr --sysconfdir=/etc make make install
- 已添加黑名单配置(
/etc/modprobe.d/nfc-blacklist.conf、/etc/modprobe.d/blacklist-libnfc.conf):
blacklist pn533_usb blacklist pn533 blacklist nfc
- lsusb识别到设备:
Bus 003 Device 005: ID 04e6:5724 SCM Microsystems, Inc. Identiv uTrust 4701 F Dual Interface Reader
关键命令输出
nfc-list输出
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 0 device(s) defined by user nfc-list uses libnfc 1.8.0 debug libnfc.general 0 device(s) found using acr122_usb driver debug libnfc.general 0 device(s) found using pn53x_usb driver No NFC device found.
pcsc_scan核心输出
PC/SC device scanner V 1.6.2 (c) 2001-2022, Ludovic Rousseau <ludovic.rousseau@free.fr> Using reader plug'n play mechanism Scanning present readers... 0: Identiv Identiv uTrust 4701 F Dual Interface Reader [uTrust 4701 F Contact Reader] (55041707200298) 00 00 1: Identiv Identiv uTrust 4701 F Dual Interface Reader [uTrust 4701 F CL Reader] (55041707200298) 01 00 # 插入Mifare Classic卡后 Reader 1: Identiv Identiv uTrust 4701 F Dual Interface Reader [uTrust 4701 F CL Reader] (55041707200298) 01 00 Event number: 1 Card state: Card inserted, ATR: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 01 00 00 00 00 6A Possibly identified card: MIFARE Classic 1K (as per PCSC std part3) NXP/Philips MIFARE Classic 1K (as per PCSC std part3)
原因与解决方法
核心原因
uTrust 4701 F是纯PC/SC合规读卡器,不支持libnfc默认的底层NFC驱动(如pn53x_usb、acr122_usb),仅通过PC/SC接口提供NFC访问能力。而你当前安装的libnfc未启用PC/SC桥接驱动,因此无法识别该设备。
解决步骤
安装libnfc的PC/SC驱动组件
- 若使用Kali官方包管理:
sudo apt install libnfc-pcsc - 若坚持源码编译libnfc,需重新配置编译参数:
./configure --with-drivers=pcsc --prefix=/usr --sysconfdir=/etc make clean make sudo make install
- 若使用Kali官方包管理:
配置libnfc绑定PC/SC读卡器
创建或编辑/etc/nfc/libnfc.conf,添加以下内容(注意读卡器名称需与pcsc_scan输出完全匹配):allow_autoscan = true allow_intrusive_scan = false device.name = "uTrust 4701 F CL Reader" device.connstring = "pcsc://Identiv Identiv uTrust 4701 F Dual Interface Reader [uTrust 4701 F CL Reader]"重启服务并验证
重启PC/SC服务释放设备占用:sudo systemctl restart pcscd再次执行
nfc-list,此时应能识别到读卡器及Mifare卡片。
额外检查项
- 确保黑名单内核模块已卸载:
sudo rmmod pn533_usb pn533 nfc - 若仍无法识别,建议升级libnfc到最新稳定版,旧版本(如1.8.0)对PC/SC驱动的兼容性较差。
内容的提问来源于stack exchange,提问作者Ciro Vitulazio
相关产品推荐
相关产品推荐

