FILE NAME:      e100-3.5.14e-1.src.rpm

TITLE:          HP NC31xx Fast Ethernet NIC Driver For Linux

VERSION:        3.5.14e

LANGUAGE:       English

CATEGORY:       Software Solutions

DIVISIONS:      Enterprise and Mainstream Servers

PRODUCTS AFFECTED: 
      HP NC3120 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 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: 02/10/2006

SUPERSEDES:     e100-3.4.13a-1.src.rpm

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

ENHANCEMENTS/FIXES:
   - Tested on all distributions
   - Temporary Fix for UP on SMP Warning

Table of Contents
=================
  Introduction
  Packaging
  Kernel Source Code Setup
  Installing the RPM Package
  Limitations
  Known Issue

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 README file located at:

Note: The manual page of e100 and README files are not yet updated 
      with information related to SLES.

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

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 e100-<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.

The steps in the following sections "Kernel Source Code Setup"
and "Installing the RPM Package" have to be executed the
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-<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

   SUSE 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, 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 e100-<version>.src.rpm

3. Build the binary RPM for the e100 driver.

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

   SUSE SLES Installations:
   # cd /usr/src/packages
   # rpmbuild -bb SPECS/e100.spec
   
   If you get an error during the build process, refer
   to the "Kernel Source Code Setup" section to correctly 
   set up the source tree.

4. Check for the existence of a current version of the e100 package as
   follows:

        # rpm -q e100

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

        # rpm -e e100

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

        # rpm -q e100

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

   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_version>/kernel/drivers/net/eepro100.o
        /lib/modules/<kernel_version>/kernel/drivers/net/eepro100.o.old

   # rpm -ivh RPMS/<arch>/e100-<version>.<arch>.rpm

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

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

   SUSE SLES
   /lib/modules/<kernel_version>/kernel/drivers/net

   On 2.6 kernels a e100.ko module will be installed instead of e100.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.

   For SLES, user may have to specify the module as e100 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. Review the modules.conf man page for more
   information.

   alias eth0 e100
   alias eth1 e100

   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 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. Note that the 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 /var/log/messages file for a similar message
      as shown in method 1.

   Note: To load a module in SLES from command line, 'modprobe' is used
         instead of 'insmod'. Refer to the man pages for lsmod, ifconfig, rmmod,
         insmod, modprobe, modules.conf and modprobe.conf for more detailed
         information.


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 <module name>
   insmod <module name> <optional parameter changes>
   ifconfig eth(x) up

Another step to reassign the IP address back to the device may be required:

   ifconfig eth(x) <ip address>

Some Linux distributions may add multiple IP addresses with the same system 
name in the /etc/hosts file when configuring multiple network devices. 


Known Issue
===========
None


Uninstalling the RPM
====================
The following command will uninstall the e100 RPM.

     # rpm -e e100-<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
