FILE NAME: e100-2.3.27a-1.src.rpm TITLE: HP Proliant NC31XX Fast Ethernet NIC Driver For Linux VERSION: 2.3.27a LANGUAGE: English CATEGORY: Software Solutions DIVISIONS: Enterprise and Mainstream Servers PRODUCTS AFFECTED: HP NC3120 Fast Ethernet Adapter HP NC3121 Fast Ethernet Adapter HP NC3122 Fast Ethernet Adapter HP NC3123 Fast Ethernet Adapter HP NC3131 Fast Ethernet Adapter HP NC3132 Fast Ethernet Adapter HP NC3133 Fast Ethernet Adapter HP NC3134 Fast Ethernet Adapter HP NC3135 Fast Ethernet Adapter HP NC3163 Fast Ethernet Adapter OPERATING SYSTEM: Red Hat Linux 8.0 Professional - Errata kernel 2.4.20-20 (SMP,UP and BigMem) Red Hat Linux 7.3 Professional - Errata kernel 2.4.20-20 (SMP,UP and BigMem) Red Hat Linux 7.2 Professional - Errata kernel 2.4.20-20 (SMP,UP and BigMem) Red Hat Enterprise Linux 3 Red Hat Enterprise Linux 2.1 - QU2 - Errata kernel 2.4.9-e.27 (SMP,UP and Enterprise) SuSE Linux Enterprise Server 7 (SLES-7) - Errata kernel 2.4.18-280 (SMP) - Errata kernel 2.4.18-280 (UP) Conectiva Linux Enterprise Edition, SCO Linux 4.0, SuSE Linux Enterprise Server 8 and Turbolinux 8 all powered by UnitedLinux 1.0. - Service Pack 3 NOTE: For Red Hat Linux 7.2 Professional BigMem installations, the system needs to be pre-configured before setting up the kernel sources and building the NIC and intermediate drivers. Refer to the Customer Advisory EU030812_CW01 for details on how to pre-configure the system. To access the customer advisory, visit www.hp.com and search for EU030812_CW01. PREREQUISITES: Pentium based computer 128MB RAM minimum Latest HP system ROM Note: Visit the following URL to upgrade the ROM http://h18000.www1.hp.com/support/files EFFECTIVE DATE: 12/15/03 SUPERSEDES: e100-2.2.21c-1.src.rpm DESCRIPTION: This RPM contains the e100 driver for HP ProLiant NC31xx Fast Ethernet NICs running under Linux ENHANCEMENTS/FIXES: - This rpm package now builds on BIGMEM kernels and performs proper cleanup when it is uninstalled. - The driver now supports the following ethtool ioctls ETHTOOL_TEST ETHTOOL_GRINGPARAM ETHTOOL_SRINGPARAM ETHTOOL_GPAUSEPARAM ETHTOOL_SPAUSEPARAM ETHTOOL_GRXCSUM ETHTOOL_SRXCSUM ETHTOOL_GTXCSUM ETHTOOL_STXCSUM ETHTOOL_GSG ETHTOOL_SSG ETHTOOL_GTSO ETHTOOL_STSO These ioctls enable the driver to support offline/online diagnostics, Getting and Setting pause parameters, Getting and Setting offload information, and tcp-segmentation-offload settings through the ethtool application. Table of Contents ================= Introduction Packaging Kernel Source Code Setup Installing the RPM Package Statistics Limitations Uninstalling the RPM Package Introduction ============ This file describes the Linux driver for the HP Server Adapters mentioned in the PRODUCTS AFFECTED section. After installation additional information can be found in the MAN page for e100, and in the RELEASE.TXT file located at: For Red Hat: /usr/share/doc/e100-/README For SuSE SLES7: /usr/share/doc/packages/e100/README For UnitedLinux 1.0: /usr/share/doc/packages/e100/README User guides and additional HP Network Adapter information can be found at: http://h18000.www1.hp.com/support/networking/nics/index.html NOTE: The entries in /proc/net/PRO_LAN_Adapters, currently provided by the HP Proliant NC31XX Fast Ethernet NIC Driver will not be available after 2003. Most of the information being provided in these /proc entries will be obtainable through the ethtool utility. Packaging ========= The driver is released in a source RPM format. The file name for the package is e100-.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, see the "Kernel Source Code Setup" section below. The steps in the following section (kernel Source Code setup) and "Installing the RPM Package" have to be executed first time a new kernel is booted. Kernel Source Code Setup ======================== The e100 driver requires the presence of the kernel source code and configuring the kernel source before building the e100 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 e100 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 UnitedLinux 1.0 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 setup the kernel source tree. # cd /usr/src/linux-.SuSE # make mrproper # make cloneconfig # make dep SuSE SLES 7 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 setup the kernel source tree. # cd /usr/src/linux-.SuSE # cp /boot/vmlinuz.config .config # cp /boot/vmlinuz.version.h include/linux/version.h # cp /boot/vmlinuz.autoconf.h include/linux/autoconf.h # make oldconfig # 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 exist. # cd /usr/src/linux- If the kernel source code is not present then refer to the "Kernel Source Code Setup" section. 2. Install the source RPM package. # rpm -ivh e100-.src.rpm 3. Build the binary RPM for the e100 driver. Red Hat Installation: # cd /usr/src/redhat # rpmbuild -bb SPECS/e100.spec SuSE SLES7 and UnitedLinux 1.0 Installations: # cd /usr/src/packages # rpm -bb SPECS/e100.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. Install the new RPM package. This installs the e100 driver and man page. Note to Red Hat users: The e100 driver installed by this RPM supersedes the default eepro100 driver. The existing eepro100 driver will have to be removed prior to installing the e100 driver. This e100 driver has been tested and approved by HP. To rename the existing eepro100 driver, use the following command. # mv /lib/modules//kernel/drivers/net/eepro100.o /lib/modules//kernel/drivers/net/eepro100.o.old # rpm -ivh RPMS/i386/e100-.i386.rpm If an older version of e100 already exists or a conflict occurs, use the "force" command as shown below. # rpm -ivh RPMS/i386/e100-.i386.rpm --force Note: It is observed that the installation of this e100 driver package takes some time after the above installation command is invoked and this should not be mistaken for the package installation hanging. Please allow for some time and the installation should complete succesfully. The e100.o module is installed in the following directory: Red Hat 8.0 /lib/modules//kernel/drivers/net Red Hat 7.3 /lib/modules//kernel/drivers/net Red Hat 7.2 /lib/modules//kernel/drivers/net Red Hat EL 3 /lib/modules//kernel/drivers/net Red Hat EL 2.1 /lib/modules//kernel/drivers/net SuSE SLES7 /lib/modules//kernel/drivers/net UnitedLinux 1.0 /lib/modules//kernel/drivers/net 5. Configure your network setting and address. You may need to refer to your Linux vendor documentation. Use the "netconfig" tool for RedHat configuration. Other helpful network configuration tools such as "yast" in SLES 7 and UnitedLinux exist for easy configuration. 6. 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. View the modules.conf man page for more information. alias eth0 e100 alias eth1 e100 7. You can now reboot your server. Upon reboot the network should start with the e100 driver loaded and the correct network configuration. To verify that the e100 driver is loaded use the following command. # lsmod If e100 is listed then the e100 driver is loaded. You can also verify that the correct e100 driver is loaded through any of the following methods. Please note that version of the driver loaded should be same as that of the package version. 1. Look for driver load messages in the system log. #dmesg | grep Intel You should see messages of the following type, Intel(R) PRO/100 Network Driver - version x.x.x 2. Check the ethernet adapter driver information through the /proc interface. #grep Driver_Version /proc/net/PRO_LAN_Adapters/*.info Statistics ========== Detailed statistics, configuration information and driver information can be viewed by: # more /proc/net/PRO_LAN_adapters/eth#.info. Limitations =========== Some Linux distributions may not add the default route back to a specified network device when a network stop/start command is used. Use the route command to add the default router back to the network device. Some Linux distributions may not add the default assigned IP address back to a specified network device when using the following: ifconfig eth(x) down rmmod insmod ifconfig eth(x) up Another step to reassign the IP address back to the device may be required: ifconfig eth(x) Some Linux distributions may add multiple IP addresses with the same system name in the /etc/hosts file when configuring multiple network devices. Uninstalling the RPM Package ============================ The following command will uninstall the e100 RPM. # rpm -e e100- Copyright 2002, 2003 Hewlett-Packard Development Company, L.P. Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies