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

Bug #354832 reported by Paul Sladen on 2009-04-03
42
This bug affects 6 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
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.

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
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.

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

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  Edit
Everyone can see this information.

Other bug subscribers