Location of HUB USB Report Descriptors?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am attempted to debug an android problem related to USB hubs.

On desktop Linux 'lsusb -vv' details the HUB description, but 'lsusb' on
Android is the simple cousin and does not know this information.

I have found the 'descriptors' file for the USB device under the '/sys'
interface, however this does not appear to contain the HUB specific
details.

Is there another file somewhere, and can someone point me at it?

Specifically I am looking for the binary file which decodes like this...
--
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x00e0
    Ganged power switching
    Ganged overcurrent protection
    TT think time 32 FS bits
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent    100 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0100 power
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered
--

Many thanks in advance,
Simon.
00000000   12 01 10 02 09 00 02 40 E3 05 10 06 03 93 01 02   .......@ã.......
00000010   00 01 09 02 29 00 01 01 00 E0 32 09 04 00 00 01   ....)....à2.....
00000020   09 00 01 00 07 05 81 03 01 00 0C 09 04 00 01 01   ................
00000030   09 00 02 00 07 05 81 03 01 00 0C                  ...........     


0x12,        // bLength
0x01,        // bDescriptorType (Device)
0x10, 0x02,  // bcdUSB 2.10
0x09,        // bDeviceClass (Hub)
0x00,        // bDeviceSubClass 
0x02,        // bDeviceProtocol (High Speed Hub with multiple TT)
0x40,        // bMaxPacketSize0 64
0xE3, 0x05,  // idVendor 0x05E3
0x10, 0x06,  // idProduct 0x0610
0x03, 0x93,  // bcdDevice 240.03
0x01,        // iManufacturer (String Index)
0x02,        // iProduct (String Index)
0x00,        // iSerialNumber (String Index)
0x01,        // bNumConfigurations 1

0x09,        // bLength
0x02,        // bDescriptorType (Configuration)
0x29, 0x00,  // wTotalLength 41
0x01,        // bNumInterfaces 1
0x01,        // bConfigurationValue
0x00,        // iConfiguration (String Index)
0xE0,        // bmAttributes Remote Wakeup, Self Powered
0x32,        // bMaxPower 100mA

0x09,        // bLength
0x04,        // bDescriptorType (Interface)
0x00,        // bInterfaceNumber 0
0x00,        // bAlternateSetting
0x01,        // bNumEndpoints 1
0x09,        // bInterfaceClass
0x00,        // bInterfaceSubClass
0x01,        // bInterfaceProtocol
0x00,        // iInterface (String Index)

0x07,        // bLength
0x05,        // bDescriptorType (Endpoint)
0x81,        // bEndpointAddress (IN/D2H)
0x03,        // bmAttributes (Interrupt)
0x01, 0x00,  // wMaxPacketSize 1
0x0C,        // bInterval 12 (unit depends on device speed)

0x09,        // bLength
0x04,        // bDescriptorType (Interface)
0x00,        // bInterfaceNumber 0
0x01,        // bAlternateSetting
0x01,        // bNumEndpoints 1
0x09,        // bInterfaceClass
0x00,        // bInterfaceSubClass
0x02,        // bInterfaceProtocol
0x00,        // iInterface (String Index)

0x07,        // bLength
0x05,        // bDescriptorType (Endpoint)
0x81,        // bEndpointAddress (IN/D2H)
0x03,        // bmAttributes (Interrupt)
0x01, 0x00,  // wMaxPacketSize 1
0x0C,        // bInterval 12 (unit depends on device speed)

// 59 bytes

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux