           Additional Installation Notes for Various Linux Distributions
                       Broadcom BCM5700 Linux Driver
                              Version 7.0.0
                                08/14/2003

                          Broadcom Corporation
                          16215 Alton Parkway,
                          Irvine, CA 92619-7013

                Copyright (c) 2000-2003 Broadcom Corporation
                           All rights reserved


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

  Introduction
  Limitations
  Prerequisites
  Prepare Kernel Source Tree (United Linux 1.0 Distributions)
  Remove tg3 Driver
  Edit /etc/modules.conf
  Patching PCI Files (Red Hat - Optional)
  Patching module-info Files (Red Hat - Optional)
  Network Installation (Red Hat)


Introduction
============

This file contains additional installation notes for the Broadcom NetXtreme
bcm5700 Linux driver that are specific to certain Linux distributions. General
installation notes are contained in README.TXT.


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

The current version of the driver has been tested on the following Linux
distributions:

Distributions for i386:

   Red Hat 8.0, 9.0 and 2.1AS
   UnitedLinux 1.0 based distributions (UnitedLinux 1.0, SuSE SLES8, 8.1,
      and SCO 4.0)
   UnitedLinux 1.0 SP1
   Mandrake 9.0
 
Distributions for ia64 and x86_64:

   UnitedLinux 1.0


Prerequisites
=============

In order to compile your Broadcom NetXtreme Linux driver, you must first
have a properly compiled kernel source tree which matches your running
kernel.  You must also have a working C/C++ compiler and all the associated
dependencies installed before attempting to compile the driver.
 
On Red Hat distributions, if you have opted for a custom installation, you
need to select "Development Tools" and "Kernel Development" to install
the necessary tools and kernel source tree.
   
On United Linux based distributions, you must change the software packages
installed by default when presented with the Installation Settings.  Under
software selelction, select "Detailed Selection".  In this area ensure that
"C/C++ Compiler and Tools" is selected.  This should install the C/C++
compiler as well as the kernel-source files.
   
For further assistance, please review your Linux documentation. 
    
      
Prepare Kernel Source Tree (United Linux 1.0 Distributions)
===========================================================
       
The following instructions pertain only to United Linux 1.0 based
distributions (SuSE SLES8, SuSE 8.x, SCO4.0, etc.)  These steps are not
needed for Red Hat, Mandrake and other similar distributions.
        
1. Prepare the kernel source tree.  These steps are necessary in order to
   compile a driver that will match your running kernel.
	
   cd /usr/src/linux-<kernel_version>.SuSE
   cp /boot/vmlinuz.config .config
   cp /boot/vmlinuz.version.h include/linux/version.h
   cp /boot/vmlinuz.autoconf.h include/linux/autoconf.h
   make oldconfig
   make dep

2. Now build and install the Broadcom Linux driver using either the rpm or
   tar archive installation files. The procedures are found in README.TXT.
					      
					       
Remove tg3 Driver
=================
					        
Many newer distributions and newer kernels may already contain and use the
tg3 driver by default for Broadcom BCM5700 series devices. While tg3 is a fully
functioning driver written by Red Hat, Broadcom recommends users to use
the bcm5700 driver written and tested by Broadcom.
						
1. Use ifconfig to bring down all interfaces used by tg3, then use `rmmod` to
   remove the module if loaded.  The following assumes eth0 and eth1 are both
   Broadcom devices using the tg3 driver.

   ifconfig eth0 down
   ifconfig eth1 down
   rmmod tg3
								    
2. Now it may be necessary to manually edit your /etc/modules.conf file to
   allow the bcm5700 driver to load at boot time instead of the tg3 driver.  See
   below.


Edit /etc/modules.conf
======================
									
If there is an alias entry in your /etc/modules.conf file referencing the
tg3 driver, make sure that you replace tg3 with bcm5700.  Otherwise, add the
entry below if necessary.
									 
Example:

alias eth0 bcm5700
									       

Patching PCI Files (Red Hat - Optional)
=======================================

To use the Red Hat kudzu hardware detection utility, and to list the
BCM5700 series devices using lspci, a number of files containing PCI vendor
and device information need to be patched with information on the BCM5700
series NICs. Patch files for Red Hat some of the latest Red Hat distributions
are included. Apply the appropriate patch by running the patch command.
For example, on Red Hat 8.0 for i386, apply the patch by doing the following:

   patch -N -p1 -d /usr < pci-rh80-i386.patch

Run kudzu:

   kudzu


Patching module-info Files (Red Hat - Optional)
===============================================

To use Red Hat's graphical network administration tool neat, the module-info
files need to be patched. Apply the appropriate patch by running the patch
command. For example, on Red Hat 8.0 for i386, apply the patch by doing the
following:

   patch -N -p1 -d /boot < modinfo-rh80-i386.patch

Run neat:

   neat


Network Installation (Red Hat)
==============================

For network installations through NFS, FTP, or HTTP (using a network boot disk
or PXE), a driver diskette that contains the bcm5700 driver is needed.  The
driver diskette images for the most recent Red Hat versions are included. Boot
drivers for other Linux versions can be compiled by modifying the Makefile and
the make environment. Further information is available from Red Hat's website.

To create the driver diskette, select the appropriate image file, gunzip it,
and do the following:

dd if=dd.img of=/dev/fd0H1440.

