[Pcsclite-muscle] C3PO LTC31-v2 does not have a pinpad as reported by CCID
Ludovic Rousseau
ludovic.rousseau at free.fr
Sun Jan 21 04:18:20 PST 2018
Le 20/01/2018 à 18:09, Jose Ramon Alvarez-Sanchez a écrit :
> Hi,
Hello,
> I am using a C3PO LTC31-v2 card-reader. It does NOT have a pinpad,
> but the usb ccid reports it have one, so when trying to use a card,
> the software stops and waits for the inexistent pinpad to reply.
>
> My system is Debian testing with libccid package (version 1.4.28-2)
> and libpcsclite1, pcscd packages (version 1.8.23-1).
> The output of ccid parse for the reader is attached to this message.
> Some years ago it worked OK, but now something has changed, and the
> manufacturer does not exists any more.
>
> I have downloaded the git repository for CCID and modified it to add
> an exception for the card-reader, so it can ignore the false pinpad
> reported erroneously. After installing the modified ccid, it works OK.
>
> The modification was simply to add in src/ccid.h a new line
> in section "/* Product identification for special treatments */"
> (under the line for LTC31):
> #define LTC31_V20x07830006
> and to add in src/ccid.c a new line just before line 495 that
> says "/* The chip advertises pinpad but actually doesn't have one */":
> case LTC31_V2:
>
> If you want any other information, please do not hesitate to ask.
Thanks for the parse command result.
It looks like your firmware is *newer* (bcdDevice: 2.50 instead of 0.50) than the one in the reader listed at https://pcsclite.alioth.debian.org/ccid/supported.html#0x07830x0006
The reader listed above does NOT have the problem you report.
The diff is:
@@ -1,8 +1,8 @@
idVendor: 0x0783
iManufacturer: C3PO
idProduct: 0x0006
- iProduct: USB SMART CARD READER
- bcdDevice: 0.50 (firmware release?)
+ iProduct: USB SMARTCARD READER
+ bcdDevice: 2.50 (firmware release?)
bLength: 9
bDescriptorType: 4
bInterfaceNumber: 0
@@ -13,11 +13,11 @@
bInterfaceSubClass: 0
bInterfaceProtocol: 0
bulk transfer, optional interrupt-IN (CCID)
- iInterface: ?
+ Can't get iInterface string
CCID Class Descriptor
bLength: 0x36
bDescriptorType: 0x21
- bcdCCID: 1.00
+ bcdCCID: 1.01
bMaxSlotIndex: 0x00
bVoltageSupport: 0x01
5.0V
@@ -27,11 +27,11 @@
dwDefaultClock: 4.000 MHz
dwMaximumClock: 8.000 MHz
bNumClockSupported: 0 (will use whatever is returned)
- IFD does not support GET CLOCK FREQUENCIES request: Success
+ IFD does not support GET CLOCK FREQUENCIES request: Resource temporarily unavailable
dwDataRate: 9600 bps
dwMaxDataRate: 230400 bps
bNumDataRatesSupported: 0 (will use whatever is returned)
- IFD does not support GET_DATA_RATES request: Success
+ IFD does not support GET_DATA_RATES request: Resource temporarily unavailable
dwMaxIFSD: 254
dwSynchProtocols: 0x00000007
2-wire protocol
@@ -50,5 +50,7 @@
bClassGetResponse: 0x00
bClassEnvelope: 0x00
wLcdLayout: 0x0000
- bPINSupport: 0x00
+ bPINSupport: 0x03
+ PIN Verification supported
+ PIN Modification supported
bMaxCCIDBusySlots: 1
I fixed the problem in https://salsa.debian.org/rousseau/CCID/commit/a27a11711a9861acea3a9b43bba56ba157c670af
> Thanks for maintaining this essential software.
You are welcome.
Thanks,
--
Dr. Ludovic Rousseau
More information about the pcsclite-muscle
mailing list