FILE NAME: nx_nic-3.4.114-6.src.rpm TITLE: HP NC-Series NetXen Driver for Linux VERSION: 3.4.114 RELEASE: 6 LANGUAGE: English CATEGORY: Software Solutions DIVISIONS: Enterprise and Mainstream Servers PRODUCTS AFFECTED: HP NC510F PCIe 10 Gigabit Server Adapter HP NC510C PCIe 10 Gigabit Server Adapter HP NC512m Dual Port 10 GbE Adapter for c-Class BladeSystem 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 Update 5 for AMD64/EM64T Red Hat Enterprise Linux 4 AS/ES Update 5 for x86 Red Hat Enterprise Linux 4 AS/ES Update 4 for AMD64/EM64T Red Hat Enterprise Linux 4 AS/ES Update 4 for x86 Red Hat Enterprise Linux 4 AS/ES Update 3 for AMD64/EM64T Red Hat Enterprise Linux 4 AS/ES Update 3 for x86 SUSE LINUX Enterprise Server 10 SP1 for AMD64 SUSE LINUX Enterprise Server 10 SP1 for x86 SUSE LINUX Enterprise Server 10 for AMD64 SUSE LINUX Enterprise Server 10 for x86 SUSE LINUX Enterprise Server 9 SP3 for AMD64/EM64T SUSE LINUX Enterprise Server 9 SP3 for x86 PREREQUISITES: ProLiant server supporting one of the above operating systems 1GB RAM minimum Latest HP System ROM Firmware upgraded with the latest nx_tools-.rpm NOTE: Visit the following URL to upgrade the ROM http://h18000.www1.hp.com/support/files (select ProLiant from the server column) EFFECTIVE DATE: 08/02/2007 SUPERSEDES: unm_nic-2.3.58 RPM DESCRIPTION: This RPM contains the HP Tested and Approved Linux nx_nic driver for use with the Server Adapters mentioned in the PRODUCTS AFFECTED section of this document. ENHANCEMENTS/FIXES: - Tested on all supported distro. Table of Contents ================= Introduction Packaging Kernel Source Code Setup Installing the RPM Package Driver Settings Driver Messages Limitations Caveats Uninstalling the RPM Package Introduction ============ This file describes the Linux driver for the NetXen's NIC mentioned in the PRODUCTS AFFECTED section of this document. Packaging ========= The driver is released in a source RPM format. The file name for the package is nx_nic-.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 nx_nic driver requires the presence of the kernel source code and configuring the kernel source before building the nx_nic 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 nx_nic driver for the SMP kernel. Note: Kernel source code setup is not required for Red Hat EL4 or Red Hat EL5. SLES 9/10 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 IMPORTANT NOTES =============== 1. The previous version of this driver was named unm_nim-2.3.58 and the module was named unm_nic. 2. This driver and module are named nx_nic. 3. The driver and firmware compatibility must be maintained to ensure proper functionality. 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. 2. Remove the loaded unm_nic or nx_nic module. # rmmod unm_nic or # rmmod nx_nic Check for the existence of a current version of the unm_nic or nx_nic package as follows: # rpm -q unm_nic or # rpm -q nx_nic If an old version of the package exists, the RPM package should be removed. # rpm -e unm_nic or # rpm -e nx_nic Verify that the old package has been removed as follows: # rpm -q unm_nic or # rpm -q nx_nic 3. Install the source RPM package. Install the nx_nic source rpm. # rpm -ivh nx_nic-.src.rpm 4. Build the binary RPM for the nx_nic driver. Red Hat Installation: # cd /usr/src/redhat # rpmbuild -bb SPECS/nx_nic-.spec SLES 9/10 Installations: # cd /usr/src/packages # rpmbuild -bb SPECS/nx_nic-.spec If you get an error during the build process, refer to the "Kernel Source Code Setup" section to correctly setup the source tree. 5. Install the new RPM package. # rpm -ivh RPMS//nx_nic-..rpm The driver will be installed in the following path: /lib/modules//kernel/drivers/net/nx_nic.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 9/10 or linuxconf/redhat-config-network/netconfig in Red Hat exist for easy configuration. For SLES 9/10, you must specify the module as nx_nic 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 nx_nic alias eth1 nx_nic alias eth# nx_nic For SLES 9/10, the configuration file is /etc/modprobe.conf or /etc/modprobe.conf.local Note: If the above entry doesn't exist add it in configuration file. 8. Update the firmware to the latest version. Please ensure that the firmware has been updated to the latest version. See nx_tools-.txt to determine if the firmware needs to be updated. 9. You can now reboot your server. Upon reboot the network should start with the nx_nic driver loaded and the correct network configuration. To verify that the nx_nic driver is loaded, use the following command. # lsmod Load the nx_nic driver if it is not already loaded. # modprobe nx_nic 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 ================= The following settings are the default and optional parameters for the NIC. Speed: 10,0000 Mbps, full-duplex MTU: Default: 1500 Range : 0-8000 See the Examples section below on how to set the MTU TSO: Default: On See the Examples section below on how to change TSO The following optional parameters can be passed to the driver with the modprobe command. Note: See the Examples section below for an illus- tration on how to set the parameters. tx_desc Default: 1024 Range : 256-4096 (must be power of two). This sets the size of the command descriptor rings (tx). jumbo_desc Default: 1024 Range : 64-4096 (must be power of two). This sets the size of the receive ring for jumbo frames. rdesc_10g Default: 32768 Range : 64-65536 (must be power of two). This sets the size of the receive ring for "normal" packets (10GbE ports). use_msi Default: Enable (1) Range: Disable (0) or Enable (1) This enables or disables MSI. Examples The following command illustrates how to set the optional parameters: # modprobe nx_nic tx_desc=2048 The following command illustrates how to set the MTU: # ifconfig eth mtu 8000 The following command illustrates how to change the TSO parameter: # ethtool -K eth tso off Driver Messages =============== The messages will 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 driver does not work for kernel version less than 2.6.25 Caveats ======= Newer versions of the Linux kernel will contain the netxen_nic driver which supports the same devices as nx_nic except without the LSA interface. This driver will have to be manually removed before installing the nx_nic driver. The following command sequence can be used to remove the driver. # rmmod netxen_nic # rm /lib/modules//kernel/drivers/net/netxen_nic.ko Uninstalling the RPM Package ============================= The following command will uninstall the nx_nic RPM. # rpm -e nx_nic-