e1000.txt Driver File Contents (ALL.ZIP)

Linux Driver for the Intel(R) PRO/1000 Family of Adapters
=========================================================

July 19, 2001


Contents
========

- In This Release
- Supported Adapters
- Building and Installation
- Command Line Parameters
- Speed and Duplex Configuration
- Additional Configurations
- Known Issue
- Support
- License


In This Release
===============

This file describes the Linux driver, version 3.1.x, for the Intel(R) 
PRO/1000 family of server and desktop adapters. This driver is known to 
build properly on 2.2.x kernels through 2.2.19 and on the 2.4.x kernel 
through 2.4.4. Intel focused testing on PCs with Intel processors with 
kernels 2.2.16 and 2.4.2. This driver includes support for 
Itanium(TM)-based systems.

The Intel PRO/1000 driver is only supported as a loadable module at 
this time.  Intel is not supplying patches against the kernel source 
to allow for static linking of the driver. For questions related to 
hardware requirements, refer to the documentation supplied with your 
Intel PRO/1000 adapter.  All hardware requirements listed apply to 
use with Linux.

This release version includes hooks for Intel(R) ANS, the Intel(R) 
Advanced Networking Services driver. Some base driver versions within 
specific distributions (including Red Hat*) do not include these hooks.


Supported Adapters
==================

The following Intel network adapters are compatible with the drivers 
in this release:

	Adapter Name			Board IDs
	------------			---------

  PRO/1000 Gigabit Server Adapter	700262-xxx, 717037-xxx

  PRO/1000 F Server Adapter         	738640-xxx, A38888-xxx,
                                    	A06512-xxx

  PRO/1000 T Server Adapter         	A19845-xxx, A33948-xxx

  PRO/1000 XT Server Adapter		A51580-xxx


To verify your Intel adapter is supported, find the board ID number
on the adapter. Look for a label that has a barcode and a number
in the format of 123456-001 (six digits hyphen three digits). Match
this to the list of numbers above.

For more information on how to identify your adapter, go to the
Adapter & Driver ID Guide at:

    http://support.intel.com/support/network/adapter/pro100/21397.htm


Building and Installation
=========================

NOTE: For the build to work properly, the currently running kernel 
MUST match the version and configuration of the installed kernel 
sources. Also if you have just recompiled the kernel, reboot the 
system now.

1. Move the base driver tar file to the directory of your choice.
   For example, use /home/username/e1000 or /usr/local/src/e1000

2. untar/unzip archive
        tar xfz e1000-x.x.x.tar.gz

3. Change to the driver src directory
        cd e1000-x.x.x/src/

4. Compile the driver module
        make install

   The binary will be installed as:
     For Linux 2.2.x systems:
	/lib/modules/[KERNEL_VERSION]/net/e1000.o
     For Linux 2.4.x systems:
     	/lib/modules/[KERNEL_VERSION]/kernel/drivers/net/e1000.o

5. Install the module
        insmod e1000 [parameter=value]

6. ifconfig eth# <IP_address>, where # is interface number

7. Verify that the interface works
        ping  <your_IP_address>

To build a binary RPM* package of this driver, run 
'rpm -tb <filename.tar.gz>'. Replace <filename.tar.gz> with the 
specific file name of driver.


Command Line Parameters
=======================

The following parameters are used by entering them on the command line
with the modprobe or insmod command.
For example, with two PRO/1000 PCI adapters, entering:

    insmod e1000 TxDescriptors=80,128

loads the e1000 driver with 80 TX resources for the first adapter and
128 TX resources for the second adapter.

Speed (Intel(R) PRO/1000 T Server Adapter only)
Valid Range: 0, 10, 100, 1000
Default Value: 0
    Speed forces the line speed to the specified value in megabits 
    per second (Mbps). If this parameter is not specified or is set 
    to 0 and the link partner is set to auto-negotiate, the board 
    will auto-detect the correct speed. The duplex must also be set 
    when the speed parameter is set to either 10 or 100.

    See the section "Speed and Duplex Configuration" in this document.

Duplex (Intel(R) PRO/1000 T Server Adapter only)
Valid Range: 0-2 (1=half, 2=full)
Default Value: 0
    If this parameter is not specified or is set to 0 and the link 
    partner is set to auto-negotiate, the board will auto-detect the 
    correct duplex. If the link partner is forced (either full or 
    half), Duplex defaults to half-duplex.

    See the section "Speed and Duplex Configuration" in this document.

AutoNeg (Intel(R) PRO/1000 T Server Adapter Only)
Valid Range: 0-0x0F, 0x20-0x2F
Default Value: 0x2F
    When this parameter is used, the speed and duplex parameters
    must not be specified.  This parameter is a bitmap that specifies
    which speed and duplex settings the board advertises.

    See the section "Speed and Duplex Configuration" in this document.

FlowControl
Valid Range: 0-3 (0=none, 1=Rx only, 2=Tx only, 3=Rx&Tx)
Default: 3
    This parameter controls the automatic generation(Tx) 
    and response(Rx) to Ethernet PAUSE frames.
    
TxDescriptors
Valid Range: 80-256
Default Value: 256
    This value is the number of transmit descriptors allocated by the
    driver. Increasing this value allows the driver to queue more
    transmits. Each descriptor is 16 bytes.

