USB ports not working


I have three USB ports on the front of my computer: two are USB 3.0 and the other is a ESATA/USB combo port. With the kernel from Kernel:standard[1] (3.4.19). The two USB 3.0 ports do not work at all. When I plug a device into the port nothing is shown in dmesg. I expect to see a usb message that something was connected/disconnected. However, nothing is displayed.

I know the ports are, in fact, functional. I checked with the BIOS during boot up for each port. Each time, the BIOS sees the thumbdrive. When I downgrade to the stock kernel (3.4.11) the ports work fine. However, the 3D effects in KDE do not all work and seems choppy. With the kernel from Kernel:standard, all effects work, machine runs cooler and everything seems work except for those two front USB ports.

I did some searching which suggested laptop-mode-tools could be the cause, however, I do not have that installed.

The issues seems to be with the kernel? Does anyone have any suggestions where I can look next? I would prefer to keep the kernel from Kernel:standard as it seems to better support my rig.

[1] Index of /repositories/Kernel:/openSUSE-12.2/standard


After more searching, I issue has been resolved.

I found this discussion[1] which suggested to add “pci=nomsi” to the kernel. Later on in the discussion, an explanation is given as to what this means[2].

Not sure if this effected anything, but I also switch from Kernel:standard to Kernel:stable:standard[3]. This repo provides kernel 3.6.8-1-desktop. However, I suspect that making the change to grub is what really made the ports work.

[1] [SOLVED] USB 3.0 port not working](
[2] [SOLVED] USB 3.0 port not working](
[3] Index of /repositories/Kernel:/stable/standard

Well, after several more reboots and suspends, the ports are back to not working. Ugh!

After more reading and searching, these seems to be a kernel issue (xhci_hcd perhaps?) and not a hardware issue.

Too bad I cannot use the video modules/capabilities from kernel 3.6.8 with kernel 3.4.11!

After digging deep into Google’s search results, I found a post in some dark corner of the web that suggested the ports would work if a 3.0 thumbdrive is plugged in before booting. Sure enough this does work. However, the ports stop working when resuming from suspend (S3) with and without the thumbdrive in the port.

I know I’m talking to myself so far, but I am hoping what I have to say might spark an idea in someone.

I installed Kernel:stable:standard (3.6.8) on an almost identical box that has openSUSE 12.1. This is the exact same repo I used to upgrade the kernel on my openSUSE 12.2 box. The USB 3 ports in the front work just fine. The differences between the two machines is that the openSUSE 12.1 has a i7-2600K sandy bridge and the openSUSE 12.2 (the broken one) has a i7-3400 ivy bridge CPU. Also, the openSUSE 12.1 box has version 1.0 of the Shuttle motherboard and the other machine has version 2.0 of the Shuttle motherboard.

On the openSUSE 12.2, I tested the rear USB 3 ports and they work! It seems that kernel >= 3.4.19 doesn’t seem to enable the front USB 3.0 ports!?!

Anyone have any ideas or have come across a similar issue?

I switched from the -desktop kernel to the -default kernel and adding “xhci_hcd” to INITRD_MODULES and MODULES_LOADED_ON_BOOT in /etc/sysconfig. Now the front USB 3 ports work! However, they stop working after resuming from sleep (S3). Also, the -default kernel seems to be slower than the -desktop kernel. Can’t win them all I guess!

The front USB ports work now after resume from suspend (S3).

To summarise for anyone else having this issue:

  1. I am using Kernel:stable:standard (3.6.8-1-default). Not the -desktop version.
  2. Add xhci_hcd to INITRD_MODULES and MODULES_LOADED_ON_BOOT in yast2->System->/etc/sysconfig. This way yast2 will regenerate the initrd for you.
  3. Do not put xhci_hcd nor ehci_hcd in SUSPEND_MODULES="" in /etc/pm/config.d/config

If anyone else having a similar issue, please share if the above worked for you too or if there was something else you tried that worked too.

Well, after inquiring about the -default vs -desktop kernel in this thread[1], I tried the -desktop kernel (3.6.8-1-desktop) again. The front USB 3 port continue to work. It’s hit-or-miss whether they will work after resuming from sleep though.