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