Back to Contents Page

Linux Driver Software: Broadcom NetLink®/NetXtreme® 57XX User Guide

Limitations

Packaging

Installing TG3 Driver Software

Network Installations

Patching PCI Files (Optional)

Unloading/Removing the TG3 Driver

Driver Messages


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

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.
  2. rpm -ivh tg3-version.src.rpm
    
  3. Change the directory to the RPM path and build the binary driver for your kernel (the RPM path is different for different Linux distributions).
  4. 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.

  5. Install the newly-built package (driver and man page).
  6. 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

  7. Load the driver.
  8. 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.
  2. tar xvzf tg3-version.tgz
    
  3. Build the driver tg3.o as a loadable module for the running kernel.
  4. CD tg3-version
    
    make clean
    
    make; make install
    
  5. Test the driver by loading it.
  6. 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.

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


Back to Contents Page