Package: pcscd Version: 1.8.15-1 Severity: normal Hello,
I'm trying to use my smart card reader, but pcscd segfaults while accessing the smart card. I'm not raising the importance of this bug because the problem could be the smart card reader IFD-handler and/or the SC driver. My card reader is an ACS ACR30U and I had to compile the handler from obsolete source code found on internet (ACR30U_PCSC_LINUX_1_0.zip). The handler seems to work. In attachment there is the 'pcscd -f -a -d' log with the following operations: 1. Connect the reader 2. Insert the card (Italian CNS from Actalis, IDProtect software) 3. Executing 'opensc-tool -n -v' The output of 3 is: Using reader with a card: ACS ACR 30u 00 00 Connecting to card in reader ACS ACR 30u 00 00... Using card driver Italian CNS. Failed to lock card: No readers found In system journal I found the line kernel: traps: pcscd[25750] general protection ip:7f391f84576e sp:7f391e58c7f8 error:0 in libc-2.21.so[7f391f7b5000+19a000] I also tried to install the IDProtect software supplied [1], but with no luck. I could not configure OpenSC to use the custom SC driver either (I don't know where I'm wrong). Thank you for you work. [1] http://sistemats1.sanita.finanze.it/wps/content/portale_tessera_sanitaria/sts_sanita/home/il+cittadino+e+la+tessera/come+si+attiva+la+cns/elenco+driver+tscns -- Alessio Gaeta -- System Information: Debian Release: stretch/sid APT prefers unstable APT policy: (500, 'unstable'), (101, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.3.0-1-amd64 (SMP w/8 CPU cores) Locale: LANG=it_IT.utf8, LC_CTYPE=it_IT.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages pcscd depends on: ii init-system-helpers 1.24 ii libacr38u [pcsc-ifd-handler] 1.7.11-1 ii libc6 2.21-6 ii libpcsclite1 1.8.15-1 ii libudev1 228-2+b1 ii lsb-base 9.20150917 pcscd recommends no packages. Versions of packages pcscd suggests: ii systemd 228-2+b1
00000000 debuglog.c:289:DebugLogSetLevel() debug level=debug 00000230 configfile.l:281:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d 00000035 configfile.l:315:DBGetReaderListDir() Skipping non regular file: . 00000006 configfile.l:353:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/libccidtwin 00000091 configfile.l:315:DBGetReaderListDir() Skipping non regular file: .. 00000015 pcscdaemon.c:567:main() pcsc-lite 1.8.15 daemon ready. 00004113 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001 00000099 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001 00000096 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/001/002 00000097 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x13D3, PID: 0x5710, path: /dev/bus/usb/001/003 00000093 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x13D3, PID: 0x5710, path: /dev/bus/usb/001/003 00000088 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/001/002 00000094 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x0BDA, PID: 0x0139, path: /dev/bus/usb/001/004 00000088 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/001/002 00000116 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001 00000083 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001 00000091 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002 00000091 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x046A, PID: 0x0003, path: /dev/bus/usb/002/028 00000096 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x0681, PID: 0x0010, path: /dev/bus/usb/002/029 00000088 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x046A, PID: 0x0003, path: /dev/bus/usb/002/028 00000095 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x076B, PID: 0x0596, path: /dev/bus/usb/002/030 00000089 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x046A, PID: 0x0003, path: /dev/bus/usb/002/028 00000094 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x046A, PID: 0x0001, path: /dev/bus/usb/002/031 00000088 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x046A, PID: 0x0003, path: /dev/bus/usb/002/028 00000087 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002 00000088 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x046D, PID: 0xC50E, path: /dev/bus/usb/002/004 00000085 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002 18057575 hotplug_libudev.c:648:HPEstablishUSBNotifications() USB Device add 00000182 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x072F, PID: 0x0001, path: /dev/bus/usb/002/033 00000011 hotplug_libudev.c:433:HPAddDevice() Adding USB device: ACS ACR 30u 00000061 readerfactory.c:1066:RFInitializeReader() Attempting startup of ACS ACR 30u 00 00 using /usr/lib/pcsc/drivers/acsAcr30.bundle/Contents/Linux/acsAcr30 00000084 dyn_unix.c:104:DYN_GetAddress() IFDHCreateChannelByName: /usr/lib/pcsc/drivers/acsAcr30.bundle/Contents/Linux/acsAcr30: undefined symbol: IFDHCreateChannelByName 00000007 readerfactory.c:919:RFBindFunctions() Loading IFD Handler 2.0 00000069 readerfactory.c:387:RFAddReader() Using the pcscd polling thread 00121403 eventhandler.c:286:EHStatusHandlerThread() powerState: POWER_STATE_POWERED 00000044 Card ATR: 3B FF 18 00 FF C1 0A 31 FE 55 00 6B 05 08 C8 0C 01 11 01 43 4E 53 10 31 80 05 00529094 eventhandler.c:479:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED 36337419 winscard_msg_srv.c:251:ProcessEventsServer() Common channel packet arrival 00000048 winscard_msg_srv.c:263:ProcessEventsServer() ProcessCommonChannelRequest detects: 5 00000006 pcscdaemon.c:132:SVCServiceRunLoop() A new context thread creation is requested: 5 00000153 winscard_svc.c:329:ContextThread() Authorized PC/SC client 00000018 winscard_svc.c:333:ContextThread() Thread is started: dwClientID=5, threadContext @0x10ac750 00000025 winscard_svc.c:351:ContextThread() Received command: CMD_VERSION from client 5 00000010 winscard_svc.c:363:ContextThread() Client is protocol version 4:3 00000006 winscard_svc.c:383:ContextThread() CMD_VERSION rv=0x0 for client 5 00000093 winscard_svc.c:351:ContextThread() Received command: ESTABLISH_CONTEXT from client 5 00000026 winscard.c:213:SCardEstablishContext() Establishing Context: 0x3D7059E0 00000004 winscard_svc.c:444:ContextThread() ESTABLISH_CONTEXT rv=0x0 for client 5 00000048 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 5 00000071 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 5 00000053 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 5 00000076 winscard_svc.c:351:ContextThread() Received command: CONNECT from client 5 00000015 winscard_svc.c:482:ContextThread() Authorized client for 'ACS ACR 30u 00 00' 00000018 winscard.c:255:SCardConnect() Attempting Connect to ACS ACR 30u 00 00 using protocol: 3 00000005 readerfactory.c:822:RFReaderInfo() RefReader() count was: 1 00106856 winscard.c:330:SCardConnect() power up complete. 00000046 Card ATR: 3B FF 18 00 FF C1 0A 31 FE 55 00 6B 05 08 C8 0C 01 11 01 43 4E 53 10 31 80 05 00000007 winscard.c:350:SCardConnect() powerState: POWER_STATE_INUSE 00000008 prothandler.c:108:PHSetProtocol() Attempting PTS to T=1 00000005 winscard.c:429:SCardConnect() Active Protocol: T=1 00000008 winscard.c:449:SCardConnect() hCard Identity: 39ef73c2 00000075 winscard.c:510:SCardConnect() UnrefReader() count was: 2 00000011 winscard_svc.c:496:ContextThread() CONNECT rv=0x0 for client 5 00000141 winscard_svc.c:351:ContextThread() Received command: CONTROL from client 5 00000019 readerfactory.c:849:RFReaderInfoById() RefReader() count was: 1 00000004 winscard.c:1370:SCardControl() UnrefReader() count was: 2 00000004 winscard_svc.c:701:ContextThread() CONTROL rv=0x80100004 for client 5 00000042 winscard_svc.c:351:ContextThread() Received command: DISCONNECT from client 5 00000011 readerfactory.c:849:RFReaderInfoById() RefReader() count was: 1 00000004 winscard.c:870:SCardDisconnect() Active Contexts: 1 00000003 winscard.c:871:SCardDisconnect() dwDisposition: 0 00000005 winscard.c:1036:SCardDisconnect() powerState: POWER_STATE_GRACE_PERIOD 00000003 winscard.c:1063:SCardDisconnect() UnrefReader() count was: 2 00000005 winscard_svc.c:533:ContextThread() DISCONNECT rv=0x0 for client 5 00000062 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 5 00000053 winscard_svc.c:351:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 5 00000034 winscard_svc.c:351:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 5 00000014 winscard_svc.c:425:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 5 00000040 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 5 00000101 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 5 00000044 winscard_svc.c:351:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 5 00000016 winscard_svc.c:351:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 5 00000010 winscard_svc.c:425:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 5 00000052 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 5 00000140 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 5 00000038 winscard_svc.c:351:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 5 00000016 winscard_svc.c:351:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 5 00000009 winscard_svc.c:425:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 5 00000031 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 5 00000062 winscard_svc.c:351:ContextThread() Received command: CONNECT from client 5 00000012 winscard_svc.c:482:ContextThread() Authorized client for 'ACS ACR 30u 00 00' 00000004 winscard.c:255:SCardConnect() Attempting Connect to ACS ACR 30u 00 00 using protocol: 3 00000003 readerfactory.c:822:RFReaderInfo() RefReader() count was: 1 00000004 winscard.c:350:SCardConnect() powerState: POWER_STATE_INUSE 00000003 winscard.c:429:SCardConnect() Active Protocol: T=1 00000015 winscard.c:449:SCardConnect() hCard Identity: 5408d931 00000006 winscard.c:510:SCardConnect() UnrefReader() count was: 2 00000016 winscard_svc.c:496:ContextThread() CONNECT rv=0x0 for client 5 00000371 winscard_svc.c:351:ContextThread() Received command: BEGIN_TRANSACTION from client 5 00000012 readerfactory.c:849:RFReaderInfoById() RefReader() count was: 1 00000005 winscard.c:1102:SCardBeginTransaction() Status: 0x00000000 00000003 winscard.c:1105:SCardBeginTransaction() UnrefReader() count was: 2 00000003 winscard_svc.c:548:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 5 00000047 winscard_svc.c:351:ContextThread() Received command: TRANSMIT from client 5 00000013 readerfactory.c:849:RFReaderInfoById() RefReader() count was: 1 00000017 winscard.c:1606:SCardTransmit() Send Protocol: T=1 00000014 APDU: 00 A4 04 00 0F D2 33 00 00 00 45 73 74 45 49 44 20 76 33 35