FILE NAME: tg3-3.98e-1.src.rpm TITLE: HP NC-Series Broadcom TG3 Driver for Linux VERSION: 3.98e Release: 2 LANGUAGE: English CATEGORY: Software Solutions DIVISIONS: Enterprise and Mainstream Servers PRODUCTS AFFECTED: HP NC107i PCIe Gigabit Server Adapter HP NC105i PCIe Gigabit Server Adpater HP NC325m Quad Port PCIe Gigabit Server Adapter HP NC326m Dual Port PCIe Gigabit Server Adapter HP NC324i Integrated Dual Port PCI Express Gigabit Server Adapter HP NC325i Integrated Dual Port PCI Express Gigabit Server Adapter HP NC326i Integrated Dual Port PCI Express Gigabit Server Adapter HP NC150T PCI 4-Port Gigabit Combo Switch Adapter HP NC320x PCI Express Gigabit Server Adapter HP NC1020 Gigabit Server Adapter HP NC67xx Gigabit Server Adapter HP NC77xx Gigabit Server Adapter OPERATING SYSTEM: Red Hat Enterprise Linux 5 AS/ES for AMD64/EM64T Red Hat Enterprise Linux 5 AS/ES for x86 Red Hat Enterprise Linux 4 AS/ES for AMD64/EM64T Red Hat Enterprise Linux 4 AS/ES for x86 SUSE LINUX Enterprise Server 11 for AMD64/EM64T SUSE LINUX Enterprise Server 11 for x86 SUSE LINUX Enterprise Server 10 for AMD64/EM64T SUSE LINUX Enterprise Server 10 for x86 SUSE LINUX Enterprise Server 9 for AMD64/EM64T SUSE LINUX Enterprise Server 9 for x86 PREREQUISITES: ProLiant server supporting one of the above operating systems 256MB RAM minimum Latest HP System ROM NOTE: Visit the following URL to download the latest System ROM http://welcome.hp.com/country/us/en/support.html Select "Download drivers and software (and firmware)" EFFECTIVE DATE: 05/06/2009 SUPERSEDES: tg3-3.97i-1.src.rpm 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: Table of Contents ================= Introduction Packaging Kernel Source Code Setup Installing the RPM Package Driver Settings Driver Messages Limitations Uninstalling the RPM Package Introduction ============ This file describes the Linux driver for the 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 RELEASE.TXT and README.TXT files located under the following directories For Red Hat: /usr/share/doc/tg3- For SLES: /usr/share/doc/packages/tg3 User guides and additional HP Network Adapter information can be found at: http://h18004.www1.hp.com/products/servers/networking/index-nic.html Packaging ========= The driver is released in a source RPM format. The file name for the package is tg3-.src.rpm and is dependent on the kernel source code. If you have not installed the kernel source code and/or setup the source tree on your Linux system, refer to the "Kernel Source Code Setup" section below. Kernel Source Code Setup ======================== The tg3 driver requires the presence of the kernel source code and configuring the kernel source before building the tg3 driver. The following steps need to be done once for each kernel that is booted. For example, if the current kernel is UP (uni-processor) and an SMP (symmetrical-multi-processor) kernel is booted, these steps must be performed again to configure the kernel source for SMP before building the tg3 driver for the SMP kernel. Red Hat installation: If the /usr/src/linux- directory does not exist install the kernel source code per Red Hat instructions. Once installed, follow the commands listed below to configure the kernel source to match the running kernel. # cd /usr/src/linux- # make mrproper # make -e KERNELRELEASE=`uname -r` oldconfig # make -e KERNELRELEASE=`uname -r` dep SLES Installation: If the /usr/src/linux- directory does not exist, install the kernel source code per SUSE instructions. Once installed, follow the commands listed below to set up the kernel source tree. # cd /usr/src/linux- # make mrproper # make cloneconfig # make dep Installing the RPM Package ============================= 1. This package requires the kernel source code as well as setting up the source tree. Verify the source code /usr/src/linux- directory exists. # cd /usr/src/linux- If the kernel source code is not present, then refer to the "Kernel Source Code Setup" section. Note: Ignore this step for RHEL4 and RHEL5.Kernel source code setup is not required for RHEL4 or RHEL5. 2. Install the source RPM package. Before installing tg3 package, check for the existence of bcm5700 package. # rpm -q bcm5700 If the package exists, the RPM package has to be uninstalled as follows: # rpm -e bcm5700 Install the tg3 source rpm. # rpm -ivh tg3-.src.rpm 3. 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, refer to the "Kernel Source Code Setup" section to correctly setup the source tree. 4. 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 5. 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//tg3-..rpm --force 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 6. 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 7. Ensure that the /etc/modules.conf file is configured similar to the example listed below. The example below is presented as if more than one adapter is present. If so, one eth# instance should exist for each Ethernet port. Refer to the modules.conf man page for more information. alias eth0 tg3 alias eth1 tg3 alias eth# tg3 For SLES, the configuration file is /etc/modprobe.conf or /etc/modprobe.conf.local Note: If the above entry does not exist, add it in the configuration file. 8. 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. Load the tg3 driver: # insmod tg3 or # insmod tg3.ko (on 2.6.x kernels) or # modprobe tg3 Note: HP recommends using modprobe in SLES because 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 bcm5700 and some other drivers, device and drivers parameters are supplied through /etc/modules.conf which will ensure that settings are preserved across reboots. For example, alias ethX bcm5700 options line_speed=10. For the tg3 driver, driver settings can be queried and changed using ethtool. The latest ethtool can be downloaded from http://sourceforge.net/projects/gkernel if it is not already installed. 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 777. #chmod +777 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 README.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- (C) Copyright 2002, 2003 - 2008 Hewlett-Packard Development Company, L.P. Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies.