Release Notes
Broadcom BCM4400 Linux Driver
Version 3.0.8
7/30/2004
Broadcom Corporation
16215 Alton Parkway,
Irvine, CA 92619-7013
Copyright (c) 2000-2004 Broadcom Corporation
All rights reserved
v3.0.8 (Jul 30, 2004)
=====================
Fixes:
------
1. Problem: (CQ #8775) Driver allows tx_pkt_desc_cnt to be
set out of range.
Cause : Off-by-one error in the validation code.
Change : Fixed the validating test.
Impact : None.
2. Problem: (CQ #10259) Cannot compile driver on Redhat Fedora.
(problem 1) Source code does not compile.
Cause : genapic may be referenced by hard_smp_processor_id.
Change : Removed hard_smp_processor_id which is purely for
debugging and not needed.
Impact : None.
3. Problem: (CQ #10259) Cannot compile driver on Redhat Fedora.
(problem 2) Source RPM does not build.
Cause : spec file was not handling 2.6 kernels with the new
kernel build mechanism properly.
Change : Modified the spec file to detect build environment
and adjust build target accordingly.
Impact : None.
v3.0.7 (Oct 31, 2003)
=====================
Fixes:
------
1. Problem: (CQ #8782) Driver cannot bring up the link when the
system was previously running Windows without a cold
boot.
Cause: Windows driver may power down the PHY and the Linux
driver did not take steps to power it back on.
Change: Changed the code to always power on the PHY during
chip reset.
Impact: None.
v3.0.6 (Oct 28, 2003)
=====================
Fixes:
------
1. Problem: (CQ #8762) Activity LED stays on solid when speed is
forced.
Cause: Acivity LED in PHY register 26 not enabled.
Change: Fixed by enabling activity LED after PHY reset.
Imapct: None.
v3.0.5 (Oct 24, 2003)
=====================
Fixes:
------
1. Problem: (CQ #8740) System freezes when tx_pkt_desc_cnt is set to
a non-default value.
Cause: Driver has a bug that assumes that the number of tx
descriptors is always a power of 2.
Change: Fixed the bug by using a tx ring size that is the next power
of 2 size bigger than the number of tx descriptors selected.
Impact: None.
v3.0.4 (Oct 17, 2003)
=====================
Fixes:
------
1. Problem: Some packets transmitted from 4401 have CRC errors.
Cause: CRC errors possibly caused by resets when there is rx
fifo underrun.
Change: Added some delay to allow pending transmit packets to
drain before reset.
Imapct: None.
v3.0.3 (Oct 08, 2003)
=====================
Fixes:
------
1. Problem: (CQ #8576) Cannot pass traffic after changing line speed
to 10 Mbps.
Cause: For some reason, a PHY reset is needed after changing speed.
Change: Added delay after forcing link down to make sure that the
link partner sees the link down and added a PHY reset after
that before changing the line speed.
Impact: None.
2. Problem: (CQ #8578) 4401B0 stops passing traffic under stress and
generates watchdog transmit timeouts. NIC does not
recover from timeout reset.
Cause: Possibly because MAC reset is skipped in the chip reset
sequence for 4401B0.
Change: Added MAC reset back eventhough it is supposedly not
required for B0.
Impact: None.
v3.0.2 (Sep 26, 2003)
=====================
Fixes:
------
1. Problem: (CQ #8476) ethtool fails to change line speed from auto
to fixed.
Cause: A link down is necessary to force the link partner to
recognize the speed/duplex change.
Change: Fixed by forcing a link-down before speed/duplex changes.
Impact: None.
2. Problem: (CQ #8514) Poor performance when connected to some hubs.
Cause: Driver is rejecting some good packets in half-duplex.
Change: Changed the driver to not reject packets when Rx Symbol
Error is the only error reported.
Impact: none.
3. Problem: (CQ #8471) Cannot upgrade drivers in Mandrake 9.1
Cause: Mandrake uses new 3rdparty module path.
Change: Modified makefile to accomodate new path.
Imapct: None.
v3.0.1 (Aug 25, 2003)
=====================
Fixes:
------
1. Problem: WOL does not work on 4401-B0.
Change: Fixed the logic to program wol on B0.
Impact: None.
v3.0.0 (Aug 20, 2003)
=====================
Enhancements:
-------------
1. Problem: Driver does not work on 4401 B0.
Change: Added changes to support 4401 B0.
Impact: None.
2. Problem: Driver does not work on 2.5 kernels.
Change: Updated driver and Makefile to work on 2.5 kernels.
Impact: None.
3. Problem: Driver does not use NAPI.
Change: Updated driver to use NAPI if available.
Impact: None.
4. Problem: Driver lacks support for the newer ethtool commands.
Change: Added GSTRINGS and GSTATS ioctls. More will be added
later.
Impact: None.
v2.0.5 (July 02, 2003)
======================
Fixes:
------
1. Problem: Driver panics when loading on 2.4.20-18.7 RH kernel.
Cause: Makefile compiles driver with kgcc, making the driver
incompatible with the kernel that was compiled with gcc.
Change: Modified Makefile to choose kgcc only if the kernel
was compiled with kgcc.
Impact: None.
2. Problem: Link error when compiling driver into kernel with
CONFIG_HOTPLUG not defined.
Cause: __devexit_p not used in the bcm5700_remove_one pointer.
Change: Added __devexit_p for the bcm5700_remove_one pointer.
Impact: None.
v2.0.4 (June 26, 2003)
======================
Fixes:
------
1. Problem: ifconfig freezes some machines.
Cause: Chip generates target aborts when MAC registers are
accessed before chip reset.
Change: Changed LM_ResetAdapter to eliminate certain register
accesses before chip reset.
Impact: None.
v2.0.3 (June 25, 2003)
======================
Fixes:
------
1. Problem: Loading driver hangs system on a certain machine.
Cause: Chip generates target aborts when MAC registers are
accessed before chip reset.
Change: Removed the call to LM_SetupPhy in LM_GetAdapterInfo.
Impact: Unable to show PHY advertisement registers in /proc file
before ifup.
v2.0.2 (April 28, 2003)
=======================
Fixes:
------
1. Problem: (CQ #7621) "Flow_Control_Advertisement" and
"Speed_Advertisement" have no initial values in /proc
file
Cause: Related varaibles not initialized before ifup.
Change: Added LM_SetupPhy call in LM_GetAdapterInfo.
Impact: none.
v2.0.1 (April 23, 2003)
=======================
Fixes:
------
1. Problem: (CQ #7421) "Part_Number" has no value in /proc file
Cause: 4401 does not have VPD.
Change: Removed "Part_Number" entry from /proc file
Impact: Only /proc file.
Enhancements:
-------------
1. Request: No warning when compiling the driver without kernel
headers
Change: Changed Makefile to print a warning when kernel header
files are not found.
Impact: None.
2.0.0 (03/25/03)
- Fixed a crash problem under heavy traffic caused by reset and tasklet running
at the same time.
1.0.3 (02/25/03)
- Fixed multiple problems with the reset logic.
- Added magic packet WOL.
- Fixed compiler warnings.
1.0.2 (09/06/02)
- Fixed the problem of not passing traffic after stress.
1.0.1 (08/26/02)
- Fixed the problem of resets during heavy traffic.
1.0.0 (08/22/02)
- First release.
Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.