[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