The driver package from is released in two packaging
formats: source RPM and compressed tar formats. The file names for the two
packages are tg3-.src.rpm and tg3-.tar.gz respectively.
Identical source files to build the driver are included in both packages.
Installing Source RPM Package
=============================
The following are general guidelines for installing the driver.
1. Install the source RPM package:
rpm -ivh tg3-.src.rpm
2. CD to the RPM path and build the binary driver for your kernel:
cd /usr/src/{RedHat,OpenLinux,turbo,packages,rpm ..}
rpm -bb SPECS/tg3.spec
or
rpmbuild -bb SPECS/tg3.spec (for RPM version 4.x.x)
Note that the RPM path is different for different Linux distributions.
The driver will be compiled for the running kernel by default. To build
the driver for a kernel different than the running one, specify the
kernel by defining it in KVER:
rpmbuild -bb SPECS/tg3.spec --define "KVER "
where in the form of 2.x.y-z is the version of another
kernel that is installed on the system.
3. Install the newly built package (driver and man page):
rpm -ivh RPMS//tg3-..rpm
is the architecture of the machine, e.g. i386:
rpm -ivh RPMS/i386/tg3-.i386.rpm
Note that the --force option may be needed on some Linux distributions
if conflicts are reported.
The driver will be installed in the following path:
2.4.x kernels:
/lib/modules//kernel/drivers/net/tg3.o
2.6.x kernels:
/lib/modules//kernel/drivers/net/tg3.ko
4. Load the driver:
insmod tg3.o
or
insmod tg3.ko (on 2.6.x kernels)
or
modprobe tg3
5. To configure network protocol and address, refer to various Linux
documentations.
Building Driver From TAR File
=============================
The following are general guidelines for installing the driver.
1. Create a directory and extract the files:
tar xvzf tg3-.tar.gz
2. Build the driver tg3.o (or tg3.ko) as a loadable module for the
running kernel:
cd src
make
The driver will be compiled for the running kernel by default. To build
the driver for a kernel different than the running one, specify the
kernel by defining it in KVER:
make KVER=
where in the form of 2.x.y-z is the version of another
kernel that is installed on the system.
3. Test the driver by loading it:
insmod tg3.o
or
insmod tg3.ko (on 2.6.x kernels)
or
insmod tg3
4. Install the driver:
make install
See RPM instructions above for the location of the installed driver.
5. To configure network protocol and address, refer to various Linux
documentations.
Driver Settings
===============
This and the rest of the sections below apply to both the in-kernel tg3
driver and the tg3 driver package from Broadcom.
Driver settings can be queried and changed using ethtool. The latest ethtool
can be downloaded from if it is not
already installed. The following are some common examples on how to use
ethtool. See the ethtool man page for more information. ethtool settings do
not persist across reboot or module reload. The ethtool commands can be put
in a startup script such as /etc/rc.local to preserve the settings across a
reboot. On Red Hat distributions, "ethtool -s" parameters can be specified
in the ifcfg-ethx scripts using the ETHTOOL_OPTS keyword. The specified
ethtool parameters will be set during ifup. Example:
/etc/sysconfig/network-scripts/ifcfg-eth0:
ETHTOOL_OPTS="wol g speed 100 duplex half autoneg off"
Some ethtool examples:
1. Show current speed, duplex, and link status:
ethtool eth0
2. Change speed, duplex, autoneg:
Example: 100Mbps half duplex, no autonegotiation:
ethtool -s eth0 speed 100 duplex half autoneg off
Example: Autonegotiation with full advertisement:
ethtool -s eth0 autoneg on
Example: Autonegotiation with 100Mbps full duplex advertisement only:
ethtool -s eth0 speed 100 duplex full autoneg on
3. Show flow control settings:
ethtool -a eth0
4. Change flow control settings:
Example: Turn off flow control
ethtool -A eth0 autoneg off rx off tx off
Example: Turn flow control autonegotiation on with tx and rx advertisement:
ethtool -A eth0 autoneg on rx on tx on
Note that this is only valid if speed is set to autonegotiation.
5. Show offload settings:
ethtool -k eth0
6. Change offload settings:
Example: Turn off TSO (TCP segmentation offload)
ethtool -K eth0 tso off
7. Get statistics:
ethtool -S eth0
8. Perform self-test:
ethtool -t eth0
Note that the interface (eth0) must be up to do all tests.
9. See ethtool man page for more options.
Driver Defaults
===============
Speed : Autonegotiation with all speeds advertised
Flow control : Autonegotiation with rx and tx advertised
MTU : 1500 (range 46 - 9000)