Problem with USB 2.0

From ThinkWiki
Revision as of 00:10, 1 February 2009 by Bugmenot1 (Talk | contribs) (Mechanical Damage to Mainboard)
Jump to: navigation, search

Problem description

On various (early?) T40 models, USB 2.0 may not function, or may function only at USB 1.1 speeds. Symptoms include inability to connect to USB 2.0 devices at USB 2.0 speeds, the "This device can perform faster" pop-up in Windows XP, device ID assignment error messages from the Linux kernel, and frequent reboots of the USB bus and connected devices.

Possible Causes

So far, two possible causes have been suggested. In both cases, replacing the system board is the only solution.

Fried Southbridge USB controller

The Southbridge chip (containing the USB controller) may have been damaged by static electricity:

Matthias Himber wrote on linux-thinkpad:

Short answer: your southbridge is about to die, get your system board replaced. Hopefully its still under warranty.

Long answer: a number of Intel chipsets for Pentium IV and Pentium M processors have a design flaw that makes the southbridge (which contains the USB host controllers) especially sensitive to static electricity. As a result there is a (small) risk that when plugging in or removing a USB device causes damage to the chip. Usually, the first symptom is broken USB 2.0, behaving in exactly the way you described (ie, works under Windows, but only after some waiting and as if it was connected to a USB 1.1 controller, not a USB 2.0 one, and not at all under Linux unless you unload the USB 2.0 driver). This tends to lead to a completely dead chipset a short time later, so better get it serviced NOW.

Mechanical Damage to Mainboard

Mechanical damage (from bending, dropping or vibrating the laptop) can lead to components becoming desoldered from the mainboard and no longer having reliable electrical contact:

? wrote on ?:

My T41 shows the same symptoms. USB 2.0 works if I (gently) push the USB plug, or if I slightly flex my thinkpad. For example, it works when I put a pencil under the harddrive on an otherwise flat desk, so that the thinkpad only makes contact with the desk at 3 points (I type on an external keyboard). If I flex the other way, USB 2.0 never works. USB 1.1 always works reliably, irregardless of flexing / pushing the plug.

The same behavior has also been observed on a T42, where the EHCI controller stopped working after structural damage to the laptop. Plugging in a USB 2.0 capable device will yield the following error in dmesg:

? wrote on ?:

usb 4-4: new high speed USB device using ehci_hcd and address XX
hub 4-0:1.0: unable to enumerate USB device on port 4
hub 4-0:1.0: unable to enumerate USB device on port 4
hub 4-0:1.0: unable to enumerate USB device on port 4

Flexing the right palmrest area up will temporarily make the USB 2.0 recognizable again. Tightening the screws on the bottom and front edge of the laptop may also the problem.


Clearly, this is an electrical problem and not static electricity.

Solutions

This seems to be a hardware problem with the USB controller on Intel's chip or related electronics. Sending the laptop in for service may help.

If the Linux kernel refuses to register the USB device, "modprobe -r ehci_hcd" may help. This disables USB 2.0 functionality for the session.

Unloading ehci_hcd as per above confirmed to work on T41 running Ubuntu Edgy. Also worked on a T40 running Debian Lenny.

See Also

IBM X40 USB Problem (fried USB on multiple X40s)