16
Jan

Link-Depot USB hub review (sucks!) + USB debugging

TEARDOWN LINK AT BOTTOM.

I picked up two Link-Depot 4 Port USB 2.0 Hubs on sale ($5) from Memory Express and was quickly surprised at how bad they were.

The manufacturer (Link-Depot) is straight up lying about its High-Speed (480 Mbps) capability; the damn thing is super slow and will only do "Full-Speed" (12 Mbps). This kind of blatant false advertising really annoys me. There are lots of consumers out there that would never realize that they'd been tricked.

Model: LD-USH-4POW (SUCKS!)
Manufacturer: Link-Depot (SUCKS!)
Description: 4-Port USB 2.0 Hub with Individual Power Switches

Transparent image of a crappy Link-Depot 4 port USB Hub Link-Depot LD-USH-4POW
fly-38x40
fly-38x40
fly-38x40

What a steaming pile of dishonest marketing


Pros:

  • Each port has its own power switch and light
  • comes with a power adapter so it can power hungry devices
  • looks nice enough

Cons:

  • DOES NOT support 480 Mbps. Very slow for transferring large files.
  • it's pretty flimsy. One unit had a broken switch right out of the box.
  • short 2 foot power cord
  • unholy bright power LED :P

Verdict: DOESN'T WORK!

Total garbage if you expect the advertised "high-speed" (480 Mbps). OK if you get it on sale and will only be connecting low speed devices to to it like mice and keyboards.


Debugging and USB Info

What follows is an explanation of how to confirm your USB device's speed and other useful info.

I initially noticed the problem while transferring files to a memory stick. The Link-Depot LD-USH-4POW hub would max out at 0.75 MB/s write and 1 MB/s read. Plugging the USB stick directly into my computer gave much better performance of 3.2 MB/s write and 11.5 MB/s read. I started paying more attention to my computer and noticed that when I reconnected the Link-Depot hub to my computer it gave a message about performing faster. I got the same message when I would plug in a memory stick into the already connected Link-Depot hub.

this device can perform faster

The Windows 7 Device Manager listed the crappy LD-USH-4POW hub as "Full-Speed", but it also reported some of my other Root Hubs as Full-Speed, but I knew that all of my USB ports were High-Speed capable so I looked for another program to verify speeds. I later learned that the Windows 7 Device Manager was doing everything correctly, I just didn't understand how it was reporting the Root Hubs (read on).

acer device manager editedDevice Manager output edited to show speed of Hubs

dev manager ports You can see the memory stick plugged into the crap LD-USH-4POW hub and some power info

dev manager speedYup... the lame Link-Depot hub is connected only at Full-Speed

Why was device manager reporting strange results? Each USB 2.0 capable port on a computer can internally be routed to either a High-Speed controller or a Full-Speed controller (called a Companion Controller). When a device is connected at Low-Speed or Full-Speed, the port is routed to the Companion Controller instead of the High-Speed controller.

companion-port
Shows how a physical USB port on your computer can be routed internally.

This explains why the Windows 7 device manager reported some Root Hubs as High-Speed and others as Full-Speed (the Companion Controller). I ended up verifying Device Manager's operation using a nifty Microsoft program called USBView.exe. It shows a lot of interesting and useful information. In the screen shots below, I plugged in a memory stick into my computer's first USB port. Then I removed the memory stick and plugged in the Full-Speed hub into the exact same port. Notice how the same USB port could be serviced by either the High-Speed controller or the Full-Speed Companion controller?

acer memory stick in frontNote that the USB stick is plugged in right now and connected at High-Speed

acer hub in frontThe above shows the case where the memory stick is replaced by the crappy hub and it is connected at Full-Speed. Even though the hub is now connected to the exact same port that the memory stick was, the hub is being serviced by a different Root Hub meant for slower devices. Strange behaviour until you understand what is going on.

There are some exceptions to note:

usb 3 speed mixSome newer USB controllers use "rate matching" to eliminate the need for Companion Controllers. You can see this on the USB 3.0 hub above that has both a High-Speed and a Low-Speed device connected to the same Root Hub. This is what I had assumed would happen before I learned about Companion Controllers for older hardware. More info.

dell-device-managerThe number of High-Speed and Companion Controllers may not be equal. My old Dell has four 2 port USB1.x Companion Controllers and a single 8 port High-Speed controller.

I've pasted the full output from USBView.exe for the Link-Depot hub in question below. Big surprise "Device Bus Speed: Full". It is also interesting to note the top couple of lines regarding power being ganged (connected in parallel) and protection being global. I'm no USB expert (info with figures), but I'm pretty sure this means that the hub will limit the total current draw to 2 Amps (500 mA x 4 ports) which is not what it says on the package and sub optimal protection. I've had a few USB powered microcontroller programmers short due to a loose connection and I was very glad to have had the individual port protection.

package-back Either the LD-USH-4POW hub is reporting its protection wrong, or the packaging shows some more false advertising

USBView.exe output for Link-Depot hub. This page helps explain the fields below.

External Hub: USB#VID_1A40&PID_0101#5&3706127a&0&1#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
Hub Power:               Self Power
Number of Ports:         4
Power switching:         Ganged
Compound device:         No
Over-current Protection: Global

Device Descriptor:
bcdUSB:             0x0200
bDeviceClass:         0x09
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x40 (64)
idVendor:           0x1A40
idProduct:          0x0101
bcdDevice:          0x0111
iManufacturer:        0x00
iProduct:             0x01
0x0409: "USB 2.0 Hub [Safe]"
iSerialNumber:        0x00
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:     Full
Device Address:       0x01
Open Pipes:              1

Endpoint Descriptor:
bEndpointAddress:     0x81  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0001 (1)
bInterval:            0xFF

Configuration Descriptor:
wTotalLength:       0x0019
bNumInterfaces:       0x01
bConfigurationValue:  0x01
iConfiguration:       0x00
bmAttributes:         0xE0 (Bus Powered Self Powered Remote Wakeup)
MaxPower:             0x32 (100 Ma)

Interface Descriptor:
bInterfaceNumber:     0x00
bAlternateSetting:    0x00
bNumEndpoints:        0x01
bInterfaceClass:      0x09 (Hub)
bInterfaceSubClass:   0x00
bInterfaceProtocol:   0x00
iInterface:           0x00

Endpoint Descriptor:
bEndpointAddress:     0x81  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0001 (1)
bInterval:            0xFF

My current guess is that the IC used inside the LD-USH-4POW hub is actually capable of 480 Mbps, but Link-Depot screwed something up somewhere. I'm basing this off the fact that when you first plug in the hub, Windows says the device could perform faster if plugged into a "Hi-Speed" port. We know that device is reporting itself as USB 2.0 capable (see "bcdUSB: 0x0200" above) and thus "Hi-Speed", but maybe it messed up the initial speed negotiation? I'd like to scope it out sometime and check.

Looking up the VID 1A40 from a linux list shows the vendor of the IC as Terminus Technology Inc..

> > > See the teardown!

Leave a Reply

Your email address will not be published. Required fields are marked *