3

My Ubuntu 13.10 server (Upgraded from 11.10) has always had an issue with mounting USB 2.0 devices. Despite legacy being turned off on the motherboard bios, the output of lsusb -t always shows the following:

root@mediaserver:~# lsusb -t
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M

I've tried every USB port on the computer, including the front ports which are connected to internal headers. I'm not 100% sure what the difference between ehci-pci and uhci_hcd is to be honest. As you can see, my USB 2.0 drive is being given 12M, which is far too slow.

Here is a shortened output of dmesg from the last boot with the USB drive connected:

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.11.0-12-generic (buildd@allspice) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu7) ) #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 (Ubuntu 3.11.0-12.19-generic 3.11.3)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.11.0-12-generic root=UUID=37d96d65-85fd-4a26-9817-57820fed9a83 ro nomodeset usbcore.autosuspend=-1 video=uvesafb:mode_option=1920x1080-24,mtrr=3,scroll=ywrap splash quiet
[    0.559482] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.559484] ehci-pci: EHCI PCI platform driver
[    0.559549] ehci-pci 0000:00:1d.7: setting latency timer to 64
[    0.559559] ehci-pci 0000:00:1d.7: EHCI Host Controller
[    0.559565] ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 1
[    0.559578] ehci-pci 0000:00:1d.7: debug port 1
[    0.563475] ehci-pci 0000:00:1d.7: cache line size of 32 is not supported
[    0.563480] ehci-pci 0000:00:1d.7: irq 23, io mem 0xf9ffbc00
[    0.572019] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[    0.572053] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.572058] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.572062] usb usb1: Product: EHCI Host Controller
[    0.572067] usb usb1: Manufacturer: Linux 3.11.0-12-generic ehci_hcd
[    0.572070] usb usb1: SerialNumber: 0000:00:1d.7
[    0.572191] hub 1-0:1.0: USB hub found
[    0.572196] hub 1-0:1.0: 8 ports detected
[    0.572336] ehci-platform: EHCI generic platform driver
[    0.572343] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.572345] ohci-platform: OHCI generic platform driver
[    0.572351] uhci_hcd: USB Universal Host Controller Interface driver
[    0.572409] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[    0.572412] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[    0.572421] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
[    0.572443] uhci_hcd 0000:00:1d.0: irq 23, io base 0x0000c480
[    0.572471] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[    0.572474] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.572476] usb usb2: Product: UHCI Host Controller
[    0.572478] usb usb2: Manufacturer: Linux 3.11.0-12-generic uhci_hcd
[    0.572480] usb usb2: SerialNumber: 0000:00:1d.0
[    0.572554] hub 2-0:1.0: USB hub found
[    0.572558] hub 2-0:1.0: 2 ports detected
[    0.572666] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[    0.572669] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[    0.572676] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
[    0.572706] uhci_hcd 0000:00:1d.1: irq 19, io base 0x0000c800
[    0.572735] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[    0.572738] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.572740] usb usb3: Product: UHCI Host Controller
[    0.572742] usb usb3: Manufacturer: Linux 3.11.0-12-generic uhci_hcd
[    0.572743] usb usb3: SerialNumber: 0000:00:1d.1
[    0.572817] hub 3-0:1.0: USB hub found
[    0.572821] hub 3-0:1.0: 2 ports detected
[    0.572927] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[    0.572930] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[    0.572935] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
[    0.572964] uhci_hcd 0000:00:1d.2: irq 18, io base 0x0000c880
[    0.572992] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[    0.572994] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.572996] usb usb4: Product: UHCI Host Controller
[    0.572998] usb usb4: Manufacturer: Linux 3.11.0-12-generic uhci_hcd
[    0.573000] usb usb4: SerialNumber: 0000:00:1d.2
[    0.573073] hub 4-0:1.0: USB hub found
[    0.573076] hub 4-0:1.0: 2 ports detected
[    0.573185] uhci_hcd 0000:00:1d.3: setting latency timer to 64
[    0.573188] uhci_hcd 0000:00:1d.3: UHCI Host Controller
[    0.573193] uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
[    0.573221] uhci_hcd 0000:00:1d.3: irq 16, io base 0x0000cc00
[    0.573253] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
[    0.573255] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.573257] usb usb5: Product: UHCI Host Controller
[    0.573259] usb usb5: Manufacturer: Linux 3.11.0-12-generic uhci_hcd
[    0.573261] usb usb5: SerialNumber: 0000:00:1d.3
[    0.573346] hub 5-0:1.0: USB hub found
[    0.573349] hub 5-0:1.0: 2 ports detected
[    1.328018] usb 2-1: new full-speed USB device number 2 using uhci_hcd
[    1.467478] usb 2-1: not running at top speed; connect to a high speed hub
[    1.495481] usb 2-1: New USB device found, idVendor=1132, idProduct=4511
[    1.495483] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.495486] usb 2-1: Product: IT-CEO USB Device
[    1.495488] usb 2-1: Manufacturer: IT-CEO
[    1.495490] usb 2-1: SerialNumber: 5A314631525A394720202020
[    1.499526] usb-storage 2-1:1.0: USB Mass Storage device detected
[    1.499704] scsi4 : usb-storage 2-1:1.0
[    1.499766] usbcore: registered new interface driver usb-storage
[    1.500018] tsc: Refined TSC clocksource calibration: 2520.652 MHz
[    1.513120] uvesafb: VBIOS/hardware doesn't support DDC transfers
[    1.513123] uvesafb: no monitor limits have been set, default refresh rate will be used
[    1.513351] uvesafb: scrolling: redraw
[    1.736015] usb 5-1: new low-speed USB device number 2 using uhci_hcd
[    1.912254] usb 5-1: New USB device found, idVendor=045e, idProduct=078c
[    1.912256] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.912257] usb 5-1: Product: USB Keyboard
[    1.912258] usb 5-1: Manufacturer: LITEON Technology
[    1.934599] hidraw: raw HID events driver (C) Jiri Kosina
[    1.951425] usbcore: registered new interface driver usbhid
[    1.951425] usbhid: USB HID core driver
[    1.953425] input: LITEON Technology USB Keyboard as /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/input/input2
[    1.953793] hid-generic 0003:045E:078C.0001: input,hidraw0: USB HID v1.10 Keyboard [LITEON Technology USB Keyboard] on usb-0000:00:1d.3-1/input0
[    1.961414] Console: switching to colour frame buffer device 160x64
[    1.964561] uvesafb: framebuffer at 0xfb000000, mapped to 0xffffc90004400000, using 10240k, total 14336k

