Red Hat Bugzilla – Bug 174820
2.6 kernels don't load USB devices
Last modified: 2007-11-30 17:11:18 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050922 Fedora/1.7.12-1.3.1
Description of problem:
No USB devices will load on Compaq Presario R3000/R3306US under 2.6 kernels. dmesg shows only one of three controllers is initialized, and it appears in /proc/bus/usb/devices. No USB devices generate hotplug events or ever appear there.
The EHCI controller initializes; each of the OHCI controllers fails with the messages:
"ohcd_hcd 0000:00:02.x: USB HC takeover failed (BIOS/smm BUG)"
"ohcd_hcd: probe of 0000:00:02.x failed with error -16"
where 'x' = '0' or '1'.
Version-Release number of selected component (if applicable):
Any 2.6 kernel tested
Steps to Reproduce:
1. Boot with 2.6 kernel
Actual Results: No USB connectivity.
Expected Results: All USB controllers should have initialized and USB devices should be recognized.
Booting with 7.2 install/rescue CD (kernel 2.4.7-10BOOT) or one of several Knoppix bootable CDs with 2.4 kernels results in USB devices working. Booting installed kernel (2.6.12-1.1381_FC3), FC3 install/rescue CD, or FC4 rescue CD results in no USB.
I've rated severity as "High" because I can't access needed devices and I need to get fully functional on this computer, having lost a work week to this install. Also because there must surely be others trying to use Linux on other machines with this hardware and just giving up.
Much additional research indicates the problem relates to the 2.6 kernel and the
BIOS in these computers. I would still consider this a bug because the problem
does not manifest under 2.4 kernels.
Fix #1: add these lines to modules.conf and modprobe.conf:
options usb_ohci no_handshake=1
options ohci_hcd no_handshake=1
Only the second one may be needed for FC3; the first one didn't work but may on
Fix #2: download BIOS update from hp.com for your R3000 model. You will need a
Windows/DOS computer to unpack it and create the BIOS update disk. I haven't
tried this but some report it to work.
Surely there's a better method for getting this information to users than hours
spent trying to find the right words to type into Google...
Michael, I could have written a comment to the tune of: "in most circumstances
this is indeed a BIOS bug, and the printk() is there to alert you to the fact."
I didn't do it because there's always a (very small) possibility that something
wasn't right in the takeover code of ohci-hcd.