Intel(R) Network Utilities Release Notes
==========================================

June 27, 2007


DISCLAIMER
==========

This software is furnished under license and may only be used or copied 
in accordance with the terms of the license.  The information in this 
manual is furnished for informational use only, is subject to change 
without notice, and should not be construed as a commitment by Intel 
Corporation.  Intel Corporation assumes no responsibility or liability 
for any errors or inaccuracies that may appear in this document or any 
software that may be provided in association with this document.  Except 
as permitted by such license, no part of this document may be reproduced, 
stored in a retrieval system, or transmitted in any form or by any means 
without the express written consent of Intel Corporation.


Contents
========

- OVERVIEW

- RUNNING THE UTILITY
    - BASIC USAGE
    - ADAPTER DIAGNOSTIC COMMANDS
    - REGISTER COMMANDS
    - EEPROM COMMANDS
    - TRANSMIT AND RECEIVE COMMANDS
    - IEEE TESTING

- INSTALLATION

- CUSTOMER SUPPORT

- LEGAL


OVERVIEW
========
LANConf is a software tool used to perform Silicon Validation (SV), 
Debug, and IEEE Conformance testing for Intel* network adapters.  

Note: LANConf possesses the ability to put the NIC into unstable states. There is functionality that has been intentionally left undocumented as it is reserved for hardware engineers. As the tool is intended for engineer analysis, it has been design for flexibility rather that usability. Therefore, LANConf may demonstrate some failures in various areas of the tool. These are intentionally left in the tool for analysis and are not considered bugs.

To run LANConf, the following items are required

 - LANConf executable (See Running the Utility)

 - Intel Ethernet Network Interface Card (NIC) or LAN on
   Motherboard (LOM) system.  (Two NICs are needed for BER testing.)

 - Computer with one available slot (for use with NIC) capable of
   booting to the desired operating system.

If a NIC is used, it should be installed in a working slot.

RUNNING THE UTILITY
===================

BASIC LANConf EXTENSION
-----------------------
These are the extensions that LANConf supports.
The extensions are run by typing "LANConf <extension>".

/VERSION    - Displays the SDK version and the LANConf version information
-? or /?    - Displays command line help
/TEXTMODE   - Brings up LANConf in text mode
/ALL        - Displays all devices found in the system
/GUI        - Brings up GUI mode
/ZEROINIT   - Allows the adapter to be initialized without touched the hardware.
              It brings up a dialog that allows the user to configure which init
              options are going to be used.
/DEBUGPRINT - Enables printing of debug messages into a debugger
/DEBUGLOG   - Logs the debug messages into lanconf.log          
/SVMODE     - The is included only for convenience for backward compatibility for GT

BASIC USAGE GUI
---------------

When the tool is launched, a list of adapters is displayed.
In order to proceed, select the desired adapter.

After that, move to the appropriate menu to run the desired
command.

BASIC USAGE TEXTMODE
--------------------

When the tool is launched with a /textmode extension, a list
of adapters is displayed.
In order to proceed, select the desired adapter.

Please note that in textmode everything the user types is first
converted into lowercase.  Therefore, in a case-sensitive
operating system, please make sure <patternfiles> and such are in
lowercase.

The following commands will assist with navigation and basic usage 
of the LANConf:

?       - Lists the available commands
help    - Displays the command usage for the specified command
display - Displays info about the currently selected adapter
exit    - Exits the application
scan    - Scans for devices in the system
select  - Selects a supported device for use
ver     - Displays the version
gui     - Enters GUI mode and ends text mode
reset   - Performs an adapter reset


ADAPTER DIAGNOSTIC COMMANDS
---------------------------
fifos   - Test FIFOs on the network adapter
irq     - Test the network adapter IRQ
regs    - Perform write/read device register tests on the network adapter
eeprom  - Test the EEPROM checksum
maclb   - Run MAC loopback test
phylb   - Run PHY loopback test
link    - Checks for valid link
extlb   - Test external loopback with an external dongle


