FILE NAME: nx_nic-4.0.516-1.src.rpm TITLE: HP NC-Series QLogic Driver for Linux VERSION: 4.0.516 RELEASE: 1 LANGUAGE: English CATEGORY: Software Solutions DIVISIONS: Enterprise and Mainstream Servers PRODUCTS AFFECTED: HP NC375T PCI Express Quad Port Gigabit Server Adapter HP NC375i Quad Port Multifunction Gigabit Server Adapter HP NC522SFP Dual Port 10GbE Server Adapter HP NC524SFP Dual Port 10GbE Proliant Module HP NC510F PCIe 10 Gigabit Server Adapter HP NC510C PCIe 10 Gigabit Server Adapter HP NC512m Dual Port 10GbE Multifunction BL-c Adapter HP NC522m Dual Port 10GbE Multifunction BL-c 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 PREREQUISITES: ProLiant server supporting one of the above operating systems 2GB RAM minimum Latest HP System ROM Firmware upgraded with the latest nx_tools-.rpm 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: 11/16/2009 SUPERSEDES: Version 4.0.505 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: Added support for HP NC375T PCI Express Quad Port Gigabit Server Adapter Table of Contents ================= Introduction Packaging Build Environment Setup Installing the RPM Package Uninstalling the RPM Package Driver Settings Driver Messages Limitations Caveats Notes Introduction ============ This file describes the Linux driver for the QLogic adapters 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. You should have the right build environment to compile a binary from the source package. See the "Build Environment Setup" Section below. Build Environment Setup ======================== The nx_nic driver requires the presence of some packages that provide the right build environment. These packages provide kernel headers, makefiles and symbol files, though the last one is suggested only on SLES distributions. Red Hat installations: For each kernel flavor you want to build the driver make sure you have the associated kernel-devel package. Ex: kernel-2.6.18.92.el5 would require kernel-devel-2.6.18-92.el5 kernel-PAE-2.6.18.92.el5 would require kernel-PAE-devel-2.6.18-92.el5 SUSE SLES Installation: Ensure that kernel-source and kernel-syms packages are installed. kernel-syms package contains symbol versions for the all the flavors that the distribution supports. Installing the RPM Package ============================= 1. This package is a source rpm so it requires a build environment setup for the build. Please refer to the "Build Environment Setup" section before proceding. 2. Install the source RPM package. #rpm -ivh nx_nic-.src.rpm 3. 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 "Build Environment Setup" section 4. Check for the existence of a current version of nx_nic package as follows: # rpm -q nx_nic If an old version of the package exists, the RPM package should be removed. # rpm -e nx_nic Verify that the old package has been removed as follows: # rpm -q nx_nic 5. Verify if an old version of nx_nic OR netxen_nic is loaded into the kernel and remove it as follows #lsmod | grep nx_nic OR #lsmod | grep netxen_nic Before removing the driver you will have to bring down the interfaces controlled by nx_nic or netxen_nic #ifconfig eth down Finally remove the driver #rmmod nx_nic OR #rmmod netxen_nic 6. Install the new RPM package. # rpm -ivh RPMS//nx_nic-..rpm The driver will be installed in the following path: /lib/modules//updates/drivers/net/nx_nic.ko 7. 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 nx_nic while configuring the network. The module can be specified in Hardware Details of Advanced configuration 8. 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 For SLES, 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. 9. You can now reboot your server or restart the network sevices. After this the network should start with the nx_nic driver loaded with the correct network configuration. To verify that the nx_nic driver is loaded, use the following command. # lsmod | grep nx_nic 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. Uninstalling the RPM Package ============================= The following command will uninstall the nx_nic RPM. # rpm -e nx_nic- 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.5 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. The installation of this driver will blacklist the netxen_nic driver so that it will not load upon reboot. Notes ======= All the distribution versions below those captured in the "OPERATING SYSTEMS" section are assumed to be supported. This does not override the Limitations section. (C) Copyright 2002, 2003 - 2009 Hewlett-Packard Development Company, L.P. Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies.