Description of problem: phoebe kernel is unable to recognize usb devices which are connected after system boot Version-Release number of selected component (if applicable): 2.4.20-2.2 How reproducible: always Steps to Reproduce: 1.boot phoebe with no usb devices attached 2.physically connect usb mouse, storage or other device Actual results: device isn'n in /proc/bus/usb/devices, no driver is loaded, device isn't initialised properly (optical mouse LED doesn't light) Expected results: device info must appear in /proc/bus/usb/devices when device is connected, driver must be loaded and device must be initialised Additional info: If device is connected before system boot, it will be present in /proc/bus/usb/devices.
I tried to plugin a USB keyboard into my laptop and these messages began appearing in my dmesg. Even after I unplugged the keyboard they continue, one message per ~5 seconds. They continued constantly for days until I rebooted. usb-uhci.c: interrupt, status 3, frame# 540 usb-uhci.c: interrupt, status 3, frame# 1456 usb-uhci.c: interrupt, status 3, frame# 332 usb-uhci.c: interrupt, status 3, frame# 1252 When booting with USB keyboard already plugged in, the keyboard works and these interrupt errors don't occur. Definitely a hotplug problem.
I have seem similar messages when I connected my USB device and manually loaded acm driver (loads automatically in 7.3 and if rebooted). However the device newer worked at all. Works in 7.3.
I reproduced situation with usb keyboard exactly as described by Warren Togami .
Looks like this problem is not redhat-cpecific, it can be a result of acpi patch. See following message: http://sourceforge.net/mailarchive/forum.php?thread_id=1476886&forum_id=5395
I tried to rebuild kernel 2.4.20-2.2 with acpi support turned off - the prolem is still present.
I'm not sure my usb problmes are related...but maybe they are I have a compact flash card reader (Sandisk model SDDR-31) which has worked pretty much flawlessly under redhat 8, and 7.3. Now under the beta it seems to work intermittantly...I'm having trouble narrowing down the problem. Sometimes when I reboot with the reader installed without a card....I can load a card and get it to mount. Sometimes I can't. If the reader is not installed on boot, and i plug it in, its not detected and the mountpoint isnt created like it should be for a hotplug device.
I am seing the exact same thing (tried it with a mouse, usb-storage camera and printer) - if device is plugged in at boot time, everything works. After that - if I unplug an existing device or plug in a new USB device, the kernel does not seem to notice it - no messages in dmesg, no reaction whatsoever. I tried going single user, rmmoding all the USB-related modules and modprobing them back and still it does not recognize that it has something polugged in - nothing short of a complete reboot helps.
*** Bug 80840 has been marked as a duplicate of this bug. ***
It seems that if the uhci driver is used instead of usb-uhci, then everything works normally! At the point where usb-uhci would stop responding to any stimilus, the uhci driver says uhci.c: bf80: host controller halted. very bad and keeps working. P.S. See also bug 80805 for another example of things working with uhci and not working with usb-uhci...
I tried uhci.o, it works but hotplug is still broken. USB mouse works only if it was inserted before system boot. If mouse is inserted after system boot, there is no way to get it working, even if I reload all usb-related modules.
Created attachment 89184 [details] A "rc.usb" script (from some old hotplug, I believe) Yes, you are right - simply using uhci does not help. But if you run "rc.usb restart" (script attached - essentially it just unloads all the USB modules and then loads them back), then things start working again. Not only that - after such restart, hotplug starts working normally! P.S. To be honest, didn't have time to test it carefully and figure out what exactly works and when, so I may be mistaken again...
I can confirm this with my USB camera
Leonid, what does "ps aux| grep khubd" produce on your box?
Output of "ps aux| grep khubd" is empty on 2.4.20-2.2. On older kernels this process is running.
Additional information: <boot system> [root@leon root]# ps aux | grep khubd [root@leon root]# <run script provided by Aleksey Nogin, see his attachment> [root@leon root]# service rc.usb restart Warning: USBD not started. [root@leon root]# ps aux | grep khubd root 5852 0.0 0.0 0 0 ? SW 12:29 0:00 [khubd] and everything work as expected, even with usb-uhci driver
- and if the usb-stuff from rc.sysinit is moved to ex. rc.local, hotplug will work as well, indicating that something is happening to usb after it is loaded in rc.sysinit (before rc.local)? (Se bug 80840)
Looks like 80622 and 80840 are duplicated bugs
Leonid, thanks. I think I have a fix then. Alexey will be in the same boat (bug) with you f.t.m. About 80840 - I divorced it because Alexey implied it was usb-uhci problem and I'm very sensitive to that. Please let Inger track it as he/she wishes after the next beta, even though it's most likely a dup.
Created attachment 89246 [details] Protect khubd (daemonize() fix)
CVS: playpen, 2.4.20-2.10 (Ingo did it, witness advantages of having developers in all time zones :)
I tried to build a new kernel after applying the patch. I removed the ACPI because I got an error (compilation), but else I used the config from redhat (kernel-2.4.20-i386.config). USB hotplug seems to work with my new kernel - at least so far. Inger (she) thinks 80840 must be a duplicate of this bug... (I have tried with the kernel from RH 8.0 as well, it worked too - 2.4.18-19.8.0 )
Oh yuk, Ingo found an SMP bug in my patch: tasklist_lock must be taken when coming from daemonize. His commit has correct version.
This was working fine for a while now (using Rawhide kernels)... Time to close this bug?
Yes, everything works. closing.