REGISTER COMMANDS
------------------

readmac	   - Reads value of a MAC register offset: readmac <hex offset>
readphy    - Reads value of a PHY register offset. readphy <hex offset>
readpci    - Reads value of a PCI DWORD: readpci <hex offset>
readpcie   - Reads value of a PCI DWORD for PCI-E adapters supporting extended
             PCI space: readpcie <hex offset>
writemac   - Writes a value to a MAC register offset: writemac <hex offset> <data>
writephy   - Writes a value to a PHY register offset: writephy <hex offset> <data>
writepci   - Writes a value to a PCI DWORD: writepci <hex offset> <data>
writepcie  - Writes a value to a PCI DWORD for PCI-E adapters supporting extended 
             PCI space: writepcie <hex offset> <data>


EEPROM COMMANDS
---------------
All EEPROM commands that write to the EEPROM will update the checksum.

seteebits    - Sets bits in the EEPROM: seteebits <hex offset> <bitmask>
cleareebits  - Clears bits in the EEPROM: cleareebits <hex offset> <bitmask>
readee       - Reads a word in the EEPROM: readee <hex offset>
writeee      - Writes a word in the EEPROM: writeee <hex offset> <value>
dumpeeimg    - Writes the EEPROM image to a file: dumpeeimg <filename>  
writeeeimg   - Programs the EEPROM with contents of <imagefile> without changing 
               the MAC address: writeeeimg <imagefile>
macaddr      - Programs the EEPROM the specifed MAC address: macaddr <address>    


TRANSMIT AND RECEIVE COMMANDS
-----------------------------
tx          - Starts transmit on current adapter:  tx [packets]
              The number of packets if an optional parameter and will default to infinite
rx          - Starts receive on current adapter
txrx        - Starts transmit and receive on current adapter
txrxall     - Starts transmit and/or receive on all initialized adapters which 
              have been set up for tx/rx through MODE command
mode        - Sets the txrxmode for currently selected adapter in order to 
              use the TXRXALL command:  
              mode <txrxmode>
                txrxmode   tx     adapter will transmit with TXRXALL command
                           rx     adapter will receive with TXRXALL command
                           txrx   adapter will transmit and receive with TXRXALL command
                           none   adapter will not be used with TXRXALL command (default)
destaddr    - Sets the destination MAC address on current adapter.
              Default is FFFF FFFF FFFF:  destaddr <addr>
packetsize  - Sets packet size for tx/rx test.  Default is 1024: packetsize <size>
speedduplex - Sets the speed and duplex for tx/rx test.
              Default is ane1000f for Gbe adapters and ane100f for FE adapters
                speedduplex <setting>
                setting     ane1000f   Autonegotiate 1000Mbps full duplex
                            ane100f    Autonegotiate 100Mbps full duplex
                            ane100h    Autonegotiate 100Mbps half duplex
                            ane10f     Autonegotiate 10Mbps full duplex
                            ane10h     Autonegotiate 10Mbps half duplex
                            force100f  Force 100Mbps full duplex
                            force100h  Force 100Mbps half duplex
                            force10f   Force 10Mbps full duplex
                            force10h   Force 10Mbps half duplex
loopback    - Sets the loopback mode for tx/rx test.  Default is none:
                loopback <mode>
                mode   none    no loopback mode
                       mac     mac loopback mode
                       phy     phy loopback mode
                       tcvr    tcvr loopback mode
packetdata  - Sets the packet data type for tx/rx test.  Default is legacy:
                packetdata <type>
                type   normal          normal header, ascending numbers in hexadecimal
                       random          normal header, random data
                       pattern5a       normal header, 0x5A data
                       file            normal header, data from file specified in
                                       the PATTERNFILE command
                       legacy          legacy header, ascending numbers in hexadecimal
                       legacyrandom    legacy header, random data
                       legacypattern5a legacy header, 0x5A data
                       legacyfile      legacy header, data from file specified in
                                       the PATTERNFILE command
                       rawff           0xFF data
                       rawaa           0xAA data
                       rawfile         data from file specified in the PATTERNFILE command
