[Pcsclite-muscle] pccs-lite 1.8.xx on Solaris 11

William To william.to at erg.com.hk
Wed May 18 07:43:07 UTC 2016


Hi All,

I have done the crazy thing of adding the vendor/product ID and human
readable name to the Info.plist file and attempted to perform read/write on
the card inserted to the smart card reader, and here is what I got:

0000072 winscard_svc.c:290:() Thread is started: dwClientID=4,
threadContext @808E288
00000036 winscard_svc.c:308:() Received command: CMD_VERSION from client 4
00000024 winscard_svc.c:324:() Client is protocol version 4:0
00000021 winscard_svc.c:349:() CMD_VERSION rv=0x0 for client 4
00000072 winscard_svc.c:308:() Received command: ESTABLISH_CONTEXT from
client 4
00000029 winscard.c:218:() Establishing Context: 0x1034607
00000021 winscard_svc.c:405:() ESTABLISH_CONTEXT rv=0x0 for client 4
00000095 winscard_svc.c:308:() Received command: CMD_GET_READERS_STATE from
client 4
00000240 winscard_svc.c:308:() Received command: CONNECT from client 4
00000027 winscard.c:278:() Attempting Connect to Identive CLOUD 2700 R
Smart Card Reader (21121226200082) 00 00 using protocol: 3
00000023 ATR: 3B BE 96 00 00 41 05 20 00 00 00 00 00 00 00 00 00 90 00
00000021 atrhandler.c:102:() Conv: 01, Y1: 0B, K: 0E
00000021 atrhandler.c:119:() TA1: 96, TB1: 00, TC1: FFFFFFFF, TD1: 00
00000019 atrhandler.c:153:() T=0 Protocol Found
00000019 atrhandler.c:248:() CurrentProtocol: 1, AvailableProtocols: 1
00000020 ATR: 3B BE 96 00 00 41 05 20 00 00 00 00 00 00 00 00 00 90 00
00000020 atrhandler.c:102:() Conv: 01, Y1: 0B, K: 0E
00000021 atrhandler.c:119:() TA1: 96, TB1: 00, TC1: FFFFFFFF, TD1: 00
00000018 atrhandler.c:153:() T=0 Protocol Found
00000021 atrhandler.c:248:() CurrentProtocol: 1, AvailableProtocols: 1
00000019 prothandler.c:127:() Attempting PTS to T=0
00000028 ifdhandler.c:673:() protocol T=0,
usb:04e6/5810:libusb:/dev/usb:4e6.5810/0 (lun: 0)
00009888 winscard.c:423:() Active Protocol: T=0
00000039 winscard.c:444:() hCard Identity: 1d223
00000023 winscard_svc.c:447:() CONNECT rv=0x0 for client 4
00000156 winscard_svc.c:308:() Received command: GET_ATTRIB from client 4
00000053 ifdhandler.c:394:() tag: 0x90303,
usb:04e6/5810:libusb:/dev/usb:4e6.5810/0 (lun: 0)
00000033 winscard_svc.c:720:() GET_ATTRIB rv=0x0 for client 4
00000135 winscard_svc.c:308:() Received command: TRANSMIT from client 4
00000050 winscard.c:1636:() Send Protocol: T=0
00000019 ifdhandler.c:1264:() usb:04e6/5810:libusb:/dev/usb:4e6.5810/0
(lun: 0)
00006547 winscard_svc.c:647:() TRANSMIT rv=0x0 for client 4
00000170 winscard_svc.c:308:() Received command: TRANSMIT from client 4
00000053 winscard.c:1636:() Send Protocol: T=0
00000026 ifdhandler.c:1264:() usb:04e6/5810:libusb:/dev/usb:4e6.5810/0
(lun: 0)
00003730 winscard_svc.c:647:() TRANSMIT rv=0x0 for client 4
00000196 winscard_svc.c:308:() Received command: TRANSMIT from client 4
00000056 winscard.c:1636:() Send Protocol: T=0
00000024 ifdhandler.c:1264:() usb:04e6/5810:libusb:/dev/usb:4e6.5810/0
(lun: 0)
00087784 winscard_svc.c:647:() TRANSMIT rv=0x0 for client 4
00000251 winscard_svc.c:308:() Received command: TRANSMIT from client 4
00000033 winscard.c:1636:() Send Protocol: T=0
00000023 ifdhandler.c:1264:() usb:04e6/5810:libusb:/dev/usb:4e6.5810/0
(lun: 0)
*00015668 commands.c:1364:() overrun by 26 bytes*
00000101 winscard_svc.c:647:() TRANSMIT rv=0x80100008 for client 4
00000435 winscard_svc.c:308:() Received command: DISCONNECT from client 4
00000034 winscard.c:848:() Active Contexts: 1
00000025 winscard_svc.c:487:() DISCONNECT rv=0x0 for client 4
00000089 winscard_svc.c:308:() Received command: RELEASE_CONTEXT from
client 4
00000041 winscard.c:229:() Releasing Context: 0x1034607
00000025 winscard_svc.c:421:() RELEASE_CONTEXT rv=0x0 for client 4
00000062 winscard_svc.c:301:() Client die: 4
00000040 winscard_svc.c:948:() Thread is stopping: dwClientID=4,
threadContext @808E288
00000022 winscard_svc.c:956:() Freeing SCONTEXT @808E288
20105953 pcscdaemon.c:649:() Received signal: 2

