Era uma vez, eu costumava ser capaz de despejar os descritores de relatórios USB dos meus dispositivos de entrada depois de desvinculá-los, mas por algum motivo, não mais.
root@spark ~ # dmesg|tail
[239486.804224] logitech-hidpp-device 0003:046D:404D.02B3: input,hidraw5: USB HID v1.11 Keyboard [Logitech K400 Plus] on usb-0000:00:14.0-10.3:1
[239535.214726] usb 2-10.3: USB disconnect, device number 115
[239538.010455] usb 2-10.3: new full-speed USB device number 116 using xhci_hcd
[239538.125768] usb 2-10.3: New USB device found, idVendor=046d, idProduct=c52b
[239538.125770] usb 2-10.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[239538.125771] usb 2-10.3: Product: USB Receiver
[239538.125772] usb 2-10.3: Manufacturer: Logitech
[239538.135925] logitech-djreceiver 0003:046D:C52B.02B6: hiddev0,hidraw4: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-10.3/input2
[239538.264789] input: Logitech K400 Plus as /devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10.3/2-10.3:1.2/0003:046D:C52B.02B6/0003:046D:404D.02B7/input/input340
[239538.264987] logitech-hidpp-device 0003:046D:404D.02B7: input,hidraw5: USB HID v1.11 Keyboard [Logitech K400 Plus] on usb-0000:00:14.0-10.3:1
root@spark ~ # echo -n 2-10.3 > /sys/bus/usb/drivers/usb/unbind
root@spark ~ # lsusb -vd 046d:c52b
Bus 002 Device 116: ID 046d:c52b Logitech, Inc. Unifying Receiver
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 32
idVendor 0x046d Logitech, Inc.
idProduct 0xc52b Unifying Receiver
bcdDevice 24.01
iManufacturer 1 Logitech
iProduct 2 USB Receiver
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 84
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 4 RQR24.01_B0023
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 98mA
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 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 59
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 0x0008 1x 8 bytes
bInterval 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
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 148
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 0x0008 1x 8 bytes
bInterval 2
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 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 98
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 2
Device Status: 0x0000
(Bus Powered)
Os descritores do relatório devem aparecer no lugar dos textos ** UNAVAILABLE **
.
Estes passos funcionaram bem há cerca de 2 anos, mas não mais. Estou faltando alguma coisa?