patternfile - Specifies pattern file to be used with packet data type 'file'
              'legacyfile', or 'rawfile':  patternfile <filename>
              See pattern file section below.
randompacketsize - Turns random packet size on or off for a tx/rx test.  Default is off:
                    randompacketsize <on|off>
                    on|off  on     uses a random packet size based on the min and max
                                   parameters of the SETRANDOMPACKETSIZE command
                            off    uses packet size specified in PACKETSIZE command
setrandompacketsize - Sets the min and max random packet size range for a tx/rx test.
                      Default is min=64 and max=1024
                      Command is only valid if RANDOMPACKETSIZE is set to on:
                        setrandompacketsize <min> <max>
verifydata  - Turns verify data on or off for a tx/rx test:
                verifydata <on|off>
                on|off  on      verify data on
                        off     verify data off
transmitqueue - Sets the transmit queue for a tx/rx test.  Default is primary:
                  transmitqueue <type>
                  type   primary     uses the primary transmit queue
                         secondary   uses the secondary transmit queue


Pattern Files
-------------
LANConf can use pattern files or binary files to transmit data. In order to 
use these files, select "packet payload data" of random. If header type is
part of the file, then "packet type" should be set to "No Header". Otherwise,
the packet will be built using the type from "packet type" and the pattern
file will be used as payload data only. 

There are two types of files that can be used. First is a binary file. Every
file that does not have a .pat extension is considered a binary file. This
can be created with a hex editor or a raw dump of some data to a file. 

The second type is a pattern in text format. The format is all in hex with
no 0x in front of the numbers. Each byte is on its own line. Example:

00
ff
da
ee
05

When using the above text pattern method, the file must have a .pat extension.

In either case, the packet will be built using this pattern up to the packet
size. If the packet size is less than the packet size selected in the GUI,
the data will repeat until the packet size is met. If the pattern file is larger
than the data in the GUI, then LANConf will truncate the data when the packet
size is used up.

User files should be in the same directory with LANConf's executable. The
GUI does not allow for entering path names. 

IEEE TESTING
------------

The following commands will setup the network device to perform the IEEE tests.  More 
information for each test can be found in the "100BASE-TX/ 10BASE-T Physical Layer 
Conformance Testing" document or the "1000BASE-T/100BASE-TX/10BASE-T Physical 
Layer Compliance Tests Manual for Gigabit Ethernet Products".  

Note that upon exiting an IEEE test mode setup, the adapter is left in the same 
state as it was in for the specified IEEE test mode.  For some test modes, this 
may mean that link is forced.

Fast Ethernet (FE) covers 10Base-T devices and 100Base-TX devices.
Gigabit Ethernet (GbE) covers 1000Base-T devices.


1000 Mbps IEEE tests:

Oscilloscope testing
 G1 - 40.6.1.2.1 (GbE) - Peak Differential Output Voltage and Level Accuracy
      40.6.1.2.2 (GbE) - Maximum Output Droop

 G2 - Reserved for future implementation

 G3 - Reserved for future implementation

 G4 - 40.8.3.3 (GbE) - MDI Common-Mode Output Voltage

Network Analyzer testing
 G4 - 40.8.3.1 (GbE) - MDI Return Loss


100 Mbps IEEE tests:

Oscilloscope testing
 S1 - 9.1.2.2 (FE and GbE) - UTP Differential Output Voltage
      9.1.4 (FE and GbE) - Signal Amplitude Symmetry
      9.1.6 (FE and GbE) - Rise/Fall Times

 S3 - 9.1.8 (FE and GbE) - Duty Cycle Distortion (DCD)

 S4 - 9.1.9 (FE and GbE) - Transmit Jitter

Network Analyzer testing
 S2 - 9.1.5 (FE and GbE) - Transmit Return Loss

 S5 - 9.2.2 (FE and GbE) - Receiver Return Loss


