b44.ko driver does not work in Ubuntu 6.06 and Dell laptop
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
linux-source-2.6.15 (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: linux-image-
On a 64-bit dell Inspiron 6400, the integrated broadcom BCM4401 Ethernet card does not work - the card is recognized, the driver loaded and the eth1 interface appears , but almost no packet is ever trasmitted. I happen to get some packet passing through the card at times, and only one time ever DHCP completed successfully; even with a manually assigned IP not even arp packets can pass the interface. This has happened with all sorts of known-good network cables, and the interface works perfectly under Windows.
However, carrier is correctly recognized, mii-tool show that autonegotiation has completed.
I've rebooted with a custom-built 2.6.18.6 kernel and the card works perfectly there; the firewall setup is the same (iptables-restore, which I use, either fully succeeds or fully fails). So it is definitely a kernel problem.
Looking into git history, no enormous changes have happened.
I cannot find related commits; 639b421b911bbde
The only commit which seems related is d9e2d185bf01e20
I do kernel development on UserModeLinux so I can test patches and even do bisection search, but currently I'm too busy and I may be so for a time. Please suggest the best action to take. I'll try if I can rebuild the original package with make-kpkg and with changes only to the b44 driver.
Additional info:
Reproduced on a laptop inspiron 6400, with Core 2 Duo T7200, 2Gb of RAM, linux-image-
# lspci
0000:00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 03)
0000:00:01.0 PCI bridge: Intel Corporation Mobile PCI Express Graphics Port (rev 03)
0000:00:1b.0 0403: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
0000:00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
0000:00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01)
0000:00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01)
0000:00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01)
0000:00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01)
0000:00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01)
0000:00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1)
0000:00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 01)
0000:00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controllers cc=IDE (rev 01)
0000:00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc: Unknown device 7149
0000:03:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
0000:03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd: Unknown device 0832
0000:03:01.1 0805: Ricoh Co Ltd R5C822 SD/SDIO/
0000:03:01.2 System peripheral: Ricoh Co Ltd: Unknown device 0843 (rev 01)
0000:03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
0000:03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)
0000:0b:00.0 Network controller: Intel Corporation: Unknown device 4222 (rev 02)
Today I've downloaded the Ubuntu kernel source, replaced b44.[ch] with the copy from 2.6.18.6, undone a single API change by running the following command on a recent git repository (>= 2.6.18):
$ cg diff -pr 1fb9df5d3069064 c037c81c0ab8bf7 83ffa5e373 drivers/net/b44.c \ source- 2.6.15- 2.6.15/ drivers/ net/b44. c
|patch -R ../linux-
and rebuilt the resulting kernel with make-kpkg. The ethernet card, then, worked flawlessly. Do you need a bisection search for the exact patch solving the bug or it is ok for you to backport all changes as I did?
Thanks.