Bug 80545 - RFE: Need kernel module bcm4400 for Broadcom Ethernet Adapter
Summary: RFE: Need kernel module bcm4400 for Broadcom Ethernet Adapter
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel
Version: 9
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jeff Garzik
QA Contact:
URL:
Whiteboard:
: 76516 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-12-27 20:29 UTC by Ron Olsen
Modified: 2013-07-03 02:09 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-06-14 17:11:18 UTC
Embargoed:


Attachments (Terms of Use)
Updated Broadcom ethernet driver (bcm4400-1.0.2.tar.gz) (48.65 KB, application/octet-stream)
2003-01-28 01:19 UTC, Ron Olsen
no flags Details

Description Ron Olsen 2002-12-27 20:29:15 UTC
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
distribution.


Version-Release number of selected component (if applicable):


How reproducible:
Always

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.

Additional info:

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
http://www.asus.com.tw/support/download/download.aspx
(enter keyword p4pe).

Comment 1 Habeeb J. Dihu 2003-01-18 04:18:06 UTC
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.

Comment 2 Ron Olsen 2003-01-26 02:19:12 UTC
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
(5*HZ):

< #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
seriously considered.  

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).


Comment 3 Arjan van de Ven 2003-01-26 10:55:58 UTC
we are actually considering backporting the driver from the 2.5 kernel series
instead, which is quite different..

Comment 4 Ron Olsen 2003-01-26 12:33:31 UTC
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" <davem>
To: ron_olsen
Subject: Re: Broadcom 4401 Linux drivers
Date: Fri, 24 Jan 2003 23:50:42 -0800 (PST)

   From: <ron_olsen>(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.



Comment 5 Ron Olsen 2003-01-28 01:19:09 UTC
Created attachment 89631 [details]
Updated Broadcom ethernet driver (bcm4400-1.0.2.tar.gz)

Michael Chan <mchan>, 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.

Comment 6 Ron Olsen 2003-01-28 18:56:38 UTC
The 1.0.2 version of bcm4400 is looking good.  I just got the following report
from Vic Hendrickx <vik.heyndrickx> :

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.

Comment 7 Jeff Garzik 2003-01-30 21:09:56 UTC
*** Bug 76516 has been marked as a duplicate of this bug. ***

Comment 8 Daniel Resare 2003-02-17 09:58:55 UTC
I have also tested bcm4400-1.0.2 quite extensively and to mee it seems stable. I
vote for an inclusion

Comment 9 acount closed by user 2003-07-29 18:52:45 UTC
> 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 :
http://www.broadcom.com/docs/driver-download.html

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 :
http://ftp.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.4/2.4.22-pre8-netdrvr1.patch.bz2

Comment 10 Jeff Garzik 2003-07-29 18:57:13 UTC
Yes, I am adding this b44 net driver to Red Hat Linux real soon now, in fact :)


Comment 11 Eric Fields 2003-08-03 15:26:25 UTC
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)

Comment 12 Noa Resare 2003-09-27 13:32:15 UTC
I can report success with the b44 driver that is a part of the kernel in severn2
just released

Comment 13 Jack Perdue 2004-03-29 19:39:27 UTC
"Real soon now"... meaning?  About the time Duke Nuke'm Forever is
released? ;) 



Comment 14 Jeff Garzik 2004-06-14 17:11:18 UTC
b44 driver is available in RHEL3 and Fedora Core.



Note You need to log in before you can comment on or make changes to this bug.