Lenovo Integrated Smart Card Reader

From ThinkWiki
Jump to: navigation, search

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 Electronic identity cards such as the Belgium eID.

More information about smartcards in general can be found at Wikipedia

  • Interface: USB

pcsclite's libccid driver

The driver is maintained at [1].

  • [2] - Debian binaries
  • [3] - Fedora binaries

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)