RELEASE.TXT Driver File Contents (LnX.exe)

                          Broadcom Corporation
                          16215 Alton Parkway,
                          Irvine, CA 92619-7013
			  
                       Broadcom BCM5700 Linux Driver
                               2/5/2000

Table of Contents
=================

  Introduction
  Limitations
  Installing Source RPM Package
  Installing the Binary RPM Package
  Building Driver From TAR File
  Patching PCI Files
  Network Installation
  Module Parameters
  Revision History
  
			       
Introduction
============

This file describes the Linux driver for Broadcom's BCM5700 10/100/1000
Mbps Ethernet Network Interface Chip.


Limitations
===========

The current version of the driver has only been tested on Redhat Linux 6.2 and 
7.0 distributions for i386 (kernel version 2.2.14 and 2.2.16). The driver has 
only been tested as a loadable module.


Installing Source RPM Package
=============================

1. Install the source RPM package:

   rpm -i bcm5700-<version>.src.rpm

2. CD to the RPM path and build the binary driver for your kernel:

   cd /usr/src/{redhat,OpenLinux,turbo, ..}
   rpm -bb SPECS/bcm5700.spec

Note that the RPM path is different for different Linux distributions.

3. Install the newly built package:

   rpm -i RPMS/i386/bcm5700-<version>.i386.rpm

The driver will be installed as /lib/modules/<kernel_version>/net/bcm5700.o.

4. Load the driver:

   insmod bcm5700

Note: A newly installed Redhat 7's Enterprise kernel needs to be recompiled to
regenerate versioned symbols before any newly compiled driver can load.


Installing Binary RPM package
=============================

1. Install the binary RPM package:
   
   rpm -Uvh bcm5700-<version>.i386.rpm

The binary RPM installs:
   /lib/modules/2.2.14-6.1.1/net/bcm5700.           # rh6.2 UP driver
   /lib/modules/2.2.14-6.1.1smp/net/bcm5700.o	    # rh6.2 SMP driver
   /lib/modules/2.2.16-22/net/bcm5700.o		    # rh7.0 UP driver
   /lib/modules/2.2.16-22smp/net/bcm5700.o	    # rh7.0 SMP driver
   /lib/modules/2.2.16-22enterprise/net/bcm5700.o   # rh7.0 Enterprise driver
   /usr/src/broadcom/bcm5700-<version>.tar.gz	    # driver source code
   /usr/src/broadcom/pci.patch62		    # updates rh6.2 PCI tables
   /usr/src/broadcom/pci.patch70		    # updates rh7.0 PCI tables
   /usr/share/doc/broadcom/readme.txt		    # this file
   
The binary RPM adds Broadcom bcm5700 related entries to:
   /usr/lib/linuxconf/kmodule.lst	# adds bcm5700 netconf's driver list
   /usr/share/kudzu/pcitable		# enables auto-detection of bcm5700 NICs 
   /usr/share/pci.ids			# used by lspci, etc.

2. Run kudzu to automatically detect the bcm5700 Network Card(s) 

   kudzu

3. Follow the on-screen instructions to configure the network.


Building Driver From TAR File
=============================

1. Create a directory and extract the files:

   tar xvzf bcm5700-<version>.tar.gz

2. Build the driver bcm5700.o as a loadable module.

   make

3. Test the driver by loading it: 

   insmod bcm5700.o

4. Install the driver in /lib/modules/<kernel_version>/net:

   make install

Note: If loading the driver under Redhat 7.0's Enterprise kernel and unresolved
symbols are reported, check the following line in
/usr/src/linux/include/linux/rhconfig.h (line 31)

#if !defined(__module__smp) && !defined(__module__BOOT) && !defined(__module__BOOTsmp) && !defined(__module__ENTERPRISE)

Change __module__ENTERPRISE  to  __module__enterprise and recompile the
driver.


Patching PCI Files (Optional)
=============================

Note: Installing the binary RPM for RedHat 6.2/7.0 automatically patches the 
system's pci tables. It is not necessary to complete this procedure if the 
binary RPM has been installed.

To use Redhat's kudzu hardware detection utility, a number of files containing
PCI vendor and device information need to be patched with information on the
BCM5700 chip. A patch file is included for Red hat 6.2 (pci.patch62) and 7.0
(pci.patch70). Apply the patch by doing the following:

1. Apply the patch:

   patch -N -p1 -d /usr < /usr/src/broadcom/pci.patch62
                    - or -
   patch -N -p1 -d /usr < /usr/src/broadcom/pci.patch70

