Re: pccs-lite 1.8.xx on Solaris 11

William To <[email protected]>
Newsgroups gmane.comp.lib.muscle
Message-ID <CAA9EAxXCqLaAGVzSkAXFPPhicegAoYw3EZaU5eyK5A8On7wd1w@mail.gmail.com>
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 <[email protected]> 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 <[email protected]> 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 <
>> [email protected]> wrote:
>>
>>>
>>>
>>> 2016-05-16 11:15 GMT+02:00 William To <[email protected]>:
>>>
>>>> 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
>>> [email protected]
>>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle
>>>
>>
>>
>

_______________________________________________
Pcsclite-muscle mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.