impossible to unload ehci_hcd on detective hardware (since compiled in)

Bug #354832 reported by Paul Sladen
42
This bug affects 6 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Won't Fix
Medium
Unassigned
Declined for Jaunty by Brian Murray

Bug Description

As the kludge fix applied for bug #296710 (compile 'uhci_hcd' and 'ehci_hcd' into the kernel as built-ins) it is now impossible to unload 'ehci_hcd' on buggy hardware.

This is effectively a regression.

IMHO, it is better to have slow access (on some small percentage of machines) than have no USB on others.

Ideally the kernel should be switched back to having modular USB device.

Tags: regression
Revision history for this message
Paul Sladen (sladen) wrote :

This was introduced in:

  linux (2.6.28-10.33) jaunty; urgency=low
  ...
  [ Tim Gardner ]
  ...
  * Build ehci, uhci, and ohci into the i386/amd64 kernels
    - LP: #296710

Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: regression
Revision history for this message
Nikias Bassen (nikias) wrote :

I recently had another usb 2.0 specific issue with a web cam on another (non-defective) system. I wanted to try out for a friend if my web cam is working smoothly with usb 1.1, because his hardware doesn't has usb 2.0 support. So I plugged in the web cam into another system with non-defective usb 2.0 hardware. The cam worked right away (e.g. with cheese) -- but after unloading the ehci-hcd module, it produced even smoother video! So I'd really like to keep the ability to remove the usb 2.0 support from the kernel by unloading ehci-hcd.

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

This config option is not likely going to be reverted. See the following thread which also notes a workaround:

https://lists.ubuntu.com/archives/kernel-team/2009-April/005205.html

"# ls /sys/bus/pci/drivers/ehci_hcd

You should see an entry for your USB 2.0 host device, something like 0000:00:xx.x

Then do

 # echo -n 0000:00:xx.x > unbind

(obviously replacing the xx.x before you do)

This will unbind your device from ehci_hcd, which might restore functionality for you."

Changed in linux (Ubuntu):
status: New → Won't Fix
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Also in that thread:

"> This one works perfectly!
>
Awesome.

You can disable this on boot by creating
a /etc/udev/rules.d/disable-ehci.rules file containing:

ACTION=="add", SUBSYSTEM=="pci", DRIVER=="ehci_hcd", \
        RUN+="/bin/sh -c 'echo -n %k > %S%p/driver/unbind'"

(That should work, but do test it)"

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers