usb devices not recognized automatically when plugged in a hub
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Manoj Iyer |
Bug Description
Binary package hint: linux-image-
1) Hardy 8.04.1 with hardy-updates
2) linux-image-
Since the kernel upgrade from 2.6.24-19 to 2.6.24-21, devices plugged in our internal usbhub are not automatically reconized. Running lsusb in a console make the devices been reconized.
Some cases I tested :
- Booting with devices plugged in the hub make them available until they are all unplugged. Then plugging in back doesn't recognize them anymore (until lsusb)
- it doesn't appens with the usb ports directly connected to the motherboard
- the usb hub is recognized at boot.
- booting 2.6.24-19 make it works fine
- plugging in a device doesn't show any error in the kernel messages.
- I checked for the Vendor/Product ID of my hub in the diff file of 2.6.24-21, and didn't found anything, so I guess it's not a side effect of a quirk.
- tested on different hardware with different hub, always the same problem
It seems that the usb bus doesn't not scan for devices recursively until we explicit ask for it (with lsusb)
I'm attaching the output of dmesg with this comment. (the usb mass storage which are reconized at the end are because of the cases explained upper).
I'll post uname-a.log, lspci-vvnn.log, version.log and lsusb-v.log as requested in https:/
Changed in linux: | |
assignee: | nobody → ubuntu-kernel-team |
importance: | Undecided → Medium |
status: | New → Triaged |
I tried to recompile the kernel and remove the ubuntu modification from drivers/ usb/core/ hub.c (see attached patch), and the usb hubs are working back. I guess the bug is somewhere in this modification.
How I did :
apt-get source linux-image- 2.6.24- 21-generic 2.6.24- 21-generic .config 2.6.24. 3_2.6.24. 3_i386. deb img-2.6. 24.3
patch -p1 -R < hub.patch
cd linux-2.6.24.2/
cp /boot/config-
make deb-pkg
dpkg -i ../linux-
mkinitramfs -o /boot/initrd.
edit /boot/grub/menu.lst
reboot on this kernel.