2. Run kudzu:

   kudzu


Network Installation
====================

For network installations through NFS, FTP, or HTTP (using a network boot
disk or PXE), a driver diskette or an initial ram disk (initrd) that contain
the BCM5700 driver is needed. The driver diskette's image for Redhat 7.0 and
the initrd image for Redhat 6.2 are located in
network_install/rh70/dd.img and network_install/rh62/initrd.img 
respectively. Boot drivers for other Linux versions can be compiled by
modifying the Makefile and the make environment. Further information is
available from Redhat's website.

To create the driver diskette for Redhat 7.0, use
dd if=dd.img of=/dev/fd0H1440.

For Redhat 6.2, use the initrd.img with BCM5700 driver instead of the one
in Redhat's CD. 


Module Parameters
=================

Optional parameters for the driver can be supplied as command line arguments 
to the insmod command. Typically, these options are set in a module 
configuration file (see the man page for modules.conf). These parameters 
take the form:

    <parameter>=value[,value,...]

where the multiple values for the same parameter are for multiple NICs
installed in the system.

Note that default values will be used when invalid values are selected.

All the parameters are listed below.

line_speed

    Selects the line speed of the link. This parameter is used together with
    full_duplex to select the speed and duplexity of the link.
    
    The valid values are:
    
    0      Autonegotiate  (default)
    10     10 Mbps
    100    100 Mbps

    Note that selecting 1000 Mbps manually is invalid. 1000 Mbps can only be
    achieved through autonegotiation.
    
full_duplex

    Selects the duplexity of the link. This paramter is used together with
    line_speed to select the speed and duplexity of the link. Note that this
    parameter is ignored if line_speed is 0.
    
    The valid values are:
    
    0      half duplex
    1      full duplex (default)
    
    
rx_flow_control

    Enables or disables receiving flow control (pause) frames. This parameter
    is used together with auto_flow_control. The valid values are:
    
    0      pause receive disabled (default)
    1      pause receive enabled if auto_flow_control is set to 0, or
           pause receive advertised if auto_flow_control is set to 1

tx_flow_control

    Enables or disables transmitting flow control (pause) frames. This parameter
    is used together with auto_flow_control. The valid values are:
    
    0      pause transmit disabled (default)
    1      pause transmit enabled if auto_flow_control is set to 0, or
           pause transmit advertised if auto_flow_control is set to 1

auto_flow_control

    Enables or disables autonegotiation of flow control. This parameter is used
    together with rx_flow_control and tx_flow_control to determine the
    advertised flow control capability. The valid values are:
    
    0      flow control autonegotiation disabled (default)
    1      flow control autonegotiation enabled with capability specified in
           rx_flow_control and tx_flow_control (only valid if line_speed is
           set to 0)

mtu

    Enables jumbo frames up to the specified MTU size. The valid range is
    from 1500 to 9216. Default is 1500.   

   
Revision History
================

v1.4.5 (01/31/01)

- Added PCI-X support for BCM5700.
- Fixed Jumbo frame problems by modifying some thresholds and increased
Jumbo frame size to 9K.

v1.4.4 (01/18/01)

- Fixed the problem of transmit congestion during very heavy traffic in pre-
2.4.0 kernels.

v1.4.3 (01/10/01)

- Changed driver to use new PCI DMA functions in 2.4 kernel.

v1.4.2 (01/03/01)

- Changed driver to use spin locks for SMP machines.
- Added spin locks around PRIVATE ioctls for MII registers .

v1.4.1 (12/26/00)

- Made changes for B1 chips.

v1.4.0 (12/19/00)

- Made changes for 2.4.0 kernel.

v1.3.8 (12/13/00)

- Fixed the problem of setting a user assigned MAC address.
- Added VLAN support for BASP.

v1.3.7 (12/01/00)

- Added code to handle BCM5401 B0 phy chips.

v1.3.6 (11/22/00)

- Fixed LED problems.

v1.3.5 (11/21/00)

- Fixed some flow control auto negotiation problems.

v1.3.4 (11/17/00)

- Fixed a problem of missing interrupts.
- Resolved all fixed speed related problems.

v1.3.3 (11/13/00)

- Fixed the problem of memory allocation failure in some machines.

v1.3.2 (11/09/00)

- Made more changes regarding fixed speeds. Also removed manual selection
  of 1000 Mbps.
- Made a SRPM package.

Download Driver Pack

How To Update Drivers Manually

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.

server: web2, load: 1.55