Issue 287 in libnfc: libnfc tries to access a smartcard reader

88 views
Skip to first unread message

lib...@googlecode.com

unread,
Feb 6, 2015, 6:36:37 AM2/6/15
to libnfc...@googlegroups.com
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 287 by kirelagin: libnfc tries to access a smartcard reader
https://code.google.com/p/libnfc/issues/detail?id=287

I have and ACR38U-I1 reader
(http://www.acs.com.hk/en/products/4/acr38-smart-card-reader/) which of
course has nothing to do with NFC. The problem is that libnfc is trying to
interact with it:

~~~~
› nfc-scan-device -v
nfc-scan-device uses libnfc 1.7.1
1 NFC device(s) found:
error libnfc.driver.acr122_usb Invalid RDR_to_PC_DataBlock frame
error libnfc.driver.acr122_usb PN532 init failed, trying again...
error libnfc.driver.acr122_usb Invalid RDR_to_PC_DataBlock frame
error libnfc.driver.acr122_usb PN532 init failed, trying again...
error libnfc.driver.acr122_usb Invalid RDR_to_PC_DataBlock frame
nfc_open failed for acr122_usb:004:017
~~~~

That’s not a huge deal, but there is another problem. Since those devices
seem to have the same VID and PID, udev rules shipped with libnfc also
match this cardreader, which I definitely don’t want to happen.

Is it possible to have more precise matching at least in the udev rules?

~~~~
P: /devices/pci0000:00/0000:00:1a.1/usb4/4-2
N: bus/usb/004/014
E: BUSNUM=004
E: DEVNAME=/dev/bus/usb/004/014
E: DEVNUM=014
E: DEVPATH=/devices/pci0000:00/0000:00:1a.1/usb4/4-2
E: DEVTYPE=usb_device
E: DRIVER=usb
E: ID_BUS=usb
E: ID_FOR_SEAT=usb-pci-0000_00_1a_1-usb-0_2
E: ID_MODEL=CCID_USB_Reader
E: ID_MODEL_ENC=CCID\x20USB\x20Reader
E: ID_MODEL_FROM_DATABASE=ACR38 SmartCard Reader
E: ID_MODEL_ID=90cc
E: ID_NFC=1
E: ID_PATH=pci-0000:00:1a.1-usb-0:2
E: ID_PATH_TAG=pci-0000_00_1a_1-usb-0_2
E: ID_REVISION=0100
E: ID_SERIAL=ACS_CCID_USB_Reader
E: ID_USB_INTERFACES=:0b0000:
E: ID_VENDOR=ACS
E: ID_VENDOR_ENC=ACS
E: ID_VENDOR_FROM_DATABASE=Advanced Card Systems, Ltd
E: ID_VENDOR_ID=072f
E: MAJOR=189
E: MINOR=397
E: PCSCD=1
E: PRODUCT=72f/90cc/100
E: SUBSYSTEM=usb
E: TAGS=:seat:uaccess:
E: TYPE=0/0/0
E: USEC_INITIALIZED=55996572185
~~~~

--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

lib...@googlecode.com

unread,
Feb 6, 2015, 7:16:46 AM2/6/15
to libnfc...@googlegroups.com

Comment #1 on issue 287 by ludovic....@gmail.com: libnfc tries to access a
smartcard reader
https://code.google.com/p/libnfc/issues/detail?id=287

You should complain to ACS so they do NOT use the same product ID for all
their USB devices. This is stupid.

The solution is to unplug your ACR38 reader when you want to use libnfc.

lib...@googlecode.com

unread,
Feb 6, 2015, 8:26:12 AM2/6/15
to libnfc...@googlegroups.com

Comment #2 on issue 287 by kirelagin: libnfc tries to access a smartcard
reader
https://code.google.com/p/libnfc/issues/detail?id=287

I totally agree that this is completely stupid. But the udev rules are a
real problem right now. Is there really no way to tell them apart in the
udev rule?
Reply all
Reply to author
Forward
0 new messages