RxDescriptors
Valid Range: 80-256
Default Value: 256
    This value is the number of receive descriptors allocated by the
    driver. Increasing this value allows the driver to buffer more
    incoming packets.  Each descriptor is 16 bytes.  A receive buffer is
    also allocated for each descriptor and can be either 2048, 4096, 8192,
    or 16384 bytes, depending on the MTU setting.

TxIntDelay
Valid Range: 0-65535 (0=off)
Default Value: 64
    This value delays the generation of transmit interrupts in units of
    1.024 microseconds.  Transmit interrupt reduction can improve CPU
    efficiency if properly tuned for specific network traffic.  If the
    system is reporting dropped transmits, this value may be set too high
    causing the driver to run out of available transmit descriptors.

RxIntDelay
Valid Range: 0-65535 (0=off)
Default Value: 64
    This value delays the generation of receive interrupts in units of
    1.024 microseconds.  Receive interrupt reduction can improve CPU
    efficiency if properly tuned for specific network traffic.
    Increasing this value adds extra latency to frame reception
    and can end up decreasing the throughput of TCP traffic.  If the
    system is reporting dropped receives, this value may be set too high,
    causing the driver to run out of available receive descriptors.

Jumbo (Intel(R) PRO/1000 F and PRO/1000 T server adapters only)
Valid Range: 0-1
Default Value: 1
    A value of '1' indicates that the driver should allow the use of
    Jumbo Frames.  The actual frame size is controlled by the device MTU
    setting, which is configured from ifconfig. Set the switch packet 
    size 18 units higher than the adapter size (to include the MAC header 
    and CRC).

XsumRX (Intel(R) PRO/1000 F and PRO/1000 T server adapters only)
Valid Range: 0-1
Default Value: 1
    A value of '1' indicates that the driver should enable IP checksum
    offload for received packets (both UDP and TCP) to the adapter hardware.

WaitForLink
Valid Range: 0-1
Default Value: 1
    WaitForLink controls whether or not the driver waits for a link before
    finishing initialization. The default value causes the driver to wait
    until auto-negotiation is complete (or failed) before finishing
    initialization and returning to the command prompt. Setting this
    value to '0' may cause the driver to initialize faster, but may also
    cause it to display incorrect link information when it loads.
    This is not related to speed/duplex or auto-negotiation settings.


Speed and Duplex Configuration
==============================

Three keywords are used to control the speed and duplex configuration of
the PRO/1000 T Server Adapter.  These keywords are Speed, Duplex, and 
AutoNeg.

If the board uses a fiber interface, these keywords are ignored, and the 
fiber interface board only links at 1000 Mbps full-duplex.

For copper-based boards, the keywords interact as follows:

The default operation is auto-negotiate. The board advertises all supported
speed and duplex combinations, and it links at the highest common speed and
duplex mode IF the link partner is set to auto-negotiate.

If Speed = 1000, limited auto-negotiation is enabled and only 1000 Mbps is
advertised (The 1000BaseT spec requires auto-negotiation.)

If Speed = 10 or 100, then both Speed and Duplex must be set. Auto-
negotiation is disabled, and the AutoNeg parameter is ignored. Partner 
MUST also be forced.

The AutoNeg parameter is used when more control is required over the 
auto-negotiation process.  When this parameter is used, Speed and Duplex
must not be specified.  This parameter is a bitmap that specifies which 
speed and duplex settings are advertised to the link partner.

Bit            7      6      5       4       3      2      1       0
Speed (Mbps)   N/A    N/A    1000    N/A     100    100    10      10
Duplex                       Full            Full   Half   Full    Half

Note that setting AutoNeg does not guarantee that the board will link at
the highest specified speed or duplex mode, but the board will link at 
the highest possible speed/duplex of the link partner IF the link partner 
is also set to auto-negotiate. If the link partner is forced speed/duplex,
the adapter MUST be forced to the same speed/duplex.


Additional Configurations
=========================

Configuring a network driver to load properly when the system is started
is distribution dependent.  Typically, the configuration process involves 
adding an alias line to /etc/modules.conf as well as editing other system 
startup scripts and/or configuration files.  Many popular Linux 
distributions ship with tools to make these changes for you.  To learn 
the proper way to configure a network device for your system, refer to 
your distribution documentation. If, during this process, you are asked 
for the driver or module name, the driver name for the PRO/1000 is 'e1000'.


Known Issue
===========

In a corner case stress test Intel has observed that Tx and Rx hang. The 
specific failure was seen in a Samba environment under heavy traffic loads 
over several days. The workaround for this issue is to set RxIntDelay=0, or 
the issue can be resolved by using "ifconfig ethx down" and then "ifconfig 
ethx up", where x is the instance of the Intel(R) PRO/1000 Driver. 


Support
=======

For general information and support, go to the Intel support Website at:

    http://support.intel.com

If an issue is identified with the released source code on the supported
kernel with a supported adapter, email the specific information related
to the issue to linux.nics@intel.com.


License
=======

Copyright(C) 1999 - 2001, Intel Corporation.  All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions 
are met:

 1. Redistributions of source code must retain the above copyright 
    notice, this list of conditions and the following disclaimer.

 2. Redistributions in binary form must reproduce the above copyright 
    notice, this list of conditions and the following disclaimer in 
    the documentation and/or other materials provided with the 
    distribution.

 3. Neither the name of Intel Corporation nor the names of its 
    contributors may be used to endorse or promote products derived 
    from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CONTRIBUTORS 
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*  Third-party trademarks are the property of their respective owners.
Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web3, load: 1.96