Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP Integrity BL860c Server Blade Linux Installation White Paper: Red Hat Enterprise Linux and SUSE Linux Enterprise Server

Appendix A: Instructions for Installing a New tg3 Driver for Ethernet Pass-Thru Interconnect Module Users

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

The following contents are found in the tg3-3.71b-1.src.rpm RPM file that is used to install the ethernet pass-thru interconnect module:

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

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2007 Hewlett-Packard Development Company, L.P.