FILE NAME:      e1000-5.2.39.1c-1.src.rpm

TITLE:          HP ProLiant NC61XX/NC71XX Gigabit Ethernet NIC Driver for Linux

VERSION:        5.2.39.1c

LANGUAGE:       English

CATEGORY:       Software Solutions

DIVISIONS:      Enterprise and Mainstream Servers

PRODUCTS AFFECTED: 
                HP NC310F Gigabit Server Adapter
		HP NC6132 Gigabit Server Adapter
		HP NC6133 Gigabit Server Adapter
		HP NC6134 Gigabit Server Adapter
		HP NC6136 Gigabit Server Adapter 
		HP NC6170 Gigabit Server Adapter
		HP NC7131 Gigabit Server Adapter
		HP NC7132 Gigabit Server Adapter
		HP NC7170 Gigabit Server Adapter


OPERATING SYSTEM:  
                Red Hat Enterprise Linux 3 for AMD64
                     - Update 2
                Red Hat Enterprise Linux 3 for x86
                     - Update 2
                Red Hat Enterprise Linux 2.1
                     - Update 4
                Red Hat Linux 8.0 Professional
                     - Errata 2.4.20-28
                Red Hat Linux 7.3 Professional
                     - Errata 2.4.20-28
                Red Hat Linux 7.2 Professional
                     - Errata 2.4.20-28
                SUSE LINUX Enterprise Server 9 for AMD64
                     - Initial release
                SUSE LINUX Enterprise Server 9 for x86
                     - Initial release
                SUSE LINUX Enterprise Server 8 for AMD64
                     - SP3 + errata kernel 2.4.21-207
                SUSE LINUX Enterprise Server 8 for x86
                     - SP3 + errata kernel 2.4.21-198
                SUSE LINUX Enterprise Server 7 for x86
                     - Errata kernel 2.4.18-290

		NOTE: HP highly recommends to our customers that are
			installing Red Hat Enterprise Linux 3 on ProLiant
			servers to also install Update 1 (2.4.21-9.EL kernel)
			or greater.  More details are located here:
			http://rhn.redhat.com/errata/RHSA-2004-017.html.  

		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
                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: 07/29/04

SUPERSEDES:     e1000-5.2.16b-1.src.rpm

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


ENHANCEMENTS/FIXES:
		- Fixed duplicate entry in pci.ids file, "1014 052c" and
                  "1014 052C", which caused lspci to fail
		- Fixed building on 2.6 kernels
		- Document is updated for SLES 9 information
		- Supports SLES 9
		- /proc support has been removed
		- Following ETHTOOL ioctls are now supported in the driver:
		     1) ETHTOOL_SPAUSEPARAM
		     2) ETHTOOL_GPAUSEPARAM
		     3) ETHTOOL_SRXCSUM
		     4) ETHTOOL_GRXCSUM
		     5) ETHTOOL_GTXCSUM
		     6) ETHTOOL_STXCSUM
		     7) ETHTOOL_GSG
		     8) ETHTOOL_SSG

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


Introduction
============
This file describes the Linux driver for the HP Gigabit
Server Adapters mentioned in the PRODUCTS AFFECTED section.
After installation additional information can be found in the
MAN page for e1000, and in the README file located at:

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

For Red Hat: /usr/share/doc/e1000-<version>
For SUSE SLES 7: /usr/share/doc/packages/e1000
For UnitedLinux 1.0: /usr/share/doc/packages/e1000
For SUSE SLES 9: /usr/share/doc/packages/e1000

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 NC61XX/NC71XX Gigabit
	Ethernet NIC Driver, will not be available from this 
	version onwards 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 e1000-<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 e1000 driver requires the presence of the kernel source
code and configuring the kernel source before building the
e1000 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 e1000 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

	UnitedLinux 1.0 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>.SuSE
	# make mrproper
	# make cloneconfig
	# make dep

	SUSE SLES 7 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>.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

	SUSE SLES 9 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

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.

2. Install the source RPM package.

        # rpm -ivh e1000-<version>.src.rpm

3. Build the binary RPM for the e1000 driver.

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

	SUSE SLES 7 and UnitedLinux Installations:
	# cd /usr/src/packages
	# rpm -bb SPECS/e1000.spec

	SUSE SLES 9 Installations:
	# cd /usr/src/packages
	# rpmbuild -bb SPECS/e1000.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 e1000 package as
   follows:

        # rpm -q e1000

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

        # rpm -e e1000

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

        # rpm -q e1000

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

	Dependency Information: Note that the "sed" utility is
	required to succesfully install the e1000 rpm package.
	Ensure that for Red Hat and UnitedLinux 1.0 systems, the
	sed-<version>.rpm package is installed before running the 
	following commands. On SUSE SLES 7, the sed utility /bin/sed 
	should be installed as a part of the base installation itself.

        # rpm -ivh RPMS/i386/e1000-<version>.i386.rpm

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

        Red Hat 8.0 Professional
        /lib/modules/<kernel_version>/kernel/drivers/net

        Red Hat 7.3 Professional
        /lib/modules/<kernel_version>/kernel/drivers/net

        Red Hat 7.2 Professional
        /lib/modules/<kernel_version>/kernel/drivers/net

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

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

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

        UnitedLinux 1.0
        /lib/modules/<kernel_version>/kernel/drivers/net

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

	For SLES 9 e1000.ko module will be installed instead of e1000.o

6. Configure your network setting and address.  You may need to refer
   to your Linux vendor documentation.  Helpful network configuration
   tools such as "yast" in SLES 7 or linuxconf/ksconfig (KDE)/redhat-
   config-network (GNOME)/netconfig (ncurses) in Red Hat exist for
   easy configuration.

   For SLES 9, user may have to specify the module as e1000 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 e1000
	alias eth1 e1000

   For SLES 9, 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 e1000 driver loaded and the correct network configuration.
   To verify that the e1000 driver is loaded use the following command.

        # lsmod

   If e1000 is listed then the e1000 driver is loaded. You can also
   verify that the correct e1000 driver is loaded through any of the
   following methods. Note that version of the driver loaded
   should be same as that of the package version.

	A. Look for driver load messages in the system log.

		#dmesg | grep Intel

	   You should see messages of the following type,

	        Intel(R) PRO/1000 Network Driver - version x.x.x

	A. Check the /var/log/messages file for a similar message
		as indicated in method A.

   Note: To load a module in SLES 9 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. 

An error regarding the "PCI_BUS_SPEED" may also be encountered. 33MHz is 
displayed for 33MHz bus speeds, however 66MHz speed will be reported for 
50MHz and 100MHz PCI-X busses as well as 66MHz PCI busses

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

Uninstalling the RPM
====================
The following command will uninstall the e1000 RPM.
 
     # rpm -e e1000-<version>

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