Hi.
On Debian unstable with libccid 1.4.11-1 the following patch seems to be enough to make pcscd recognize my Lenovo USB Smartcard Keyboard (this one: * http://support.lenovo.com/en_US/product-and-parts/detail.page?&LegacyDocID=MIGR-72489 only mine is the Danish version, 51J0364), and to make it work: --- /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist.orig 2013-07-14 23:07:48.730199942 +0200 +++ /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist 2013-07-14 23:09:21.076233025 +0200 @@ -144,6 +144,7 @@ <string>0x0D46</string> <string>0x0D46</string> <string>0x17EF</string> + <string>0x17EF</string> <string>0x09BE</string> <string>0x076B</string> <string>0x076B</string> @@ -408,6 +409,7 @@ <string>0x3003</string> <string>0x3010</string> <string>0x1003</string> + <string>0x6007</string> <string>0x0002</string> <string>0x3021</string> <string>0xA022</string> @@ -672,6 +674,7 @@ <string>KOBIL KAAN SIM III</string> <string>KOBIL EMV CAP - SecOVID Reader III</string> <string>Lenovo Integrated Smart Card Reader</string> + <string>Lenovo USB Smartcard Keyboard</string> <string>MYSMART MySMART PAD V2.0</string> <string>OMNIKEY AG CardMan 3121</string> <string>Precise Biometrics Sense MC</string> Here is the output of running src/parse from ccid-1.4.11: idVendor: 0x17EF iManufacturer: Lenovo idProduct: 0x6007 iProduct: Lenovo USB Smartcard Keyboard bcdDevice: 1.11 (firmware release?) bLength: 9 bDescriptorType: 4 bInterfaceNumber: 1 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: Lenovo Keyboard Smartcard Reader CCID Class Descriptor bLength: 0x36 bDescriptorType: 0x21 bcdCCID: 1.10 bMaxSlotIndex: 0x00 bVoltageSupport: 0x01 5.0V dwProtocols: 0x0000 0x0003 T=0 T=1 dwDefaultClock: 4.800 MHz dwMaximumClock: 8.000 MHz bNumClockSupported: 0 (will use whatever is returned) Support 4800 kHz Support 6000 kHz Support 8000 kHz Support 12000 kHz dwDataRate: 12903 bps dwMaxDataRate: 307200 bps bNumDataRatesSupported: 0 (will use whatever is returned) Support 12903 bps Support 25806 bps Support 51613 bps Support 103226 bps Support 10753 bps Support 21505 bps Support 43011 bps Support 86022 bps dwMaxIFSD: 252 dwSynchProtocols: 0x00000000 dwMechanical: 0x00000001 Card accept mechanism dwFeatures: 0x000100BA ....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 01.... TPDU level exchange dwMaxCCIDMessageLength: 271 bytes bClassGetResponse: 0xFF echoes the APDU class bClassEnvelope: 0xFF echoes the APDU class wLcdLayout: 0x0000 bPINSupport: 0x03 PIN Verification supported PIN Modification supported bMaxCCIDBusySlots: 1 I have a vague memory that it used to work out of the box back in 2011 (and a note http://www.koldfront.dk/archive/2011/03/09-224731.html to support that :-)) I hope this information is useful; thanks for ccid! Best regards, Adam -- "I do not find reading diffs in email to be a Adam Sjøgren hardship, but I used to walk uphill both ways to [email protected] school, so I dunno." _______________________________________________ Muscle mailing list [email protected] http://lists.musclecard.com/mailman/listinfo/muscle_lists.musclecard.com
