FILE NAME:      bnx2-1.4.43f-1.src.rpm

TITLE:          HP NC-Series Multifunction Driver for Linux

VERSION:        1.4.43f

LANGUAGE:       English

CATEGORY:       Software Solutions

DIVISIONS:      Enterprise and Mainstream Servers

PRODUCTS AFFECTED:
      HP NC370x Gigabit Server Adapter
      HP NC371x Gigabit Server Adapter
      HP NC373x Gigabit Server Adapter
      HP NC374x Gigabit Server Adapter
      HP NC380x Gigabit Server Adapter
                         
OPERATING SYSTEM:
      Red Hat Enterprise Linux 4 AS/ES for AMD64/EM64T
      Red Hat Enterprise Linux 4 AS/ES for x86
      Red Hat Enterprise Linux 3 AS/ES for AMD64/EM64T
      Red Hat Enterprise Linux 3 AS/ES 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 upgrade the ROM
                http://h18000.www1.hp.com/support/files (select
                ProLiant from the server column)

EFFECTIVE DATE: 09/22/2006

SUPERSEDES:     bnx2-1.4.43c-1.src.rpm

DESCRIPTION:    This RPM contains the HP Tested and Approved Linux
                bnx2 driver for use with the Server Adapters mentioned
                in the PRODUCTS AFFECTED section of this document.

ENHANCEMENTS/FIXES:
   - Tested on all the supported distro
   - Added ethtool -d register dump
   - Increased maximum rx ring size to 4080
   - Fixed build failure on RHEL3 U7
   - Fixed bnx2 reporting extra .5 at the end of firmaware version string
   - Modified README to include the use of --force option during conflict
     message display.

Table of Contents
=================
  Introduction
  Packaging
  Kernel Source Code Setup
  Installing the RPM Package
  Module Parameters
  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 RELEASE.TXT and README.TXT files located under the 
following directories

For Red Hat: /usr/share/doc/bnx2-<version>
For SLES: /usr/share/doc/packages/bnx2

User guides and additional HP Network Adapter information can be
found at: http://h18000.www1.hp.com/support/networking/nics/index.html

Packaging
=========
The driver is released in a source RPM format. The file name for
the package is bnx2-<version>.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 bnx2 driver requires the presence of the kernel source code
and configuring the kernel source before building the bnx2 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 bnx2 driver for the SMP kernel.

   Red Hat installation:
   If the /usr/src/linux-<kernel-version> 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-<kernel_version>
   # make mrproper
   # make -e KERNELRELEASE=`uname -r` oldconfig
   # make -e KERNELRELEASE=`uname -r` dep
	
   SLES Installation:
   If the /usr/src/linux-<kernel-version> 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-<kernel_version>
   # 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-<kernel-version> directory exists.

   # cd /usr/src/linux-<kernel-version>

     If the kernel source code is not present, then
     refer to the "Kernel Source Code Setup"
     section.

   Note: Kernel source code setup is not required for Red Hat EL4.
   Hence ignore this step for RHEL4.

2. Install the source RPM package.
   
   # rpm -ivh bnx2-<version>.src.rpm

3. Build the binary RPM for the bnx2 driver.

   Red Hat Installation:
   # cd /usr/src/redhat
   # rpmbuild -bb SPECS/bnx2.spec

   SLES Installations:
   # cd /usr/src/packages
   # rpmbuild -bb SPECS/bnx2.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. Check for the existence of a current version of the bnx2 package as
   follows:

        # rpm -q bnx2

        If an old version of the package exists, the RPM package should be
        removed.

        # rpm -e bnx2

        Then remove the loaded bnx2 module.

        # rmmod bnx2

        Verify that the old bnx2 package has been removed as follows:

        # rpm -q bnx2

5. Install the new RPM package. This installs the bnx2 driver. Do not use the 
   U (Upgrade) flag in the RPM command below - previous bnx2 drivers must be 
   removed as described in step 4 above before installing this
   version.

   # rpm -ivh RPMS/<arch>/bnx2-<version>.<arch>.rpm --force

   The bnx2.o module is installed in the following directory:

   Red Hat EL 3/4
   /lib/modules/<kernel_version>/kernel/drivers/net

   SLES 9/10
   /lib/modules/<kernel_version>/kernel/drivers/net/bcm

   On 2.6 kernels a bnx2.ko module will be installed instead of bnx2.o

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.

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 bnx2
   alias eth1 bnx2
   alias eth# bnx2

   For SLES, the configuration file is /etc/modprobe.conf or 
   /etc/modprobe.conf.local

8. You can now reboot your server. Upon reboot the network should
   start with the bnx2 driver loaded and the correct network
   configuration. To verify that the bnx2 driver is loaded, use
   the following command.

   # lsmod

   If bnx2 is listed then the bnx2 driver loaded.

   Note: It is prefered to use modprobe in SLES. insmod may not work
         the way it worked in 2.4 kernels.

Module Parameters
=================
The complete set of Module Parameters supported by the bnx2 driver
is described in the README.TXT which is installed under the
appropriated directories as mentioned in the Introduction section.


Limitations
===========
Driver does not work properly for kernel version less than 2.4.24

Uninstalling the RPM Package
=============================

The following command will uninstall the bnx2 RPM.

     # rpm -e bnx2-<version>

 (C) Copyright 2002, 2003 - 2006  Hewlett-Packard Development Company, L.P.
Product names mentioned herein may be trademarks and/or registered trademarks
of their respective companies