10 Mpbs IEEE tests:

Oscilloscope testing
 SA - 14.3.1.2.1 (FE) and 1411.10.02.05 (GbE) - Peak differential output
        voltage on TD circuit (Amplitude 5MHz)

 SB - 14.3.1.2.5 (FE) and 1411.10.09 (GbE) - TD circuit common-mode 
        output voltage

 SC - 14.3.1.2.1 (FE) and 1411.10.02.10 (GbE) - Peak differential output 
        voltage on TD circuit (Amplitude 10 MHz)
      14.3.1.2.1 (FE) and 1411.10.03 (GbE) - Harmonic content, all ones 
        signal

 SE - 14.3.1.2.3 (FE) and 1411.10.12 (GbE) - Transmitter output timing 
        jitter with cable model
      14.3.1.2.3 (FE) and 1411.10.13 (GbE) - Transmitter output timing
        jitter without cable model

Network Analyzer testing
 SD - 14.3.1.2.2 (FE) and 1411.10.07 (GbE) - TD circuit differential 
        output impedance (Tx Return Loss)

 SF - 14.2.1.4 (FE) and 1411.10.05 (GbE) - RD circuit differential 
        input impedance (Rx Return Loss)


Bit Error Rate (BER) testing:

BER can be tested with two network devices, on two different systems.  
One network adapter should be configured to be the receive (rx).  
After the receive is set up, the other network adapter should be 
configured to be the transmit (tx).  When the transmit is complete, 
the receive can be stopped with "ESC".  

BER1000TX
    40.6.1.3.1 (GbE) - 1000Base-T Receiver Differential Input Signals
    40.6.1.3.4 (GbE) - 1000Base-T Alien Crosstalk Noise Rejection
BER1000RX
    40.6.1.3.1 (GbE)  1000Base-T Receiver Differential Input Signals
    40.6.1.3.4 (GbE) - 1000Base-T Alien Crosstalk Noise Rejection
BER100TX
    9.2.1 (FE and GbE)  100Base-TX Differential Input Signals
BER100RX
    9.2.1 (FE and GbE)  100Base-TX Differential Input Signals
BER10TX
    (FE and GbE) - 10 Base-T RD Receiver Circuit Signal Acceptance Test (BER)
BER10RX
    (FE and GbE) - 10 Base-T RD Receiver Circuit Signal Acceptance Test (BER)



