USB hubs are a thing I prefer to stock on, since I really often use these in my projects . Threrefore, just when I was running low on ’em, I ordered a bunch in bulk from china. Took about a month, till our slowpoke-post delivered those.
Anyway, being pessimisticby default, I started by doing an lsusb -vv on the hub device:
lsusb -vv -s 7:11 Bus 007 Device 011: ID 0a05:7211 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed (or root) hub bMaxPacketSize0 8 idVendor 0x0a05 idProduct 0x7211 bcdDevice 1.00 iManufacturer 0 iProduct 1 USB2.0 HUB iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 255 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 4 wHubCharacteristic 0x0009 Per-port power switching Per-port overcurrent protection 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 Status: 0x0001 Self Powered
Okay, now let’s make sense out of it. First, the line marked red tells us this is no way a high speed (480 mbit/s) hub, as the seller said, but a full-speed one (12 mbit/s). Some people call these 1.1 hub for some reason, although this is not correct.
Next is the line I marked purple. It is the only string descriptor, and it is displayed by windoze whenever this hub is plugged in. Enough to confuse some users.
Heh, good I needed those for a few hobby projects, and not a business prototype ™. Otherwise the deadline would have been screwed up (Or I had to make a run to a local store).
Anyway, I opened the dispute, got the money back, and the hubs were also remained in my hands. Epic win. Time to crack them open and see what’s inside.
Inside looked awful.
A few dry facts come along:
- No capacitor mounted on the +5V power line. Problems may and will arise
- Side ‘leafs’ if usb connectors are not soldered at all. These will fall off in a week or so
- “Per-port power switching” & “Per-port overcurrent protection” that are advertised in descriptor are bullshit.
To fix these bugs, I added a 220uF capacitor to the power line and soldered all the connectors properly. Took me about a minute or so.
Regarding the dispute, I can say that I was lucky. The seller didn’t want to risk undergoing the whole process, and I got my money back fast.
But just in case, I’ll leave some useful info.
Our only weapon here – “usb specs”. As they said in some nvidia presentation “reading specs can make you more powerful, than you can possibly imagine”.
The hub IS a 2.0 hub, so never state it is a 1.1 hub. It is not a ‘high speed’, but a ‘full speed’.
Some sellers might state that this is a ‘high speed’ hub, but write “badwidth: 12mbit/s” somewhere in fine print. This should be enough for a dispute. However, if they state that it is full-speed hub, there’s no way one can win the dispute – the description is correct.