Hi list,

I got a new smartcard keyboard; at first it seemed to work with
pcsclite, but a few weeks ago it stopped working with the error in the
subject -- probably due to an upgrade of pcsclite or another package.
I have no idea where the device names come from -- usbids? udev?
pcsclite itself? hardware?

I patched pcsclite to include the name of the failing devices, this is
what I see in journal:
May 28 18:49:04 wrx pcscd[10080]: 00000000
readerfactory.c:126:RFAddReader() Reader name too long: 99 chars
instead of max 93: Hewlett-Packard Company HP USB CCID Smartcard
Keyboard [HP USB CCID Smartca
May 28 18:49:04 wrx pcscd[10080]: 00000052
hotplug_libudev.c:379:HPAddDevice() Failed adding USB device:
Hewlett-Packard Company HP USB CCID Smartcard Keyboard
May 28 18:49:04 wrx pcscd[10080]: 00000336
readerfactory.c:126:RFAddReader() Reader name too long: 99 chars
instead of max 93: Hewlett-Packard Company HP USB CCID Smartcard
Keyboard [HP USB CCID Keyboar
May 28 18:49:04 wrx pcscd[10080]: 00000012
hotplug_libudev.c:379:HPAddDevice() Failed adding USB device:
Hewlett-Packard Company HP USB CCID Smartcard Keyboard
May 28 18:49:04 wrx pcscd[10080]: 00000297
readerfactory.c:126:RFAddReader() Reader name too long: 99 chars
instead of max 93: Hewlett-Packard Company HP USB CCID Smartcard
Keyboard [HP USB CCID Smartca
May 28 18:49:04 wrx pcscd[10080]: 00000009
hotplug_libudev.c:379:HPAddDevice() Failed adding USB device:
Hewlett-Packard Company HP USB CCID Smartcard Keyboard

Note that the 99-char name is already truncated, but RFAddReader
expects a 93-char name rather than a 99-char name (huh, who made up
these silly limits anyway?)

Digging the code further, it looks like the call from
RFReCheckReaderConf properly truncates the last 6 chars:
1411        lpcStripReader[tmplen - 6] = 0;
But the RFStartSerialReaders function doesn't.

I'll see if I can come up with a working patch.

Regards,
Marti

lsusb -v:
Bus 004 Device 003: ID 03f0:0036 Hewlett-Packard
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        16
  idVendor           0x03f0 Hewlett-Packard
  idProduct          0x0036
  bcdDevice            1.24
  iManufacturer           1 Hewlett-Packard Company
  iProduct                2 HP USB CCID Smartcard Keyboard
  iSerial                 7 10120800001412
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          143
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          3 HP USB CCID Smartcard Keyboard
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              4 HP USB CCID Smartcard Keyboard
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      54
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass        11 Chip/SmartCard
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              5 HP USB CCID Keyboard Smartcard Reader
      ChipCard Interface Descriptor:
        bLength                54
        bDescriptorType        33
        bcdCCID              1.10  (Warning: Only accurate for version 1.0)
        nMaxSlotIndex           0
        bVoltageSupport         3  5.0V 3.0V
        dwProtocols             3  T=0 T=1
        dwDefaultClock       4800
        dwMaxiumumClock      8000
        bNumClockSupported      0
        dwDataRate          12903 bps
        dwMaxDataRate      307200 bps
        bNumDataRatesSupp.      0
        dwMaxIFSD             252
        dwSyncProtocols  00000000
        dwMechanical     00000001  accept
        dwFeatures       000100BA
          Auto configuration based on ATR
          Auto voltage selection
          Auto clock change
          Auto baud rate change
          Auto PPS made by CCID
          TPDU level exchange
        dwMaxCCIDMsgLen       271
        bClassGetResponse    echo
        bClassEnvelope       echo
        wlcdLayout           none
        bPINSupport             3  verification modification
        bMaxCCIDBusySlots       1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              6 HP USB CCID Smartcard Keyboard Hotkey
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      26
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle

Reply via email to