List of all the supported IEEE tests and the [command] that should be used to
setup the adapter for the respective test.

      9.1.2.2 (FE and GbE) - UTP Differential Output Voltage [S1]
      9.1.4 (FE and GbE)   - Signal Amplitude Symmetry [S1]
      9.1.5 (FE and GbE)   - Transmit Return Loss [S2]
      9.1.6 (FE and GbE)   - Rise/Fall Times [S1]
      9.1.8 (FE and GbE)   - Duty Cycle Distortion (DCD) [S3]
      9.1.9 (FE and GbE)   - Transmit Jitter [S4]
      9.2.1 (FE and GbE)    100Base-TX Differential Input Signals [BER100TX]

      9.2.1 (FE and GbE)    100Base-TX Differential Input Signals [BER100RX]

      9.2.2 (FE and GbE)   - Receiver Return Loss [S5]
      14.2.1.4 (FE)        - RD circuit differential input impedance 
                             (Rx Return Loss) [SF]
      14.3.1.2.1 (FE)      - Peak differential output voltage on TD circuit 
                             (Amplitude 5MHz) [SA]
      14.3.1.2.1 (FE)      - Peak differential output voltage on TD circuit 
                             (Amplitude 10 MHz) [SC]
      14.3.1.2.1 (FE)      - Harmonic content, all ones signal [SC]
      14.3.1.2.2 (FE)      - TD circuit differential output impedance 
                             (Tx Return Loss) [SD]
      14.3.1.2.3 (FE)      - Transmitter output timing jitter with cable model [SE]
      14.3.1.2.3 (FE)      - Transmitter output timing jitter without cable 
                             model [SE]
      14.3.1.2.5 (FE)      - TD circuit common-mode output voltage [SB]
      40.6.1.2.1 (GbE)     - Peak Differential Output Voltage and Level 
                             Accuracy [G1]
      40.6.1.2.2 (GbE)     - Maximum Output Droop [G1]
      40.6.1.3.1 (GbE)     - 1000Base-T Receiver Differential Input 
                             Signals [BER1000TX]
      40.6.1.3.1 (GbE)      1000Base-T Receiver Differential Input 
                             Signals [BER1000RX]

      40.6.1.3.4 (GbE)     - 1000Base-T Alien Crosstalk Noise Rejection [BER1000TX]
      40.6.1.3.4 (GbE)     - 1000Base-T Alien Crosstalk Noise Rejection [BER1000RX]

      40.8.3.1 (GbE)       - MDI Return Loss [G4]
      40.8.3.3 (GbE)       - MDI Common-Mode Output Voltage [G4]
      1411.10.02.05 (GbE)  - Peak differential output voltage on TD circuit 
                             (Amplitude 5MHz) [SA]
      1411.10.02.10 (GbE)  - Peak differential output voltage on TD circuit 
                             (Amplitude 10 MHz) [SC]
      1411.10.03 (GbE)     - Harmonic content, all ones signal [SC]
      1411.10.05 (GbE)     - RD circuit differential input impedance 
                             (Rx Return Loss) [SF]
      1411.10.07 (GbE)     - TD circuit differential output impedance 
                             (Tx Return Loss) [SD]
      1411.10.09 (GbE)     - TD circuit common-mode output voltage [SB]
      1411.10.12 (GbE)     - Transmitter output timing jitter with cable model [SE]
      1411.10.13 (GbE)     - Transmitter output timing jitter without cable 
                             model [SE]
      (FE and GbE)         - 10 Base-T RD Receiver Circuit Signal Acceptance 
                             Test [BER10TX]

      (FE and GbE)         - 10 Base-T RD Receiver Circuit Signal Acceptance 
                             Test [BER10RX]

Installation
=============

INSTALLING THE TOOLS ON MICROSOFT WINDOWS(R)
============================================

The tools driver can be installed on all versions of Windows since Windows 2000.  
The tools driver for the 32-bit versions of Windows are in the 
Win32 directory on the CD.  The tools driver for the 64-bit versions of Windows
are in the Win64 (Itanium) or Win64e (x64) directory on the CD.

To install the tools' drivers on Windows, run install.bat from the appropriate
directory on the CD.   

Although the tools are not installed with install.bat, the driver that
the tools require is copied into the local machine Windows driver directory.
To run the tools, launch a Command Prompt window from the Windows Start Menu.  
Go to the media and directory where the tools are located and run the tools.
The readme files for each tool are found in the same directory as the tools.
These tools can be manually installed on the local hard drive in any directory.

The tool uses its own driver file (not the same as the system network driver).
If the driver sys file already exists in the drivers directory, install.bat may
fail to copy. The /y switch to install.bat will override and copy the driver file
regardless. However, this can be dangerous if an older version of the driver is
being used by another application such as PROset for Device Manager. If a driver
is already present in the drivers directory, try running the tool from the command
prompt. If it runs, then the driver is fine. The tool will not run if the driver 
version present does not match the driver version expected.

Note that for Windows Vista, the user must have access to the 
%systemroot%\system32\drivers directory. Only the administrator account has these
privileges. The user must be logged in as administrator or "run as" administrator
all tools on this OS.

Note that on Windows, any device that is disabled in device manager will not be
accessible by tools due to no memory resources. You would get an error code 0xC86A800E.
To solve this problem, you can do one of the following:
1) Re-enable the device in device manager. Never disable this device when using tools.
2) Install an NDIS device driver for the device and make sure that it does not have
   a yellow or red bang by it in device manager.
