Não é possível descodificar descritores de relatórios USB, nem mesmo depois de desassociar o dispositivo

0

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?

    
por László Monda 03.03.2017 / 03:24

0 respostas

Tags