DIY, tech, projects, stuff from Adam Fraser-Kruck

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

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.

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.

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).

Device Manager output edited to show speed of Hubs

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

Yup... 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.

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?

Note that the USB stick is plugged in right now and connected at High-Speed

The 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:

Some 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.

The 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.

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

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.