Red Hat Bugzilla – Bug 80545
RFE: Need kernel module bcm4400 for Broadcom Ethernet Adapter
Last modified: 2013-07-02 22:09:06 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 Galeon/1.2.7 (X11; Linux i686; U;) Gecko/20021216
Description of problem:
I just installed Phoebe on my new Pentium 4 system which has an Asus P4PE
motherboard with an on-board Broadcom Ethernet Adapter. This adapter was not
recognized during the installation, since there was no driver for it in the
kernel. Asus provides a GPL Linux driver (bcm4400) for this adapter on the CD
they distribute with the P4PE motherboard.
I would like to see this driver become part of the standard Red Hat kernel
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install Phoebe on a system with a P4PE motherboard.
2. Observe that no Ethernet adaptor is found during the installation.
3. Manually install the bcm4400 driver from ASUS after the installation, insmod
bcm4400.o, and then configure networking with redhat-config-network.
4. Observe that Ethernet connectivity to the Internet now works.
Actual Results: See above.
Expected Results: See above.
The driver is GPL, so there so be no problems incorporating it into Red Hat
distributions. This driver, and other drivers for on-board components of the
P4PE motherboard, are available on the Asus web site at
(enter keyword p4pe).
This problem also exists in RH8...new Dell PCs have been shipping with
BC4400/BC4401 integrated NICs for a while now. I just got a Dimension 2325
with one...it was quite a pain to track down the drivers...it should
absolutely be included in Phoebe, and potentially as an update for RH8.
I'll also file a bug report about the lack of support for Intel 845-based
graphics cards that are also now common on Dell PCs and others.
I have experienced transmit timeouts with this driver under heavy network and
system load. The following message appears in /var/log/messages:
kernel: NETDEV WATCHDOG: eth0: transmit timed out
And networking is hosed until I stop and restart eth0.
A proposed fix: modify b44um.c to increase the transmit timeout from (2*HZ) to
< #define TX_TIMEOUT (5*HZ)
> #define TX_TIMEOUT (2*HZ)
If the driver is basically sane, but just gets overloaded during periods of
high traffic, this may help. It will increase the interval before the
kernel watchdog timer kicks in to declare the transmitter is hung.
Many other network drivers have TX_TIMEOUT set to (4*HZ) or (5*HZ),
so this is not an unreasonable thing to try.
If Red Hat incorporates this driver into 8.1, the above change should be
Initial tests of this fix, with high-volume traffic into and out of eth0, with
near 100% CPU utilization, resulted in no transmit timeouts. (Tests conducted
on a 2.8GHz P4 running Red Hat 8.0, kernel 2.4.18-19.8.0, with 100Mbps ethernet).
we are actually considering backporting the driver from the 2.5 kernel series
instead, which is quite different..
You'll have a lot of work to do. According to Dave Miller, the b44 driver from
the 2.5 kernel is "totally nonfunctional":
From: "David S. Miller" <email@example.com>
Subject: Re: Broadcom 4401 Linux drivers
Date: Fri, 24 Jan 2003 23:50:42 -0800 (PST)
From: <firstname.lastname@example.org>(Ron Olsen)
Date: Fri, 24 Jan 2003 23:48:14 -0700
Ron> Would the b44 driver from kernel 2.5.47 work on 2.4.18 or 2.4.19?
The b44 driver is still totally nonfunctional.
Created attachment 89631 [details]
Updated Broadcom ethernet driver (bcm4400-1.0.2.tar.gz)
Michael Chan <email@example.com>, the author of the bcm4400 driver, just sent
me an updated version which should fix the "hang on transmit timeout" problem.
This new version re-enables interrupts when the timeout error occurs.
I am attaching the new version of the driver (1.0.2).
It would be great if Red Hat includes this driver in the 8.1 release (and also
as an update to 8.0) if they decide not to try to backport the 2.5 kernel b44
driver to the 2.4 kernel.
The 1.0.2 version of bcm4400 is looking good. I just got the following report
from Vic Hendrickx <firstname.lastname@example.org> :
I have installed this driver 1.0.2 today, and I was unable to recreate the tx
timeouts I had before with 1.0.1.
Furthermore, I ran this horrific load test:
I downloaded 73GB from a local FTP server (Ethernet) onto the broadcom NIC
PC while I was "flood"-pinging another host, AND while this bcm PC was being
"flood"-pinged by two other hosts at 100Mbps (all connected to a 10/100
switch). All 73GB were downloaded without any interruption.
*** Bug 76516 has been marked as a duplicate of this bug. ***
I have also tested bcm4400-1.0.2 quite extensively and to mee it seems stable. I
vote for an inclusion
> I have also tested bcm4400-1.0.2 quite extensively and to mee it seems
> stable. I vote for an inclusion
1.0.2 is a bit old, lastest is 2.0.2 :
in general bcm drivers are awful, Someone wrote about it ;-)
"The Broadcom Tigon3 boards arrived, but looking at their driver made me want to
scratch my eyeballs out. I think I'll write the 2.4.x driver from scratch, thank
you. At least, I can print out their driver and use that when we run out of
toilet paper here at the apartment"
but you are lucky, Someone has written a 'official kernel driver' for Broadcom
4400 NICs, you can get it from :
Yes, I am adding this b44 net driver to Red Hat Linux real soon now, in fact :)
So does that mean we'll be seeing Broadcom 440x support in the version of RHL
coming out in October? I noticed that it wasn't included in Severn... (nor was
the option of 1680x1050 resolution available for my dell inspiron 8500's
widescreen display, tho some XF86Config tweaking fixed that)
I can report success with the b44 driver that is a part of the kernel in severn2
"Real soon now"... meaning? About the time Duke Nuke'm Forever is
b44 driver is available in RHEL3 and Fedora Core.