FILE NAME: tg3-3.71b-1.src.rpm
TITLE: HP Broadcom TG3 Driver for Linux
VERSION: 3.71b
LANGUAGE: English
CATEGORY: Software Solutions
DIVISIONS: Enterprise and Mainstream Servers
PRODUCTS AFFECTED:
HP BL860c Blade Server
OPERATING SYSTEM:
Red Hat Enterprise Linux 4 AS/ES for ia-64
SUSE LINUX Enterprise Server 10 for ia-64
PREREQUISITES: Ethernet Pass-Thru Interconnect module (406740-B21)
EFFECTIVE DATE: 3/1/2007
SUPERSEDES: N/A
DESCRIPTION: This RPM contains the HP Tested and Approved Linux
tg3 driver for use with the Server Adapters mentioned
in the PRODUCTS AFFECTED section of this document.
ENHANCEMENTS/FIXES:
- This driver fixes a problem with the BL860c working with the
Ethernet Pass-Thru Interconnect module (406740-B21).
Table of Contents
=================
Introduction
Background
Packaging
Red Hat Enterprise Linux 4 AS/ES Installation via CD/DVD
Red Hat Enterprise Linux 4 AS/ES Installation via PXE
Red Hat Enterprise Linux 4 AS/ES Installation via Virtual Media
SUSE LINUX Enterprise Server 10 Installation via CD/DVD
SUSE LINUX Enterprise Server 10 Installation via PXE
SUSE LINUX Enterprise Server 10 Installation via Virtual Media
Installing the RPM Package
Driver Settings
Driver Messages
Limitations
Uninstalling the RPM Package
Introduction
============
This file describes the Linux driver for the Ethernet functionality in
the HP BL860c blade server. HP Gigabit Server Adapters mentioned in the
PRODUCTS AFFECTED section of this document. After installation,
additional information can be found in the manual page for tg3, and in
the README.TXT and TG3.TXT files located under the following directories
For Red Hat: /usr/share/doc/tg3-<version>
For SLES: /usr/share/doc/packages/tg3
For more background regarding installing Linux on the BL860c, please
consult the "HP Integrity BL860c Server Linux Installation White Paper"
at http://www.docs.hp.com/en/5991-8659/index.html.
Background
==========
This driver fixes a problem with getting Ethernet connections to work on
the HP BL860c blade with the Ethernet Pass-Thru interconnect module
(406740-B21). The problem is that the existing Ethernet Linux driver
(tg3) will not properly autonegotiate to get an Ethernet connection.
The driver for HP-UX, EFI, and Windows driver have already been changed
to fix this problem.
This problem only occurs on BL860c blade when being used with the
Ethernet Pass-Thru interconnect module (406740-B21). This problem will
not occur with any of the BL860c supported switches for c-Class, such
as: (a) Cisco Catalyst Blade Switch 3020 (410916-B21) or (b) HP GbE2c
Ethernet Blade Switch (438030-B21).
The 3.71b version of the tg3 driver fixes this problem. We are working
to get the fixed tg3 driver to be included in future versions of Red Hat
Enterprise Linux and SUSE Linux Enterprise Server. The tg3 driver in
RHEL4U4 and SLES10 will not work with with Pass-Thru.
The failure mode with the existing tg3 driver is that it fails to get an
Ethernet connection at all. If you need to get an old Linux
distribution to work with the Pass-Thru then you can work around it with
ethtool command to turn off autonegotiation. Either on the kernel
command line or once booted. Using ethtool to work around this problem
might not work after Linux is installed, and updating the driver is
recommended.
Even with the fixed tg3 driver the system may not establish a link 100
percent of the time because of a hardware problem. This is an issue that
manifests itself on Linux and does not affect other operating systems.
Until this issue is resolved, if the system does not establish a link,
then simply retry the Ethernet operation that failed.
Packaging
=========
The driver is released in a source RPM format. The file name for the
package is tg3-<version>.src.rpm and is dependent on the kernel source
code. The instructions in the next 5 sections describe how to install
Linux and install the kernel source code.
Red Hat Enterprise Linux 4 AS/ES Installation via CD/DVD
========================================================
Burn the tg3-<version>.src.rpm to a CD/DVD so that it can be used to
install the file.
Go thru the RHEL4U4 install using the RHEL4U4 install media and select
the packages that you need plus the package(s) to be able to build the
tg3 driver. The high level package that is needed to build the tg3
driver is: "Development Tools". If you want to limit the software
installed for building the tg3 driver then use the F2 key during package
selection and select just the following packages underneath the
"Development Tools" selection: elfutils, gcc, kernel-devel, libtool,
make, redhat-rpm-config, rpm-build.
After the install completes and you are logged into Linux, then change
the CD/DVD to the one with tg3-<version>.src.rpm. Then do the following
to mount this CD/DVD file from Linux:
mount /dev/cdrom /media/cdrom/
Proceed to the 'Installing the RPM Package' step. When installing the
RPM package something like the following will probably work:
rpm -ivh /media/cdrom/tg3-3.71b-1.src.rpm
Red Hat Enterprise Linux 4 AS/ES Installation via PXE
=====================================================
Install the tg3-<version>.src.rpm onto your PXE server to enable
you to easily copy it over to your new system using the EFI
tftp command.
The standard RHEL4U4 instalation media can be used to install from a
PXE server by using the following kernel command line when starting
up the RHEL4U4 install image:
ethtool="speed=1000, duplex=full, autoneg=off"
Go thru the RHEL4U4 install over the network and select the packages
that you need plus the package(s) to be able to build the tg3 driver.
The high level package that is needed to build the tg3 driver is:
"Development Tools". If you want to limit the software installed for
building the tg3 driver then use the F2 key during package selection and
select just the following packages underneath the "Development Tools"
selection: elfutils, gcc, kernel-devel, libtool, make,
redhat-rpm-config, rpm-build.
After the install completes and is rebooting, enter the EFI shell
instead of starting up Linux. Change to the volume corresponding to the
EFI boot partition. Use the tftp command to get the
tg3-<version>.src.rpm file from your PXE server. An example of this is
show below:
Shell> fs0:
fs0:\> ls
Directory of: fs0:\
02/01/07 05:59p <DIR> 2,048 EFI
0 File(s) 0 bytes
1 Dir(s)
fs0:\> tftp
tftp> get tg3-3.71b-1.src.rpm
Received 118081 bytes
tftp> quit
fs0:\> exit
After getting the tg3-<version>.src.rpm file then exit the EFI shell and
select Red Hat Enterprise Linux and all it to start up. When Linux boots
the Ethernet port will not come up until to install the new tg3 driver.
Proceed to the 'Installing the RPM Package' step. When installing the
RPM package something like the following will probably work:
rpm -ivh /boot/efi/tg3-<version>.src.rpm
Red Hat Enterprise Linux 4 AS/ES Installation via Virtual Media
===============================================================
On a Linux system that will be the client of the iLO, get the RHEL4U4
.iso install image and the tg3-<version>.src.rpm file. This client
will provide the .iso images that can be used by the iLO and the
associated system to install Linux.
Do the following to convert the tg3-<version>.src.rpm file to a .iso
file that can be mounted the vmedia capability in iLO:
mkisofs -J -o tg3.iso tg3-<version>.src.rpm
On the same client system, connect to the iLO and connect the vMedia
system to the RHEL4U4 image. Now start the install on the BL860c using
the vMedia interface.
Go thru the RHEL4U4 install and select the packages that you need plus
the package(s) to be able to build the tg3 driver. The high level
package that is needed to build the tg3 driver is: "Development Tools".
If you want to limit the software installed for building the tg3 driver
then use the F2 key during package selection and select just the
following packages underneath the "Development Tools" selection:
elfutils, gcc, kernel-devel, libtool, make, redhat-rpm-config,
rpm-build.
After the install completes and you are logged into Linux, then change
the vMedia to point to the tg3.iso file that was created earlier. Then
do the following to mount this .iso file from Linux:
mount /dev/cdrom /media/cdrom/
Proceed to the 'Installing the RPM Package' step. When installing the
RPM package something like the following will probably work:
rpm -ivh /media/cdrom/tg3-3.71b-1.src.rpm
SUSE LINUX Enterprise Server 10 Installation via CD/DVD
=======================================================
Burn the tg3-<version>.src.rpm to a CD/DVD so that it can be used to
install the file.
On the same client system, connect to the iLO and connect the vMedia
system to the SLES10 image. Now start the install on the BL860c using
the CD/DVD interface.
Go thru the SLES10 install and select the packages that you need plus
the package(s) to be able to build the tg3 driver. Select the following
packages to be able to build the tg3 driver be installed:
+ C/C++ Compiler and Tools (from Filter->Patterns)
+ kernel-source-* package
+ kernel-syms-* package
After the install completes and you are logged into Linux, then change
the CD/DVD to be the tg3-<version>.src.rpm file. Then do the following
to mount this .iso file from Linux:
mount /dev/cdrom /media/
Proceed to the 'Installing the RPM Package' step. When installing the
RPM package something like the following will probably work:
rpm -ivh /media/tg3-3.71b-1.src.rpm
SUSE LINUX Enterprise Server 10 Installation via PXE
====================================================
Install the tg3-<version>.src.rpm onto your PXE server to enable
you to easily copy it over to your new system using the EFI
tftp command.
The standard SLES10 instalation media can be used to install from a
PXE server by using the following kernel command line option when
starting up the SLES10 install image:
ethtool=eth[0-3]="speed 1000 duplex full autoneg off"
Go thru the SLES10 install over the network and select the packages
that you need plus the package(s) to be able to build the tg3 driver.
Select the following packages to be able to build the tg3 driver
be installed:
+ C/C++ Compiler and Tools (from Filter->Patterns)
+ kernel-source-* package
+ kernel-syms-* package
After the install completes and is rebooting, enter the EFI shell.
Change to the volume corresponding to the EFI boot partition.
Use the tftp command to get the
Shell> fs0:
fs0:\> ls
Directory of: fs0:\
02/01/07 02:15p <DIR> 4,096 efi
0 File(s) 0 bytes
1 Dir(s)
fs0:\> tftp
tftp> get tg3-3.71b-1.src.rpm
Received 118081 bytes
tftp> quit
fs0:\> exit
Proceed to the 'Installing the RPM Package' step. When installing the
RPM package something like the following will probably work:
rpm -ivh /boot/efi/tg3-<version>.src.rpm
SUSE LINUX Enterprise Server 10 Installation via Virtual Media
==============================================================
On a Linux system that will be the client of the iLO, get the SLES10
.iso install image and the tg3-<version>.src.rpm file. This client
will provide the .iso images that can be used by the iLO and the
associated system to install Linux.
Do the following to convert the tg3-<version>.src.rpm file to a .iso
file that can be mounted the vmedia capability in iLO:
mkisofs -J -o tg3.iso tg3-<version>.src.rpm
On the same client system, connect to the iLO and connect the vMedia
system to the SLES10 image. Now start the install on the BL860c using
the vMedia interface.
Go thru the SLES10 install and select the packages that you need plus
the package(s) to be able to build the tg3 driver. Select the following
packages to be able to build the tg3 driver be installed:
+ C/C++ Compiler and Tools (from Filter->Patterns)
+ kernel-source-* package
+ kernel-syms-* package
After the install completes and you are logged into Linux, then change
the vMedia to point to the tg3.iso file that was created earlier. Then
do the following to mount this .iso file from Linux:
mount /dev/cdrom /media/
Proceed to the 'Installing the RPM Package' step. When installing the
RPM package something like the following will probably work:
rpm -ivh /media/tg3-3.71b-1.src.rpm
Installing the RPM Package
=============================
1. Install the source RPM package.
Install the tg3 source rpm.
# rpm -ivh tg3-<version>.src.rpm
2. Build the binary RPM for the tg3 driver.
Red Hat Installation:
# cd /usr/src/redhat
# rpmbuild -bb SPECS/tg3.spec
SLES Installations:
# cd /usr/src/packages
# rpmbuild -bb SPECS/tg3.spec
If you get an error during the build process you may not have
correctly install the kernel source and development tools.
3. Remove the loaded tg3 module.
# rmmod tg3
Check for the existence of a current version of the tg3 package as
follows:
# rpm -q tg3
If an old version of the package exists, the RPM package should be
removed.
# rpm -e tg3
Verify that the old tg3 package has been removed as follows:
# rpm -q tg3
4. Install the new RPM package. This installs the tg3 driver and man
page. Do not use the U (Upgrade) flag in the RPM command below -
previous tg3 drivers must be removed as described in step 4 above
before installing this version.
# rpm -ivh RPMS/<arch>/tg3-<version>.<arch>.rpm --force
The driver will be installed in the following path:
2.4.x kernels;
/lib/modules/<kernel_version>/kernel/drivers/net/tg3.o
2.6.x kernels:
/lib/modules/<kernel_version>/kernel/drivers/net/tg3.ko
5. Configure your network setting and address. You may need to refer
to your Linux vendor documentation. Helpful network configuration
tools such as "yast2" in SLES or
linuxconf/redhat-config-network/netconfig in Red Hat exist for
easy configuration.
For SLES, you must specify the module as tg3 while
configuring the network. The module can be specified in Hardware
Details of Advanced configuration
6. You can now reboot your server. Upon reboot the network should
start with the tg3 driver loaded and the correct network
configuration. To verify that the tg3 driver is loaded, use
the following command.
# lsmod
If tg3 is listed then the tg3 driver loaded.
Note: If the above entry doesn't exist add it in configuration file.
Load the tg3 driver:
# insmod tg3
or
# insmod tg3.ko (on 2.6.x kernels)
or
# modprobe tg3
Note: It is prefered to use modprobe in SLES. insmod may not work
the way it worked in 2.4 kernels.
Use ifconfig to bring up the network with the new driver:
# ifconfig eth# up
Refer to the man pages for lsmod, ifconfig, rmmod, insmod, modprobe,
modules.conf and modprobe.conf for more detailed information.
Driver Settings
=================
For the tg3 driver, driver settings can be queried and changed using
ethtool. See the ethtool man page for more information. ethtool
settings do not persist across reboot or module reload. To preserve the
setting across reboots, you can do the following -
For Red Hat Linux
a) Add appropriate 'ethtool' commands to /etc/rc.local, like.
ethtool -s ethX speed 10
b) 'ethtool -s' parameters can be specified in the ifcfg-ethX scripts
using the ETHTOOL_OPTS keyword.
Example: /etc/sysconfig/network-scripts/ifcfg-ethX:
ETHTOOL_OPTS="wol g speed 100 duplex half autoneg off"
For SuSe Linux
a) Modify /etc/sysconfig/network/config file to have
following options set to 'yes'.
GLOBAL_POST_UP_EXEC="yes"
GLOBAL_PRE_DOWN_EXEC="yes"
b) Create a script file (E.g, ethtool-settings) in
/etc/sysconfig/network/if-up.d directory with required ethtool
commands.
E.g, the file can contain the following ethtool command -
/usr/sbin/ethtool -s ethX speed 10
c) Set the mode of the file to 755.
#chmod +755 ethtool-settings
This will ensure that the script is executed each time the interface
is brought up.
The complete set of Module Parameters supported by the tg3 driver
is described in the TG3.TXT which is installed under the
appropriated directories as mentioned in the Introduction section.
Module Parameters can be queried and changed using ethtool.
Driver Messages
===============
The following are the most common sample messages that may be logged in
the file /var/log/messages. Some Linux distributions may not display
messages to the console. To set messages to display on the console, at
the command line use the following to control the level at which
messages will appear on the console.
# dmesg -n 6
Most systems are set to level 6 by default.
Limitations
===========
The current version of the driver has been tested on 2.4.x kernels
starting from 2.4.24 and all 2.6.x kernels. The driver may not compile
on kernels older than 2.4.24. Testing is concentrated on i386 and x86_64
architectures. Only limited testing has been done on some other
architectures.
Minor changes to some source files and Makefile may be needed on some
kernels.
Uninstalling the RPM Package
=============================
The following command will uninstall the tg3 RPM.
# rpm -e tg3-<version>
(C) Copyright 2002, 2003 - 2007 Hewlett-Packard Development Company,
L.P. Product names mentioned herein may be trademarks and/or registered
trademarks of their respective companies
|