Installing TG3 Driver Software
Unloading/Removing the TG3 Driver
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.
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 the Source RPM Package
Building the Driver from the Source TAR File
rpm -ivh tg3-version.src.rpm
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.
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
modprobe tg3
To configure the network protocol and address, refer to the Linux version-specific documentation.
tar xvzf tg3-version.tgz
CD tg3-version
make clean
make; make install
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.
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
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 Driver from an RPM Installation
Removing the Driver from a TAR 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>
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 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.
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.