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.