Difference between revisions of "Lenovo Integrated Smart Card Reader"
 (→pcsclite's libccid driver)  | 
				 (switched categorization)  | 
				||
| (12 intermediate revisions by 7 users not shown) | |||
| Line 5: | Line 5: | ||
=== Features ===  | === Features ===  | ||
| − | + | The smartcard reader can be used as an additional level of security, such that the user needs to put in his card (typically his badge), and provide a password.  | |
| − | + | ||
| + | In addition it can also be used with other [https://en.wikipedia.org/wiki/Electronic_identity_card Electronic identity cards] such as the Belgium eID.  | ||
| + | |||
| + | More information about smartcards in general can be found at [https://en.wikipedia.org/wiki/Smart_card Wikipedia]  | ||
* Interface: USB  | * Interface: USB  | ||
</div>  | </div>  | ||
| Line 19: | Line 22: | ||
For Ubuntu (9.04, Jaunty Jackalope) users, a simple "sudo apt-get install libccid" is enough to get  | For Ubuntu (9.04, Jaunty Jackalope) users, a simple "sudo apt-get install libccid" is enough to get  | ||
the reader working.  | the reader working.  | ||
| + | [http://packages.ubuntu.com/jaunty/libccid] - Infos about the Ubuntu libccid package  | ||
=== This chip may be found in ===  | === This chip may be found in ===  | ||
| + | USBID 17ef:1003 ChipsBnk  | ||
* {{T61}}  | * {{T61}}  | ||
| + | USBID ???  | ||
| + | * {{T400}}  | ||
| + | USBID 17ef:1003  | ||
| + | * {{T410}}  | ||
| + | * {{T420s}}  | ||
| + | * {{T430}}  | ||
| + | USBID 058f:9540 Alcor Micro Corp.  | ||
| + | * {{T450}}  | ||
=== Identification ===  | === Identification ===  | ||
| Line 59: | Line 72: | ||
        bInterfaceClass        11 Chip/SmartCard  |         bInterfaceClass        11 Chip/SmartCard  | ||
  [[..]]  |   [[..]]  | ||
| − | [[Category:  | + | |
| + | And in my T410 it looks like this:  | ||
| + | |||
| + |  Bus 002 Device 004: ID 17ef:1003 Lenovo   | ||
| + |  Device Descriptor:  | ||
| + |    bLength                18  | ||
| + |    bDescriptorType         1  | ||
| + |    bcdUSB               2.00  | ||
| + |    bDeviceClass            0 (Defined at Interface level)  | ||
| + |    bDeviceSubClass         0   | ||
| + |    bDeviceProtocol         0   | ||
| + |    bMaxPacketSize0         8  | ||
| + |    idVendor           0x17ef Lenovo  | ||
| + |    idProduct          0x1003   | ||
| + |    bcdDevice            1.00  | ||
| + |    iManufacturer           1 Lenovo  | ||
| + |    iProduct                2 Integrated Smart Card Reader  | ||
| + |    iSerial                 0   | ||
| + |    bNumConfigurations      1  | ||
| + |    Configuration Descriptor:  | ||
| + |      bLength                 9  | ||
| + |      bDescriptorType         2  | ||
| + |      wTotalLength           93  | ||
| + |      bNumInterfaces          1  | ||
| + |      bConfigurationValue     1  | ||
| + |      iConfiguration          0   | ||
| + |      bmAttributes         0xa0  | ||
| + |        (Bus Powered)  | ||
| + |        Remote Wakeup  | ||
| + |      MaxPower              100mA  | ||
| + |      Interface Descriptor:  | ||
| + |        bLength                 9  | ||
| + |        bDescriptorType         4  | ||
| + |        bInterfaceNumber        0  | ||
| + |        bAlternateSetting       0  | ||
| + |        bNumEndpoints           3  | ||
| + |        bInterfaceClass        11 Chip/SmartCard  | ||
| + |        bInterfaceSubClass      0   | ||
| + |        bInterfaceProtocol      0   | ||
| + |        iInterface              0   | ||
| + |        ** UNRECOGNIZED:  36 21 00 01 00 07 03 00 00 00 a0 0f 00 00 a0 0f 00 00 00 00 2a 00 00 20 a1 07 00 00 fe 00 00  00 00 00 00 00 00 00 00 00 30 02 01 00 0f 01 00 00 00 00 00 00 00 01   | ||
| + |  [[..]]  | ||
| + | |||
| + | And in T430 it looks like this:  | ||
| + | |||
| + |  Bus 001 Device 003: ID 17ef:1003 Lenovo Integrated Smart Card Reader  | ||
| + |   Device Descriptor:  | ||
| + |   bLength                18  | ||
| + |   bDescriptorType         1  | ||
| + |   bcdUSB               2.00  | ||
| + |   bDeviceClass            0 (Defined at Interface level)  | ||
| + |   bDeviceSubClass         0   | ||
| + |   bDeviceProtocol         0   | ||
| + |   bMaxPacketSize0         8  | ||
| + |   idVendor           0x17ef Lenovo  | ||
| + |   idProduct          0x1003 Integrated Smart Card Reader  | ||
| + |   bcdDevice            1.00  | ||
| + |   iManufacturer           1 Lenovo  | ||
| + |   iProduct                2 Integrated Smart Card Reader  | ||
| + |   iSerial                 0   | ||
| + |   bNumConfigurations      1  | ||
| + |   Configuration Descriptor:  | ||
| + |     bLength                 9  | ||
| + |     bDescriptorType         2  | ||
| + |     wTotalLength           93  | ||
| + |     bNumInterfaces          1  | ||
| + |     bConfigurationValue     1  | ||
| + |     iConfiguration          0   | ||
| + |     bmAttributes         0xa0  | ||
| + |       (Bus Powered)  | ||
| + |       Remote Wakeup  | ||
| + |     MaxPower              100mA  | ||
| + |     Interface Descriptor:  | ||
| + |       bLength                 9  | ||
| + |       bDescriptorType         4  | ||
| + |       bInterfaceNumber        0  | ||
| + |       bAlternateSetting       0  | ||
| + |       bNumEndpoints           3  | ||
| + |       bInterfaceClass        11 Chip/SmartCard  | ||
| + |       bInterfaceSubClass      0   | ||
| + |       bInterfaceProtocol      0   | ||
| + |       iInterface              0   | ||
| + |       ChipCard Interface Descriptor:  | ||
| + |         bLength                54  | ||
| + |         bDescriptorType        33  | ||
| + |         bcdCCID              1.00  | ||
| + |         nMaxSlotIndex           0  | ||
| + |         bVoltageSupport         7  5.0V 3.0V 1.8V   | ||
| + |         dwProtocols             3  T=0 T=1  | ||
| + |         dwDefaultClock       4000  | ||
| + |         dwMaxiumumClock      4000  | ||
| + |         bNumClockSupported      0  | ||
| + |         dwDataRate          10752 bps  | ||
| + |         dwMaxDataRate      500000 bps  | ||
| + |         bNumDataRatesSupp.      0  | ||
| + |         dwMaxIFSD             254  | ||
| + |         dwSyncProtocols  00000000   | ||
| + |         dwMechanical     00000000   | ||
| + |         dwFeatures       00010230  | ||
| + |           Auto clock change  | ||
| + |           Auto baud rate change  | ||
| + |           NAD value other than 0x00 accpeted  | ||
| + |           TPDU level exchange  | ||
| + | |||
| + |  [[..]]  | ||
| + | |||
| + | While the T450 looks like this:  | ||
| + | |||
| + | Bus 002 Device 003: ID 058f:9540 Alcor Micro Corp.   | ||
| + | Device Descriptor:  | ||
| + |   bLength                18  | ||
| + |   bDescriptorType         1  | ||
| + |   bcdUSB               2.01  | ||
| + |   bDeviceClass            0 (Defined at Interface level)  | ||
| + |   bDeviceSubClass         0   | ||
| + |   bDeviceProtocol         0   | ||
| + |   bMaxPacketSize0         8  | ||
| + |   idVendor           0x058f Alcor Micro Corp.  | ||
| + |   idProduct          0x9540   | ||
| + |   bcdDevice            1.20  | ||
| + |   iManufacturer           1 Generic  | ||
| + |   iProduct                2 EMV Smartcard Reader  | ||
| + |   iSerial                 0   | ||
| + |   bNumConfigurations      1  | ||
| + |   Configuration Descriptor:  | ||
| + |     bLength                 9  | ||
| + |     bDescriptorType         2  | ||
| + |     wTotalLength           93  | ||
| + |     bNumInterfaces          1  | ||
| + |     bConfigurationValue     1  | ||
| + |     iConfiguration          0   | ||
| + |     bmAttributes         0xa0  | ||
| + |       (Bus Powered)  | ||
| + |       Remote Wakeup  | ||
| + |     MaxPower               50mA  | ||
| + |     Interface Descriptor:  | ||
| + |       bLength                 9  | ||
| + |       bDescriptorType         4  | ||
| + |       bInterfaceNumber        0  | ||
| + |       bAlternateSetting       0  | ||
| + |       bNumEndpoints           3  | ||
| + |       bInterfaceClass        11 Chip/SmartCard  | ||
| + |       bInterfaceSubClass      0   | ||
| + |       bInterfaceProtocol      0   | ||
| + |       iInterface              0   | ||
| + |       ChipCard Interface Descriptor:  | ||
| + |         bLength                54  | ||
| + |         bDescriptorType        33  | ||
| + |         bcdCCID              1.10  (Warning: Only accurate for version 1.0)  | ||
| + |         nMaxSlotIndex           0  | ||
| + |         bVoltageSupport         7  5.0V 3.0V 1.8V   | ||
| + |         dwProtocols             3  T=0 T=1  | ||
| + |         dwDefaultClock       3700  | ||
| + |         dwMaxiumumClock     12000  | ||
| + |         bNumClockSupported      3  | ||
| + |         dwDataRate           9946 bps  | ||
| + |         dwMaxDataRate      688172 bps  | ||
| + |         bNumDataRatesSupp.    138  | ||
| + |         dwMaxIFSD             254  | ||
| + |         dwSyncProtocols  00000007  2-wire 3-wire I2C  | ||
| + |         dwMechanical     00000000   | ||
| + |         dwFeatures       000404BE  | ||
| + |           Auto configuration based on ATR  | ||
| + |           Auto activation on insert  | ||
| + |           Auto voltage selection  | ||
| + |           Auto clock change  | ||
| + |           Auto baud rate change  | ||
| + |           Auto PPS made by CCID  | ||
| + |           Auto IFSD exchange  | ||
| + |           Short and extended APDU level exchange  | ||
| + |         dwMaxCCIDMsgLen       272  | ||
| + |         bClassGetResponse    echo  | ||
| + |         bClassEnvelope       echo  | ||
| + |         wlcdLayout           none  | ||
| + |         bPINSupport             0   | ||
| + |         bMaxCCIDBusySlots       1  | ||
| + |       Endpoint Descriptor:  | ||
| + |         bLength                 7  | ||
| + |         bDescriptorType         5  | ||
| + |         bEndpointAddress     0x81  EP 1 IN  | ||
| + |         bmAttributes            3  | ||
| + |           Transfer Type            Interrupt  | ||
| + |           Synch Type               None  | ||
| + |           Usage Type               Data  | ||
| + |         wMaxPacketSize     0x0004  1x 4 bytes  | ||
| + |         bInterval               1  | ||
| + |       Endpoint Descriptor:  | ||
| + |         bLength                 7  | ||
| + |         bDescriptorType         5  | ||
| + |         bEndpointAddress     0x02  EP 2 OUT  | ||
| + |         bmAttributes            2  | ||
| + |           Transfer Type            Bulk  | ||
| + |           Synch Type               None  | ||
| + |           Usage Type               Data  | ||
| + |         wMaxPacketSize     0x0010  1x 16 bytes  | ||
| + |         bInterval               0  | ||
| + |       Endpoint Descriptor:  | ||
| + |         bLength                 7  | ||
| + |         bDescriptorType         5  | ||
| + |         bEndpointAddress     0x83  EP 3 IN  | ||
| + |         bmAttributes            2  | ||
| + |           Transfer Type            Bulk  | ||
| + |           Synch Type               None  | ||
| + |           Usage Type               Data  | ||
| + |         wMaxPacketSize     0x0010  1x 16 bytes  | ||
| + |         bInterval               0  | ||
| + | Binary Object Store Descriptor:  | ||
| + |   bLength                 5  | ||
| + |   bDescriptorType        15  | ||
| + |   wTotalLength           12  | ||
| + |   bNumDeviceCaps          1  | ||
| + |   USB 2.0 Extension Device Capability:  | ||
| + |     bLength                 7  | ||
| + |     bDescriptorType        16  | ||
| + |     bDevCapabilityType      2  | ||
| + |     bmAttributes   0x00000002  | ||
| + |       Link Power Management (LPM) Supported  | ||
| + | Device Status:     0x0000  | ||
| + |   (Bus Powered)  | ||
| + | |||
| + | [[Category:Ports, Connectors and Slots]]  | ||
Latest revision as of 15:06, 15 November 2020
FeaturesThe smartcard reader can be used as an additional level of security, such that the user needs to put in his card (typically his badge), and provide a password. In addition it can also be used with other Electronic identity cards such as the Belgium eID. More information about smartcards in general can be found at Wikipedia 
  | 
pcsclite's libccid driver
The driver is maintained at [1].
For Ubuntu (9.04, Jaunty Jackalope) users, a simple "sudo apt-get install libccid" is enough to get the reader working. [4] - Infos about the Ubuntu libccid package
This chip may be found in
USBID 17ef:1003 ChipsBnk
USBID ???
USBID 17ef:1003
USBID 058f:9540 Alcor Micro Corp.
Identification
Bus 006 Device 002: ID 17ef:1003 ChipsBnk 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x17ef ChipsBnk
  idProduct          0x1003 
  bcdDevice            1.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           93
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass        11 Chip/SmartCard
[[..]]
And in my T410 it looks like this:
Bus 002 Device 004: ID 17ef:1003 Lenovo 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x17ef Lenovo
  idProduct          0x1003 
  bcdDevice            1.00
  iManufacturer           1 Lenovo
  iProduct                2 Integrated Smart Card Reader
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           93
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass        11 Chip/SmartCard
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      ** UNRECOGNIZED:  36 21 00 01 00 07 03 00 00 00 a0 0f 00 00 a0 0f 00 00 00 00 2a 00 00 20 a1 07 00 00 fe 00 00  00 00 00 00 00 00 00 00 00 30 02 01 00 0f 01 00 00 00 00 00 00 00 01 
[[..]]
And in T430 it looks like this:
Bus 001 Device 003: ID 17ef:1003 Lenovo Integrated Smart Card Reader
 Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0         8
 idVendor           0x17ef Lenovo
 idProduct          0x1003 Integrated Smart Card Reader
 bcdDevice            1.00
 iManufacturer           1 Lenovo
 iProduct                2 Integrated Smart Card Reader
 iSerial                 0 
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength           93
   bNumInterfaces          1
   bConfigurationValue     1
   iConfiguration          0 
   bmAttributes         0xa0
     (Bus Powered)
     Remote Wakeup
   MaxPower              100mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           3
     bInterfaceClass        11 Chip/SmartCard
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
     ChipCard Interface Descriptor:
       bLength                54
       bDescriptorType        33
       bcdCCID              1.00
       nMaxSlotIndex           0
       bVoltageSupport         7  5.0V 3.0V 1.8V 
       dwProtocols             3  T=0 T=1
       dwDefaultClock       4000
       dwMaxiumumClock      4000
       bNumClockSupported      0
       dwDataRate          10752 bps
       dwMaxDataRate      500000 bps
       bNumDataRatesSupp.      0
       dwMaxIFSD             254
       dwSyncProtocols  00000000 
       dwMechanical     00000000 
       dwFeatures       00010230
         Auto clock change
         Auto baud rate change
         NAD value other than 0x00 accpeted
         TPDU level exchange
[[..]]
While the T450 looks like this:
Bus 002 Device 003: ID 058f:9540 Alcor Micro Corp. Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               2.01
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0         8
 idVendor           0x058f Alcor Micro Corp.
 idProduct          0x9540 
 bcdDevice            1.20
 iManufacturer           1 Generic
 iProduct                2 EMV Smartcard Reader
 iSerial                 0 
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength           93
   bNumInterfaces          1
   bConfigurationValue     1
   iConfiguration          0 
   bmAttributes         0xa0
     (Bus Powered)
     Remote Wakeup
   MaxPower               50mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           3
     bInterfaceClass        11 Chip/SmartCard
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
     ChipCard Interface Descriptor:
       bLength                54
       bDescriptorType        33
       bcdCCID              1.10  (Warning: Only accurate for version 1.0)
       nMaxSlotIndex           0
       bVoltageSupport         7  5.0V 3.0V 1.8V 
       dwProtocols             3  T=0 T=1
       dwDefaultClock       3700
       dwMaxiumumClock     12000
       bNumClockSupported      3
       dwDataRate           9946 bps
       dwMaxDataRate      688172 bps
       bNumDataRatesSupp.    138
       dwMaxIFSD             254
       dwSyncProtocols  00000007  2-wire 3-wire I2C
       dwMechanical     00000000 
       dwFeatures       000404BE
         Auto configuration based on ATR
         Auto activation on insert
         Auto voltage selection
         Auto clock change
         Auto baud rate change
         Auto PPS made by CCID
         Auto IFSD exchange
         Short and extended APDU level exchange
       dwMaxCCIDMsgLen       272
       bClassGetResponse    echo
       bClassEnvelope       echo
       wlcdLayout           none
       bPINSupport             0 
       bMaxCCIDBusySlots       1
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0004  1x 4 bytes
       bInterval               1
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x02  EP 2 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0010  1x 16 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x83  EP 3 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0010  1x 16 bytes
       bInterval               0
Binary Object Store Descriptor:
 bLength                 5
 bDescriptorType        15
 wTotalLength           12
 bNumDeviceCaps          1
 USB 2.0 Extension Device Capability:
   bLength                 7
   bDescriptorType        16
   bDevCapabilityType      2
   bmAttributes   0x00000002
     Link Power Management (LPM) Supported
Device Status: 0x0000
(Bus Powered)