Ludwig Nussel wrote:
> Stefan Brüns wrote:
>> On Freitag, 4. September 2020 17:43:37 CEST Ludwig Nussel wrote:
>>> [...]
>>> usb_kbd_probe_dev() USB KBD: found set idle...
>>> usb_control_msg() usb_control_msg: request: 0xA, requesttype: 0x21,
>>> value 0xA00 index 0x0 length 0x0
>>> usb_kbd_probe_dev() USB KBD: enable interrupt pipe...
>>> Timeout poll on interrupt endpoint
>>> Failed to get keyboard state from device 1d6b:0104
>>
>> requesttype: 0x21 - Class specific request to interface
>> request: 0xA - Set_Idle
>> value: 0xA00 - 0xA * 4ms = 40ms report interval during idle, 0x0:
> applies to
>> all reports
>>
>> So according to the request, the OTG device should send report at regular
>> intervals even without state changes, but the keyboard poll code times
> out.
>
> The discussion also reminded me of a USB-PS2 adapter that also doesn't
> work in u-boot (bug#1167675). With your patch and LOG_DEBUG in
> common/usb{_kbd,}.c:¹
>
> usb_kbd_probe_dev() USB KBD: found interrupt EP: 0x81
> usb_kbd_probe_dev() USB KBD: set boot protocol
> usb_control_msg() usb_control_msg: request: 0xB, requesttype: 0x21,
> value 0x0 index 0x0 length 0x0
> usb_kbd_probe_dev() USB KBD: set idle interval...
> usb_control_msg() usb_control_msg: request: 0xA, requesttype: 0x21,
> value 0xA00 index 0x0 length 0x0
> usb_kbd_probe_dev() USB KBD: enable interrupt pipe...
> Timeout poll on interrupt endpoint
> Failed to get keyboard state from device 04d9:1400
>
> If that is the same problem then at least it's not Linux gadget code
> specific but also affects actual hardware devices.

lsusb -v for reference. So this one also only has one interface for the
keyboard with the subclass set. In contrast to the working keyboards
that have one interface with the boot flag and one without.

Bus 001 Device 004: ID 04d9:1400 Holtek Semiconductor, Inc. PS/2
keyboard + mouse controller
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x04d9 Holtek Semiconductor, Inc.
  idProduct          0x1400 PS/2 keyboard + mouse controller
  bcdDevice            1.43
  iManufacturer           0
  iProduct                0
  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      1 Keyboard
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         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              10
    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.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     157
         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              10
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)

cu
Ludwig

-- 
 (o_   Ludwig Nussel
 //\
 V_/_  http://www.suse.com/
SUSE Software Solutions Germany GmbH, GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)
-- 
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]

Reply via email to