3 usb hubs disappeared from lspci
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-source-2.6.20 (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned | ||
linux-source-2.6.22 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: linux-image-
in the kernel 2.6.15-27-k7, three internal usb hubs are not recognized (not even listed in lspci)
in the kernel 2.6.15-26-k7, everything works fine.
here is the part of lspci -tv for kernel 2.6.15-26-k7:
-------
\-[00]
| +-00.1 Advanced Micro Devices [AMD] AMD-8111 USB
| +-03.0 NEC Corporation USB
| +-03.1 NEC Corporation USB
| +-03.2 NEC Corporation USB 2.0
| \-04.0 Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
-------
the same part in lspci -tv for kernel 2.6.15-27-k7:
-------
\-[00]
| +-00.1 Advanced Micro Devices [AMD] AMD-8111 USB
| \-04.0 Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
-------
(only the three NEC USB... are missing)
In /var/log/messages, the only difference occurs during the loading of the module ohci_hcd, where the usb hubs should be listed, but aren't in 2.6.15-27.
the option noapic does not change anything.
Note that there are no PS/2 ports, so the keyboard and the mouse are connected to these USB ports (they work in the BIOS and in Grub, but are desactivated just after leaving the grub)
Maybe it is a bug during the parsing of ACPI tables, or maybe this parsing occurs too early.
Changed in linux-source-2.6.22: | |
status: | New → Fix Released |
Changed in linux-source-2.6.20: | |
status: | Incomplete → Won't Fix |
I fixed this problem by adding a delay of 1 second at the beginning of the function pci_do_ scan_bus( struct pci_bus *bus) in drivers/ pci/probe. c.
I added these lines: ------- ------- ------- ------- ------- ------- ------- ------- -
printk( "PCI-Gam: Wait 1 second\n"); 0;wait1! =1000000; wait1++ ) 0;wait2! =6000;wait2+ +)
dummy = 123456-dummy;
printk( "PCI-Gam: Start scanning bus\n"); ------- ------- ------- ------- ------- ------- ------- ------- --
-------
int wait1,wait2,dummy;
dummy=0;
for (wait1=
for (wait2=
-------
Now when the PCI driver scans the root bus (after the small delay), it finds the three USB hubs correctly.
At last I can use my keyboard !