> Back to Contents Page

> ## Linux Driver Software: Broadcom NetXtreme® 57XX User Guide

> Limitations

> Packaging

> Installing TG3 Driver Software

> Network Installations

> Patching PCI Files (Optional)

> Unloading/Removing the TG3 Driver

> Driver Messages

> Teaming with Channel Bonding

> ### Limitations

> The current version of the adapter driver has been tested on the latest Red Hat, SuSE, and other Linux distributions for i386, ia64, and x86_64 CPU architectures using 2.4.x and 2.6.x kernels. The driver has been tested up to kernel version 2.4.33 and 2.6.13. The driver should work on other little endian or big endian CPU architectures, but only very limited testing has been done on some of these machines. The Makefile may have to be modified to include architecture-specific compile switches, and some minor changes in the source files may also be required. On these machines, patching the driver into the kernel is recommended.

> ### Packaging

> The Linux TG3 driver is released in the following packaging formats (file names):

> - Source RPM (tg3-version.src.rpm)
> - Supplemental (tg3_sup-version.tar.gz)
> - Compressed tar (tg3-version.tar.gz)

> Identical source files to build the driver are included in both RPM and TAR source packages. The tar file contains additional utilities such as patches and driver disk images for network installation.

> ### Installing TG3 Driver Software

> Installing the Source RPM Package

> Building the Driver from the Source TAR File

> #### Installing the Source RPM Package

> 1. Install the source RPM package.

>     rpm -ivh tg3-version.src.rpm

> 2. Change the directory to the RPM path and build the binary driver for your kernel (the RPM path is different for different Linux distributions).

>     cd /usr/src/redhat,OpenLinux,turbo,packages,rpm ...

>     rpm -bb SPECS/tg3.spec or rpmbuild -bb SPECS/tg3.spec

>     rpmbuild -bb SPECS/tg3.spec (for RPM version 4.x.x)

> NOTE: During your attempt to install a source RPM package, the following message may be displayed:

>     error: cannot create %sourcedir /usr/src/redhat/SOURCE

> The most likely cause of the error is that the rpm-build package has not been installed. Locate the rpm-build package on the Linux installation media and install it using the following command:

>     rpm -ivh rpm-build-version.i386.rpm

> Complete the installation of the source RPM.

> 3. Install the newly-built package (driver and man page).

>     rpm -ivh RPMS/i386/tg3-version.i386.rpm

> Depending on the kernel, the driver is installed to one of the following paths:

> 2.4.x kernels:

> /lib/modules/kernel_version/kernel/drivers/net/tg3.o

> 2.4.x kernels with the tg3 driver patched in:

> /lib/modules/kernel_version/kernel/drivers/addon/tg3/tg3.o

> 2.6.x kernels:

> /lib/modules/kernel_version/kernel/drivers/net/tg3.ko

> 4. Load the driver.

>     modprobe tg3

> To configure the network protocol and address, refer to the Linux version-specific documentation.

> #### Building the Driver from the Source TAR File

> 1. Create a directory (tg3-version) and extract the TAR files to the directory.

>     tar xvzf tg3-version.tgz

> 2. Build the driver tg3.o as a loadable module for the running kernel.

>     CD tg3-version

>     make clean

>     make; make install

> 3. Test the driver by loading it.

>     rmmod tg3

>     modprobe tg3

> No message should be returned if this command runs properly.

> NOTE: See the RPM instructions above for the location of the installed driver.

> 4. To configure network protocol and address, refer to the manuals supplied with your operating system.

> ### Network Installations

> For network installations through NFS, FTP, or HTTP (using a network boot disk or PXE), a driver disk that contains the tg3 driver may be needed. The driver disk 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 the Red Hat website, http://www.redhat.com.

> To create the driver disk, select the appropriate image file (located in tg3_sup-version.tar.gz) and type the following:

>     dd if=<version>.dd.img of=/dev/fd0

> ### Patching PCI Files (Optional)

> For hardware detection utilities such as Red Hat kudzu to properly identify tg3 supported devices, a number of files containing PCI vendor and device information may need to be updated.

> Apply the updates by running the scripts provided in the Supplemental tar file. For example, on Red Hat Enterprise Linux, apply the updates by doing the following:

>     ./patch_pcitbl.sh  /usr/share/hwdata/pcitable pci.updates /usr/share/hwdata/pcitable.new

>     ./patch_pciids.sh /usr/share/hwdata/pci.ids pci.updates /usr/share/hwdata/pci.ids.new

> Next, the old files can be backed up and the new files can be renamed for use.

>     cp /usr/share/hwdata/pci.ids /usr/share/hwdata/old.pci.ids

>     cp /usr/share/hwdata/pci.ids.new /usr/share/hwdata/pci.ids

>     cp /usr/share/hwdata/pcitable /usr/share/hwdata/old.pcitable

>     cp /usr/share/hwdata/pcitable.new /usr/share/hwdata/pcitable

> NOTE: The paths above are for Red Hat distributions. These paths may be different on other distributions.

> ### Unloading/Removing the TG3 Driver

> Unloading/Removing the Driver from an RPM Installation

> Removing the Driver from a TAR Installation

> #### Unloading/Removing the Driver from an RPM Installation

> To unload the driver, use ifconfig to bring down all ethX interfaces opened by the driver, and then type the following:

>     rmmod tg3

> If the driver was installed using rpm, do the following to remove it:

>     rpm -e tg3-<version>

> #### Removing the Driver from a TAR Installation

> If the driver was installed using make install from the tar file, the tg3.o driver file has to be manually deleted from the operating system. See Installing the Source RPM Package for the location of the installed driver.

> If there is an interface configuration that is related to the tg3 driver, then bring the interface down first by using ifconfig ethx down and then rmod tg3.

> ### Driver Messages

> The following are the most common sample messages that may be logged in the /var/log/messages file. Use dmesg -n level to control the level at which messages appear on the console. Most systems are set to level 6 by default.

> Driver Signon

>     tg3.c:version (date)

> NIC Detected

>     eth#: Tigon3 [partno (BCM95xxx) rev 4202 PHY (57xx) (PCI Express) 10/100/1000BaseT Ethernet :00:xx:xx:xx:xx:xx

>     eth#: RXcsums [1] LinkChg REG [0] MIirq [0] ASF [0] Split [0] Wirespeed [1]TSOcap [1]

>     eth#: dma_rwctrl [76180000]

>     ACPI : PCI interrupt 0000:02:02.0 [A] -> GSI 26 (level,low) -> IRQ 233

> Flow Control

>     tg3: eth#: Flow control is configured for TX and for RX.

> Link Up and Speed Indication

>     tg3: eth#: Link is up at 1000 Mbps, full duplex.

> Link Down Indication

>     tg3: eth#: Link is down.

> ### Teaming with Channel Bonding

> With the TG3 driver, you can team adapters together using the bonding kernel module and a channel bonding interface. Information on channel bonding can be found at http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/ref-guide/s1-modules-ethernet.html.

> Back to Contents Page