There is overrun by 26 bytes and the receive operation failed.

Regards

William To




On Wed, May 18, 2016 at 2:40 PM, William To <william.to at erg.com.hk> wrote:

> Hi All,
>
> This is  is the output from ./src/parse for the reader I have on hand now:
>
>
>  idVendor: 0x04E6
>   iManufacturer: Identive
>  idProduct: 0x5810
>   iProduct: CLOUD 2700 R Smart Card Reader
>  bcdDevice: 0.15 (firmware release?)
>  bLength: 9
>  bDescriptorType: 4
>  bInterfaceNumber: 0
>  bAlternateSetting: 0
>  bNumEndpoints: 3
>   bulk-IN, bulk-OUT and Interrupt-IN
>  bInterfaceClass: 0x0B [Chip Card Interface Device Class (CCID)]
>  bInterfaceSubClass: 0
>  bInterfaceProtocol: 0
>   bulk transfer, optional interrupt-IN (CCID)
>  iInterface: CCID Interface
>  CCID Class Descriptor
>   bLength: 0x36
>   bDescriptorType: 0x21
>   bcdCCID: 1.10
>   bMaxSlotIndex: 0x00
>   bVoltageSupport: 0x07
>    5.0V
>    3.0V
>    1.8V
>   dwProtocols: 0x0000 0x0003
>    T=0
>    T=1
>   dwDefaultClock: 4.800 MHz
>   dwMaximumClock: 16.000 MHz
>   bNumClockSupported: 0 (will use whatever is returned)
>    IFD does not support GET CLOCK FREQUENCIES request: I/O error
>   dwDataRate: 12903 bps
>   dwMaxDataRate: 600000 bps
>   bNumDataRatesSupported: 0 (will use whatever is returned)
>    IFD does not support GET_DATA_RATES request: I/O error
>   dwMaxIFSD: 254
>   dwSynchProtocols: 0x00000000
>   dwMechanical: 0x00000000
>    No special characteristics
>   dwFeatures: 0x000404BA
>    ....02 Automatic parameter configuration based on ATR data
>    ....08 Automatic ICC voltage selection
>    ....10 Automatic ICC clock frequency change according to parameters
>    ....20 Automatic baud rate change according to frequency and Fi, Di
> params
>    ....80 Automatic PPS made by the CCID
>    ..04.. Automatic IFSD exchange as first exchange (T=1)
>    04.... Short and Extended APDU level exchange
>   dwMaxCCIDMessageLength: 271 bytes
>   bClassGetResponse: 0xFF
>    echoes the APDU class
>   bClassEnveloppe: 0xFF
>    echoes the APDU class
>   wLcdLayout: 0x0000
>   bPINSupport: 0x00
>   bMaxCCIDBusySlots: 1
>
>
> I don't know whether it is only adding the USB vendor/product ID set to
> the Info.plist or large parts of the code would need to be backported just
> to support a new reader.
>
> Thanks very much and Best Regards
>
> William To
>
>
>
> On Wed, May 18, 2016 at 2:23 PM, William To <william.to at erg.com.hk> wrote:
>
>> Hi All,
>>
>> Unfortunately my project have code that must use Solaris so I have to
>> continue using it.
>>
>> However the card reader vendor I am working provided me with a reader
>> sample with vendor ID / product ID that is in the "should work" list. What
>> can I do to back port support of readers from ccid 1.4.xx to 1.3.xx, or is
>> that even possible (I know the ccid driver is revised and updated for a
>> good reason though).
>>
>> Regards
>>
>> Willia mTo
>>
>>
>>
>> On Mon, May 16, 2016 at 5:56 PM, Ludovic Rousseau <
>> ludovic.rousseau at gmail.com> wrote:
>>
>>>
>>>
>>> 2016-05-16 11:15 GMT+02:00 William To <william.to at erg.com.hk>:
>>>
>>>> Hi All,
>>>>
>>>> I also hit another brick wall on building ccid 1.4.21 as following:
>>>>
>>>> Using the configuration like this:
>>>> ./configure LIBUSB_CFLAGS=-I/usr/include LIBUSB_LIBS="-L/usr/lib -lusb"
>>>> --prefix=/usr/local PCSC_CFLAGS=-I/usr/local/include/PCSC
>>>> PCSC_LIBS="-L/usr/local/lib -lpcsclite"
>>>> --enable-usbdropdir=/usr/local/pcsc/drivers --disable-libusb
>>>>
>>>> I found that the ccid shared library was not built. Here are my output
>>>> from the console:
>>>>
>>>>
>>>> gmake[1]: Entering directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21'
>>>> Making all in readers
>>>> gmake[2]: Entering directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21/readers'
>>>> gmake[2]: Nothing to be done for 'all'.
>>>> gmake[2]: Leaving directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21/readers'
>>>> Making all in examples
>>>> gmake[2]: Entering directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21/examples'
>>>>   CC       scardcontrol-scardcontrol.o
>>>>   CC       scardcontrol-PCSCv2part10.o
>>>>   CCLD     scardcontrol
>>>> gmake[2]: Leaving directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21/examples'
>>>> Making all in contrib
>>>> gmake[2]: Entering directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21/contrib'
>>>> Making all in RSA_SecurID
>>>> gmake[3]: Entering directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21/contrib/RSA_SecurID'
>>>>   CC       RSA_SecurID_getpasswd-RSA_SecurID_getpasswd.o
>>>>   CCLD     RSA_SecurID_getpasswd
>>>> gmake[3]: Leaving directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21/contrib/RSA_SecurID'
>>>> gmake[3]: Entering directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21/contrib'
>>>> gmake[3]: Nothing to be done for 'all-am'.
>>>> gmake[3]: Leaving directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21/contrib'
>>>> gmake[2]: Leaving directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21/contrib'
>>>> Making all in src
>>>>
>>>>
>>>> *gmake[2]: Entering directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21/src'gmake[2]:
>>>> Nothing to be done for 'all'.*gmake[2]: Leaving directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21/src'
>>>> gmake[2]: Entering directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21'
>>>> gmake[2]: Leaving directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21'
>>>> gmake[1]: Leaving directory
>>>> '/export/home/wto/work/nwfb_bdc/sam-nwfb/prerequisites/ccid-1.4.21'
>>>>
>>>> I think it looks very strange when nothing is built under the src/
>>>> directory where the ccid source code resides. I wonder would that be caused
>>>> by not using the libusb library so the build disables the entire ccid
>>>> library?
>>>>
>>>
>>> You used --disable-libusb so the USB driver is not build.
>>> You have not used --enable-twinserial so the serial driver is not build
>>> either.
>>>
>>> You need to have a working libusb-1.0 in order to build my CCID driver
>>> for USB.
>>>
>>> I have no other option. Or maybe replace Solaris 11 by another operating
>>> system, like Debian GNU/Linux? :-)
>>>
>>> Bye
>>>
>>> --
>>>  Dr. Ludovic Rousseau
>>>
>>> _______________________________________________
>>> Pcsclite-muscle mailing list
>>> Pcsclite-muscle at lists.alioth.debian.org
>>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pcsclite-muscle/attachments/20160518/7e95d7f4/attachment.html>


More information about the Pcsclite-muscle mailing list