<div dir="ltr">Hi All, <div><br></div><div>I know this may not be the best place to ask, but I am really exhausted from trying to find information from Google and Oracle about their pcsc-lite on Solaris 11.</div><div><br></div><div>What I have now is a Solaris 11 box with a PC/SC reader (SCM SCR-331 DI) attached to the USB port. My intention is to access a smart card using PC/SC using the locally attached reader on the USB port. </div><div><br></div><div>I have downloaded the Solaris PCSC_lite_1.3 and CCID_IFD_1.3.10 and set up according to Oracle's instructions (installing the packages etc.) After installing the packages I expected the rdrlist in the pcsctools directory would list out the locally installed reader, but what I got is "SCardEstablishContext error: Service not available." error message. I checked out the documentation and it means "the pcscd service is not started". I used "ps -ef | grep pcscd" and found the process.</div><div><br></div><div>I then launched the pcscd daemon in the foreground and found the message like this:</div><div><br></div><div><div>wto@solaris:~$ sudo /usr/lib/smartcard/pcscd -L -f -d DEBUG -a</div><div>Password: </div><div>validate.c:174:() PCSCLITE_LIB_DIR=/usr/lib/smartcard, argv[0]:pcscdValidate.so.1</div><div>debuglog.c:298:() Debug options: APDU</div><div>cfgfuncs.c:913:() launchMode............ LAUNCHER</div><div>cfgfuncs.c:913:() logLevel ............. DEBUG</div><div>cfgfuncs.c:913:() logType .............. STDERR</div><div>cfgfuncs.c:913:() logFile .............. <null></div><div>cfgfuncs.c:913:() baseDir .............. /var/run/pcscd</div><div>cfgfuncs.c:913:() instanceScript........ <null></div><div>cfgfuncs.c:913:() ifdPluginDir ......... <null></div><div>cfgfuncs.c:913:() pcscdPIDFile ......... /var/run/pcscd/pcscd.pid</div><div>cfgfuncs.c:913:() pcscConfigFile........ /etc/smartcard/pcscd.conf</div><div>cfgfuncs.c:913:() readerConfigFile...... <null></div><div>cfgfuncs.c:913:() netBindFile .......... <null></div><div>cfgfuncs.c:913:() pcscdMemMappedFile.... <null></div><div>cfgfuncs.c:913:() argv0 ................ /usr/lib/smartcard/pcscd</div><div>cfgfuncs.c:913:() transportType ........ SOCKET_INETV4</div><div>cfgfuncs.c:913:() portNbr .............. 5999</div><div>cfgfuncs.c:913:() dpyNbr ............... -1</div><div>cfgfuncs.c:913:() screenNbr ............ -1</div><div>cfgfuncs.c:913:() xHostIp .............. 255.255.255.255</div><div>cfgfuncs.c:913:() useMappedMemory....... FALSE</div><div>cfgfuncs.c:913:() runInForeground ...... TRUE</div><div>cfgfuncs.c:913:() apduDebug ............ FALSE</div><div>cfgfuncs.c:913:() verbose .............. 0</div><div>cfgfuncs.c:913:() portNbrWild .......... FALSE</div><div>cfgfuncs.c:913:() baseDirWild .......... FALSE</div><div>cfgfuncs.c:913:() useAuthentication..... TRUE</div><div>cfgfuncs.c:913:() instanceTimeout ...... 0</div><div>cfgfuncs.c:913:() statusPollRate ....... 400000</div><div>cfgfuncs.c:913:() fifoPingTimeout ...... 20</div><div>cfgfuncs.c:913:() relaunchThreshold .... 2</div><div>cfgfuncs.c:913:() relaunchInterval ..... 1</div><div>launcher.c:558:() Setup launcher signal handlers</div></div><div><br></div><div>When I tried to launch in "instance mode" I got the following error message:</div><div><br></div><div><div>wto@solaris:~$ sudo /usr/lib/smartcard/pcscd -I -f -d DEBUG -a</div><div>Password: </div><div>validate.c:174:() PCSCLITE_LIB_DIR=/usr/lib/smartcard, argv[0]:pcscdValidate.so.1</div><div>pcscdaemon.c:413:() pcscd PID=8983 logging...</div><div><br></div><div>debuglog.c:298:() Debug options: APDU</div><div>instance.c:101:() Initializing new instance: pcscd -I -x :0, pid=8983</div><div><br></div><div>instance.c:103:() Setup instance signal handlers</div><div>pargs: cannot examine 8872: no such process or core file</div><div>instance.c:146:() putenv(DISPLAY=:0)</div><div>instance.c:177:() Couldn't open fifo No such file or directory</div><div><br></div></div><div>When I tried to launch in "default mode" I got the following:</div><div><br></div><div><div>wto@solaris:~$ sudo /usr/lib/smartcard/pcscd -f -d DEBUG -a</div><div>validate.c:174:() PCSCLITE_LIB_DIR=/usr/lib/smartcard, argv[0]:pcscdValidate.so.1</div><div>debuglog.c:298:() Debug options: APDU</div><div>cfgfuncs.c:913:() launchMode............ DEFAULT</div><div>cfgfuncs.c:913:() logLevel ............. DEBUG</div><div>cfgfuncs.c:913:() logType .............. STDERR</div><div>cfgfuncs.c:913:() logFile .............. <null></div><div>cfgfuncs.c:913:() baseDir .............. /var/run/pcscd</div><div>cfgfuncs.c:913:() instanceScript........ <null></div><div>cfgfuncs.c:913:() ifdPluginDir ......... /usr/lib/smartcard/ifd-ccid.bundle</div><div>cfgfuncs.c:913:() pcscdPIDFile ......... /var/run/pcscd/pcscd.pid</div><div>cfgfuncs.c:913:() pcscConfigFile........ /etc/smartcard/pcscd.conf</div><div>cfgfuncs.c:913:() readerConfigFile...... /etc/smartcard/reader-Local.conf</div><div>cfgfuncs.c:913:() netBindFile .......... <null></div><div>cfgfuncs.c:913:() pcscdMemMappedFile.... <null></div><div>cfgfuncs.c:913:() argv0 ................ /usr/lib/smartcard/pcscd</div><div>cfgfuncs.c:913:() transportType ........ SOCKET_INETV4</div><div>cfgfuncs.c:913:() portNbr .............. 0</div><div>cfgfuncs.c:913:() dpyNbr ............... 0</div><div>cfgfuncs.c:913:() screenNbr ............ 0</div><div>cfgfuncs.c:913:() xHostIp .............. 127.0.0.1</div><div>cfgfuncs.c:913:() useMappedMemory....... FALSE</div><div>cfgfuncs.c:913:() runInForeground ...... TRUE</div><div>cfgfuncs.c:913:() apduDebug ............ FALSE</div><div>cfgfuncs.c:913:() verbose .............. 0</div><div>cfgfuncs.c:913:() portNbrWild .......... FALSE</div><div>cfgfuncs.c:913:() baseDirWild .......... FALSE</div><div>cfgfuncs.c:913:() useAuthentication..... TRUE</div><div>cfgfuncs.c:913:() instanceTimeout ...... 0</div><div>cfgfuncs.c:913:() statusPollRate ....... 400000</div><div>cfgfuncs.c:913:() fifoPingTimeout ...... 20</div><div>cfgfuncs.c:913:() relaunchThreshold .... 2</div><div>cfgfuncs.c:913:() relaunchInterval ..... 1</div><div>pcscdaemon.c:827:() Invalid reader config file:</div><div>/etc/smartcard/reader-Local.conf: No such file or directory</div><div>pcscdaemon.c:1054:() Cleaning per-instance files</div><div><br></div><div>pcscdaemon.c:838:() pcsc-lite 1.1 daemon ready.</div><div>hotplug_libusb.c:103:() HPReadBundleValues(): Drop Dir: /usr/lib/smartcard</div><div>hotplug_libusb.c:272:() Found matching USB device: /dev/usb:4e6.5111/0</div><div>hotplug_libusb.c:413:() Adding USB device: /dev/usb:4e6.5111/0</div><div>readerfactory.c:1105:() Attempting startup of SCM SCR 331-DI (901001B6) 00 00 using /usr/lib/smartcard/ifd-ccid.bundle/Contents/Solaris/libccid.so</div><div>readerfactory.c:976:() Loading IFD Handler 3.0</div><div>ifdhandler.c:1518:init_driver() Driver version: 1.3.10</div><div>ifdhandler.c:1530:init_driver() LogLevel: 0x0003</div><div>ifdhandler.c:1554:init_driver() DriverOptions: 0x0000</div><div>ifdhandler.c:87:IFDHCreateChannelByName() lun: 0, device: usb:04e6/5111:libusb:/dev/usb:4e6.5111/0</div><div>ccid_usb.c:238:OpenUSBByName() Manufacturer: Ludovic Rousseau (<a href="mailto:ludovic.rousseau@free.fr">ludovic.rousseau@free.fr</a>)</div><div>ccid_usb.c:248:OpenUSBByName() ProductString: Generic CCID driver</div><div>ccid_usb.c:254:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later version.</div><div>ccid_usb.c:410:OpenUSBByName() Found Vendor/Product: 04E6/5111 (SCM SCR 331-DI)</div><div>ccid_usb.c:412:OpenUSBByName() Using USB bus/device: /dev/usb/4e6.5111/0</div><div>ccid_usb.c:784:get_data_rates() IFD does not support GET_DATA_RATES request: I/O error</div><div>ifdhandler.c:117:IFDHCreateChannelByName() IFDHCreateChannelByName: OpenPortByName succeeded</div><div>ifdhandler.c:357:IFDHGetCapabilities() tag: 0xFAE, usb:04e6/5111:libusb:/dev/usb:4e6.5111/0 (lun: 0)</div><div>ifdhandler.c:404:IFDHGetCapabilities() Reader supports 2 slot(s)</div><div>ifdhandler.c:543:IFDHGetCapabilities() Returning *Length = 1</div><div>ifdhandler.c:550:IFDHGetCapabilities() Returning *Value = </div><div>ifdhandler.c:357:IFDHGetCapabilities() tag: 0xFAC, usb:04e6/5111:libusb:/dev/usb:4e6.5111/0 (lun: 0)</div><div>ifdhandler.c:543:IFDHGetCapabilities() Returning *Length = 1</div><div>ifdhandler.c:550:IFDHGetCapabilities() Returning *Value = </div><div>readerfactory.c:1105:() Attempting startup of SCM SCR 331-DI (901001B6) 00 01 using /usr/lib/smartcard/ifd-ccid.bundle/Contents/Solaris/libccid.so</div><div>readerfactory.c:822:() Warning library pointer not NULL</div><div>readerfactory.c:976:() Loading IFD Handler 3.0</div><div>ifdhandler.c:87:IFDHCreateChannelByName() lun: 1, device: usb:04e6/5111:libusb:/dev/usb:4e6.5111/0</div><div>ccid_usb.c:238:OpenUSBByName() Manufacturer: Ludovic Rousseau (<a href="mailto:ludovic.rousseau@free.fr">ludovic.rousseau@free.fr</a>)</div><div>ccid_usb.c:248:OpenUSBByName() ProductString: Generic CCID driver</div><div>ccid_usb.c:254:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later version.</div><div>ccid_usb.c:349:OpenUSBByName() Opening slot: 1</div><div>ifdhandler.c:117:IFDHCreateChannelByName() IFDHCreateChannelByName: OpenPortByName succeeded</div><div>ifdhandler.c:1099:IFDHPowerICC() action: PowerUp, usb:04e6/5111:libusb:/dev/usb:4e6.5111/0 (lun: 0)</div><div>12:47 Card ATR: 3B BE 96 00 00 41 05 20 00 00 00 00 00 00 00 00 00 90 00 </div><div>hotplug_libusb.c:272:() Found matching USB device: /dev/usb:4e6.5111/0</div><div>hotplug_libusb.c:286:() Refresh USB device: /dev/usb:4e6.5111/0</div><div>hotplug_libusb.c:272:() Found matching USB device: /dev/usb:4e6.5111/0</div><div>hotplug_libusb.c:286:() Refresh USB device: /dev/usb:4e6.5111/0</div><div>hotplug_libusb.c:272:() Found matching USB device: /dev/usb:4e6.511</div></div><div><br></div><div>But no matter what mode I launched the pcscd daemon, the rdrlist still returns "SCardEstablishContext error: Service not available."</div><div><br></div><div>What I don't understand is, does Solaris pcsc-lite actually support accessing an USB CCID reader attached locally to the box? If yes, what configuration am I missing?</div><div><br></div><div>Thanks very much and Best Regards</div><div><br></div><div>William To</div><div><br></div><div><br></div><div><br></div><div><br></div></div>