3) Delete the device from device manager and restart the system. The install new 
   hardware wizard should appear on next reboot. Do not cancel this. Just move the
   window aside and run the tool(s). Generally, you can click "cancel" on the wizard
   but there are some cases where Windows will disable the memory resources causing
   you to get back into the same state.

INSTALLING THE TOOLS ON EFI
==============================

The tools support Intel EFI v1.10 for EFI32 (x86), EFI64E (x64), and EFI64 (Itanium).  
The tools for EFI directory on the CD and can be differentiated by the 32, 64, or 64E in
the tools' filenames.  There is no installation required for EFI tools.  
The tools can simply be copied to the drive that they will run from. 

Note that while EFI supports USB drives, there may be issues running tools from the USB
drive. Whether or not there are issues are BIOS specific. If issues are experienced,
the tool should be run from hard disk instead.


INSTALLING THE TOOLS ON DOS
===========================

The tools support various DOS versions from Windows XP DOS (reached by creating
a DOS boot disk in the explorer GUI) to FreeDOS.  There is no installation required for 
DOS tools. The tools can simply be copied from the DOS directory on the CD to the drive
that they will run from.  It is expected that the tools have a clean boot environment. 
The tools will not run with memory managers and/or DOS networking drivers loaded. 
The tools expect that they have full, unlimited control of the hardware. The tools 
*WILL NOT* run properly if EMM386 is present.  The tools run in protected mode, 32-bit
DOS. Therefore, they will not be compatible with any TSR programs.


INSTALLING THE TOOLS ON LINUX
==============================

In order to run tools on Linux, a driver stub must be built and installed on the system.
This driver is not related to the network device driver that is used to run the network
during live traffic. It is a separate driver used explicitly for tools. Due to the 
nature of Linux with the number of kernels that can exist, we provide source for the
driver module and an install script to build/install it.

The tools support Linux distributions based on kernels 2.6.x. Validation is
done randomly on popular distributions such as Fedora, Suse, or Ubuntu. Configured kernel source 
that matches the currently installed kernel is required. A working GCC is also required. 
There are some versions of GCC that had a bug which did not support unnamed structures.
These versions of GCC are not supported. If you have compilation errors, try updating
your version of GCC.  If you have linker errors when installing the driver, you should
update your kernel - download the latest stable off www.kernel.org and build/install it.

Note that some distributions such as recent Fedora core versions do not ship with Kernel 
source. You must download, install, and configure the source in order to get the tools' 
driver built on this OS. Installing the kernel source RPM does not solve the problem.

This is the installation procedure:

    1. Log in as root and create a temporary directory to build the Intel(R)
       Network Connection Tools driver.

    2. Copy install and iqvlinux.tar.gz to the temporary directory.
       There are 3 versions of Linux supported: Linux32 (x86), Linux64e (x64),
       and Linux64 (Itanium). Copies of the above files exist in the appropriate
       directory for your platform.

    3. CD to the temporary directory and run ./install.  The driver has been
       installed now, so the files in the temporary directory can be removed. 

    4. Copy the tools that you want to use from the appropriate directory of the CD.


CUSTOMER SUPPORT
================

- Main Intel web support site: http://support.intel.com

- Network products information: http://www.intel.com/network

- Worldwide access: Intel has technical support centers worldwide.  Many
  of the centers are staffed by technicians who speak the local languages.
  For a list of all Intel support centers, the telephone numbers, and the
  times they are open, visit http://www.intel.com/support/9089.htm.

- Telephone support: US and Canada: 1-916-377-7000
  (7:00 - 17:00 M-F Pacific Time)


Legal / Disclaimers
===================

Copyright (C) 2002-2006, Intel Corporation.  All rights reserved.

Intel Corporation assumes no responsibility for errors or omissions in this
document.  Nor does Intel make any commitment to update the information
contained herein.

* Other product and corporate names may be trademarks of other companies and
are used only for explanation and to the owners' benefit, without intent to
infringe.
