[fprint] Tt eSPORTS Black FP Supported?

Richi Plana richip at richip.dhs.org
Sat Oct 6 14:37:46 UTC 2018


Got the mouse. Here's dmesg:

[54669.820284] usb 1-6.2: new full-speed USB device number 8 using xhci_hcd
[54669.896522] usb 1-6.2: not running at top speed; connect to a high 
speed hub
[54669.896933] usb 1-6.2: New USB device found, idVendor=1a40, 
idProduct=0101, bcdDevice= 1.11
[54669.896938] usb 1-6.2: New USB device strings: Mfr=0, Product=1, 
SerialNumber=0
[54669.896942] usb 1-6.2: Product: USB 2.0 Hub
[54669.898659] hub 1-6.2:1.0: USB hub found
[54669.898739] hub 1-6.2:1.0: 4 ports detected
[54670.183244] usb 1-6.2.2: new full-speed USB device number 9 using 
xhci_hcd
[54670.272694] usb 1-6.2.2: New USB device found, idVendor=06cb, 
idProduct=0051, bcdDevice= 1.54
[54670.272700] usb 1-6.2.2: New USB device strings: Mfr=0, Product=0, 
SerialNumber=1
[54670.272705] usb 1-6.2.2: SerialNumber: f2769000b594
[54670.460092] usb 1-6.2.1: new full-speed USB device number 10 using 
xhci_hcd
[54670.551370] usb 1-6.2.1: New USB device found, idVendor=264a, 
idProduct=1006, bcdDevice=30.02
[54670.551376] usb 1-6.2.1: New USB device strings: Mfr=1, Product=2, 
SerialNumber=0
[54670.551380] usb 1-6.2.1: Product: Tt eSPORTS BLACK V2
[54670.551384] usb 1-6.2.1: Manufacturer: Thermaltake
[54670.555187] input: Thermaltake Tt eSPORTS BLACK V2 as 
/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.2/1-6.2.1/1-6.2.1:1.0/0003:264A:1006.0006/input/input19
[54670.608474] hid-generic 0003:264A:1006.0006: input,hidraw3: USB HID 
v1.11 Mouse [Thermaltake Tt eSPORTS BLACK V2] on 
usb-0000:00:14.0-6.2.1/input0
[54670.610302] hid-generic 0003:264A:1006.0007: ignoring exceeding usage max
[54670.612647] input: Thermaltake Tt eSPORTS BLACK V2 Keyboard as 
/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.2/1-6.2.1/1-6.2.1:1.1/0003:264A:1006.0007/input/input20
[54670.664783] input: Thermaltake Tt eSPORTS BLACK V2 Consumer Control 
as 
/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.2/1-6.2.1/1-6.2.1:1.1/0003:264A:1006.0007/input/input21
[54670.665489] hid-generic 0003:264A:1006.0007: input,hiddev97,hidraw5: 
USB HID v1.11 Keyboard [Thermaltake Tt eSPORTS BLACK V2] on 
usb-0000:00:14.0-6.2.1/input1

And the output of lsusb:

06cb:0051:
Bus 001 Device 009: ID 06cb:0051 Synaptics, Inc.
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               2.00
   bDeviceClass          255 Vendor Specific Class
   bDeviceSubClass        16
   bDeviceProtocol       255
   bMaxPacketSize0         8
   idVendor           0x06cb Synaptics, Inc.
   idProduct          0x0051
   bcdDevice            1.54
   iManufacturer           0
   iProduct                0
   iSerial                 1
   bNumConfigurations      1
   Configuration Descriptor:
     bLength                 9
     bDescriptorType         2
     wTotalLength           53
     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           5
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass      0
       bInterfaceProtocol      0
       iInterface              0
       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     0x81  EP 1 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     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               4
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x84  EP 4 IN
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0010  1x 16 bytes
         bInterval              10


264a:1006:
Bus 001 Device 010: ID 264a:1006
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               2.00
   bDeviceClass            0
   bDeviceSubClass         0
   bDeviceProtocol         0
   bMaxPacketSize0         8
   idVendor           0x264a
   idProduct          0x1006
   bcdDevice           30.02
   iManufacturer           1
   iProduct                2
   iSerial                 0
   bNumConfigurations      1
   Configuration Descriptor:
     bLength                 9
     bDescriptorType         2
     wTotalLength           59
     bNumInterfaces          2
     bConfigurationValue     1
     iConfiguration          0
     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      2 Mouse
       iInterface              0
         HID Device Descriptor:
           bLength                 9
           bDescriptorType        33
           bcdHID               1.11
           bCountryCode            0 Not supported
           bNumDescriptors         1
           bDescriptorType        34 Report
           wDescriptorLength     126
          Report Descriptors:
            ** UNAVAILABLE **
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x81  EP 1 IN
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0010  1x 16 bytes
         bInterval               1
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        1
       bAlternateSetting       0
       bNumEndpoints           1
       bInterfaceClass         3 Human Interface Device
       bInterfaceSubClass      1 Boot Interface Subclass
       bInterfaceProtocol      1 Keyboard
       iInterface              0
         HID Device Descriptor:
           bLength                 9
           bDescriptorType        33
           bcdHID               1.11
           bCountryCode            0 Not supported
           bNumDescriptors         1
           bDescriptorType        34 Report
           wDescriptorLength     109
          Report Descriptors:
            ** UNAVAILABLE **
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x82  EP 2 IN
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0010  1x 16 bytes
         bInterval               1

What's the first step in finding out if it's a similar protocol to 
something that's already supported?


On 02/10/18 02:19 AM, Bastien Nocera wrote:
> On Sat, 2018-09-29 at 10:04 -0600, Richi Plana wrote:
>> Thanks. I'll bite and get the USB IDs. In case it isn't (and it seems
>> likely since Synaptics' vendor ID isn't on the list),
> It's there, under the name "Validity":
> https://www.zdnet.com/article/synaptics-acquires-validity-for-255m-dives-into-biometrics/
>
>>   are there guides
>> to help developers figure out how to add support for a new device? Ie.
>> how do devs normally hack USB device driver reverse engineering?
> Depends whether Linux drivers are available. Look for "usb reverse
> engineering" in your favourite search engine, and you'll see plenty of
> hits.
>
> You'd probably first try to see whether the Windows driver supports
> more than one fingerprint reader, and see if that one is already
> supported which might just need a USB ID added.
>
> Then people usually start by capturing initialisation, and recreating
> this part of the communication using libusb (in C, Python, or whatever
> else).
>
> Check out the devices for which work was already started at:
> https://gitlab.freedesktop.org/libfprint/libfprint/issues?label_name[]=Driver+Request
>
> Cheers
>



More information about the fprint mailing list