Skip to contentSkip to conversation

Broadcom 4401 problem

DISCUSSION Bruce Guenter 2 participants 4 messages Aug 22, 2004 – Aug 23, 2004

lore
Share & tools
lore
#0 lore raw

Greetings.

I have a Dell Inspiron 1150 laptop which has a built-in Broadcom 4401 NIC. I am using Gentoo's 2.6.8.1 kernel and the built-in b44 driver. It compiles, loads, and I can get basic network traffic through it just fine. However, it (the NIC) locks up randomly when I try to do bulk data transfers (with rsync for example). I can get it to reset itself by either taking the interface down and up, or by running "ethtool -A eth0 rx off tx off". Both actions appear to cause the NIC to disconnect and renegotiate with the switch.

What is unusual, to me, is that while the NIC is malfunctioning, it still can transmit packets. I have run tcpdump on both the laptop and the destnation system, and the laptop still transmits the trailing TCP ACKs and ARPs, however it does not receive any responses.

I have tried to reproduce this with Windows (which is also installed) but have been unable as of yet to do so. I am not, however, ruling out a hardware problem, as the "activity" light on the NIC flickers constantly even when there is no traffic.

Is this likely a hardware problem, or a problem in the driver?

Signature · 2 lines
Bruce Guenter <[email protected]> http://em.ca/~bruceg/ http://untroubled.org/
OpenPGP key: 699980E8 / D0B7 C8DD 365D A395 29DA  2E2A E96F B2DC 6999 80E8
#1 lore raw
Quoted 9 lines · Bruce Guenter

Greetings.

I have a Dell Inspiron 1150 laptop which has a built-in Broadcom 4401 NIC. I am using Gentoo's 2.6.8.1 kernel and the built-in b44 driver. It compiles, loads, and I can get basic network traffic through it just fine. However, it (the NIC) locks up randomly when I try to do bulk data transfers (with rsync for example). I can get it to reset itself

Is this likely a hardware problem, or a problem in the driver?

Hiya

Could you try the driver from http://www.ee.oulu.fi/~pp/b44-095-2.tgz , which has some fixes that have been submitted but not yet merged. If that doesn't help, the broadcom driver
( http://www.broadcom.com/drivers/downloaddrivers.php ) might be worth a try.

Also if you have more than 1Gb of memory, booting with mem=1024m might help (although with standard kernels with a 3:1
memory layout this hardware bug shouldn't get triggered and the typical symptom is a complete hang). But it's worth a try in any case. The updated driver mentioned above contains a workaround, so this shouldn't be needed anymore in any case.

Anyway, please report whether any of this helped.

Signature · 1 line
Pekka Pietikainen
#2 lore raw
Quoted 2 lines · Pekka Pietikainen

Could you try the driver from http://www.ee.oulu.fi/~pp/b44-095-2.tgz , which has some fixes that have been submitted but not yet merged.

Thanks. This source has some problems. When compiling, I get multiple errors regarding PCI_DEVICE_ID_BCM4713 being undefined:
/root/b44/b44.c:94: error: `PCI_DEVICE_ID_BCM4713' undeclared here (not in a function) etc Is this missing a header file or some other update?

In order to try to get it to compile, I removed the PCI table entry for the BCM4713 and made every conditional that depends on it false (by removing the appropriate code). However, when trying to ifconfig the interface I get:
SIOCSIFFLAGS: Cannot allocate memory
SIOCSIFFLAGS: Cannot allocate memory

Quoted 4 lines

If that
doesn't help, the broadcom driver
( http://www.broadcom.com/drivers/downloaddrivers.php ) might be worth a try.

The Broadcom Linux driver version 3.0.7 also locks up on me, but it doesn't support "ethtool -A", so I have to stop and start the interface completely to get it working again.

Quoted 2 lines

Also if you have more than 1Gb of memory, booting with mem=1024m might help

Nope. 512MB RAM.

Signature · 2 lines
Bruce Guenter <[email protected]> http://em.ca/~bruceg/ http://untroubled.org/
OpenPGP key: 699980E8 / D0B7 C8DD 365D A395 29DA  2E2A E96F B2DC 6999 80E8
#3 lore raw
Quoted 9 lines · Bruce Guenter
Quoted 2 lines · Pekka Pietikainen

Could you try the driver from http://www.ee.oulu.fi/~pp/b44-095-2.tgz , which has some fixes that have been submitted but not yet merged.

In order to try to get it to compile, I removed the PCI table entry for the BCM4713 and made every conditional that depends on it false (by removing the appropriate code). However, when trying to ifconfig the interface I get:
SIOCSIFFLAGS: Cannot allocate memory
SIOCSIFFLAGS: Cannot allocate memory

Oh right... Yea, the code assumes that someone added the 4713 id (0x4713 ;) ) to pci_ids.h. Interesting that it runs out of memory though. The new version does use quite a bit of GFP_DMA (== memory under 16MB since there's no way of allocating memory under 1GB, which would do.). Apart from some legacy ISA stuff I don't think anything else should be sucking it up, so there should be enough, at least after a fresh boot.

Quoted 7 lines
Quoted 4 lines

If that
doesn't help, the broadcom driver
( http://www.broadcom.com/drivers/downloaddrivers.php ) might be worth a try.

The Broadcom Linux driver version 3.0.7 also locks up on me, but it doesn't support "ethtool -A", so I have to stop and start the interface completely to get it working again.

Whew, maybe it's not a driver issue. Only thing I can think of is trying a few different kernels (say 2.6.7, 2.4.x if that fails), acpi=off, pci=noacpi on the command line etc.

Signature · 1 line
Pekka Pietikainen