Some people have suggested blacklisting uhci_hcd but it seems to load anyway for me.

I'm also getting the following when trying to unload USB modules as described here:

root@mediaserver:~# rmmod ehci_hcd
libkmod: ERROR ../libkmod/libkmod-module.c:1802 kmod_module_get_holders: could not open '/sys/module/ehci_hcd/holders': No such file or directory
Error: Module ehci_hcd is in use
root@mediaserver:~# rmmod uhci_hcd
libkmod: ERROR ../libkmod/libkmod-module.c:1802 kmod_module_get_holders: could not open '/sys/module/uhci_hcd/holders': No such file or directory
Error: Module uhci_hcd is in use

My motherboard information:

Manufacturer: ASUSTeK Computer INC.
Product Name: P5KPL-AM
Zelda
  • 6,262
  • 1
  • 23
  • 28
MrNorm
  • 343
  • Can you please give details of the hardware? Brand, model, year, specs? – bayindirh Nov 11 '13 at 12:42
  • You cannot remove ehci_hcd and uhci_hcd because they are are in-kernel, now (and for quite some time, I believe), so no way to rmmod them. What is strange is that you have no mention of xhci_hcd, which instead is the current standard, I have it in my 13.10. Is yours a fresh install? – MariusMatutiae Nov 11 '13 at 12:59
  • @SilentStorm I have added the motherboard in question above. It's a bit of an oldie. – MrNorm Nov 11 '13 at 14:00
  • @MariusMatutiae That's quite interesting. Mine is a bit of an ugly several-times-upgraded install. I'm personally thinking of CentOS 6 as I think I'm right in thinking that this is a known Ubuntu related issue? – MrNorm Nov 11 '13 at 14:03
  • I was wondering whether some sort of incorrect option in /boot/config... propagated all the way down to your current install. To solve this problem, why don't you simply boot from a live, and see whether there is any difference? – MariusMatutiae Nov 11 '13 at 14:25
  • And no, I am not sure this is an Ubuntu-related issue. The transition from ohci/uhci/ehci to xhci is due to the kernel, it is not immediately obvious there is any specific problem with Ubuntu. In your shoes, I would try an Ubuntu live, and then, if the same porblem appears, some other live, whichever you like. – MariusMatutiae Nov 11 '13 at 14:28
  • Did you try to update your BIOS to the latest version? It helps a lot in these kinds of situations. – bayindirh Nov 11 '13 at 15:51
  • You might have an issue of Linux not supporting your particular chipset falling back to USB 1. – Thorbjørn Ravn Andersen Nov 11 '13 at 16:40
  • I have the same issue with latest kernel. Also using a live cd, I don't see any problems. – Mostafa Shahverdy Sep 30 '17 at 16:52
  • Also in the BIOS settings there are often options to limit the speed/version supported so make sure that is set correctly. Something else to check anyway. – CR. Mar 12 '22 at 06:33

1 Answers1

1

P5KPL-AM uses the ICH7 southbridge. Quoting from its datasheet:

The ICH7 supports eight USB 2.0 ports. All eight ports are high-speed, full-speed, and low-speed capable. ICH7’s port-routing logic determines whether a USB port is controlled by one of the UHCI controllers or by the EHCI controller.

If you check section 5.20.8, long story short EHCI (and thus USB 2.0) will only load if a high-speed device is detected in the first place. So the question if any is why this isn't happening with your disk.

Now, assuming this isn't a hardware problem (the device is actually only full-speed, or you are using a <2.0 extension cord.. checking in Windows may help ruling out this scenario) after scavenging a bit of bug trackers I found an odd related bug that was fixed in 4.13.

mirh
  • 570