Laptop is a ThinkPad T520, desktop is a ThinkCentre M series. Both use C200 Series Chipset Family USB Enhanced Host Controller.

The failing device uses a Silicon Labs C8051F342 chip.

I am testing a USB-to-SPI converter (device #1) by running many SPI transactions to a known good SPI slave. I have tried this on two computers.

  • On the desktop with only device #1 connected to the USB port in front, and mouse and keyboard in back, I get a false failure once out of every 50,000 transactions or so. On the laptop, I have run hundreds of thousands of transactions with no failures.

  • When I plug another USB device (device #2) into the other port of the desktop (but do not attempt to do anything that would cause device #2 to use USB), the failure rate increases to about 1/500. This does not happen on the laptop.

  • On the desktop, when I run transactions that will force USB traffic on device #2, device #1 fails immediately. This does not happen on the laptop.

  • When I plug both devices into a USB hub and run transactions on device #2, device #1 fails immediately on both the laptop and the desktop.

I have tried updating the BIOS of the desktop, but it didn't help. The current draw on both device #1 and device#2 should be pretty low. As far as I can tell, the voltage is not drooping.

Is the problem with the computer, device #1, or both? How can I resolve this problem?

UPDATE: When I removed the mouse and keyboard from the back USB ports of the desktop, and device #2 from the front USB port, I was able to run device #1 with no failures (5 million transactions). I thought the back USB ports had a different host controller from the front, so I don't understand why this makes a difference. However, it is an acceptable workaround so I am going to go with it.

  • "When I plug both devices into a USB hub..." -- Is that a powered hub? – sawdust Apr 10 '15 at 21:15
  • sawdust, that is hub with no external power. – Annie Apr 10 '15 at 21:27
  • Then retest with a powered USB hub. – sawdust Apr 10 '15 at 21:36
  • 1
    I retested with a powered USB hub, and I am still seeing the same problem. – Annie Apr 10 '15 at 23:52

The USB hub you are using is a passive USB hub, this means that the USB hub only has access to the power coming from your parent device, your computer. USB can only transfer so much energy, which might not be enough for devices you wish to attach. Most devices that do not completely use the power from the USB port will work correctly. but when a device uses more power, for example a hard drive (without external power), might use too much for another device to work on that USB hub.

Using an active (powered) USB might solve this issue, as the external power ensures that every port on the USB hub has the same voltage as a single USB port.

Protip: The USB 3.0 standard improves power management capabilities over the previous versions and may be able to use higher power devices that hubs running older standards can't.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.