Intel(R) EEUpdate Release Notes ================================ April 12, 2011 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 - OPTIONS - BASIC USAGE GUIDELINES - EEPROM IMAGE FILE FORMAT - MAC ADDRESS FILE FORMAT - EELOG.DAT - EXAMPLES - ERROR CODES - INSTALLATION - CUSTOMER SUPPORT -LEGAL OVERVIEW ======== EEUpdate is the EEPROM Update Utility. Allows manufacturing programming of EEPROMs, in cases where EEPROM is not preprogrammed, or programmed at In-circuit test. RUNNING THE UTILITY =================== Using the "/?" option will display a list of supported command line options. NOTE: EEPROM checksums and CRCs are automatically updated with any command that modifies the EEPROM contents. OPTIONS: -------- EEUPDATE can be run with any of the following command line options: /HELP or /? Displays command line help. /EXITCODES Displays exit code help. /ALL Selects all adapters found in the system. /NIC=XX Selects a specific adapter (1-32). /BUS=XX Selects PCI bus of adapter to program. Must be used with the DEV parameter to specify an adapter. /DEV=XX Selects PCI device of the adapter to program. Must be used with the BUS parameter to specify an adapter. /FUN=XX Selects PCI function of the adapter to program. Must be used with both the BUS and DEV parameters to specify an adapter. /DEVICE= 4 hex digit device id of card to program. /SUBDEVICE= 4 hex digit subsystem device id of card to program. /DUMP Dumps EEPROM memory contents to file. /MAC_DUMP_FILE Dumps the MAC address to a file usable by the /A command. /MAC_DUMP Displays the adapter LAN MAC address. /CB Clears bits in the EEPROM, specified in . /SB Sets bits in the EEPROM, specified in . /RW Reads from the EEPROM. /WW Writes into in EEPROM. /MAC=macaddr Programs the EEPROM with only the MAC address of macaddr without changing the rest of the EEPROM. /A or /address Programs the EEPROM with only the MAC address from the without changing the rest of the EEPROM. /D or /DATA Programs the EEPROM with the contents of without changing the MAC address. /CALCCHKSUM Forces the EEPROM checksum and CRCs to be updated. /EEPROMVER Displays the version of the EEPROM image. /PCIINFO Displays the PCI information of the adapter. /TEST Checks the EEPROM checksum and size. /IDFLASH Displays the flash ID and its protected status. /VERSION Displays version and the diagnostic library information. /GUI Brings up GUI mode. /GUI /HELP Displays GUI help. /NOPROT When programming an image for devices that support NVM protection, prevents protection from being enabled. This switch must be used with the /DATA command and has no effect on NVM devices that are already protected. /DEBUGLOG Log debug messages into the debugfile. /VERIFY Verifies the eeprom image in eeprom to the target file specified in . /ADAPTERRESET Reset the adapter. *CAUTION* This will unload the driver for this device if present. /SANMAC_DUMP Displays the dedicated MAC address for the SAN. /SANMAC=macaddr Programs the dedicated SAN MAC address without changing the rest of the EEPROM. /SANADDRESS Programs the dedicated SAN MAC address with the MAC address from . BASIC USAGE GUIDELINES ---------------------- To display a list of installed adapters call EEUPDATE without any parameters as follows: EEUPDATE EEUPDATE will display a list of network adapters installed in the system similar to the following: [EEUPDATE ver 5.0.1.0] - Intel PCI NIC EEPROM Utility Copyright (C) 1995 - 2004 Intel Corporation Intel (R) Confidential and not for general distribution. Warning: No Adapter Selected NIC Bus Dev Fun Vendor-Device Branding string === === === === ============= ================================================= 1 1 00 00 8086-1008 Intel(R) PRO/1000 XT Server Adapter 2 1 08 00 8086-1039 Intel(R) PRO/100 VE Network Connection To perform an operation on an installed network adapter you must specify the "/NIC=" parameter. For example, to perform an EEPROM dump on NIC 3 from the list above call EEUPDATE like this: EEUPDATE /NIC=3 /DUMP Alternatively you may specify the "/BUS=" and "/DEV=" parameters instead of the "/NIC=" parameter to specify which network adapter to select. For example to program NIC 1 from the list above with the EEPROM image file "image.eep" call EEUPDATE.EXE as follows: EEUPDATE /BUS=0 /DEV=0 /DATA image.eep EEPROM IMAGE FILE FORMAT ------------------------ The parameter designates a text file which contains hexadecimal values with which to program the EEPROM. Each value should consist of up to four hex digits separated by a space or newline. The data contained in must be formatted the same as the EEPROM imagefile produced by the "/dump" parameter. An imagefile produced by the "/dump" parameter may be used to program the EEPROM. Comments may be added to the EEPROM image file as long as they are preceded by a semicolon ';'. NOTE: When programming the EEPROM using the "/DATA" parameter, EEupdate will ignore the MAC Address (first 6 bytes), and EEPROM checksum (last 2 bytes). However, the MAC Address and checksum locations in the EEPROM image file must be filled with valid hexadecimal values. MAC ADDRESS FILE FORMAT ----------------------- The parameter designates a text file which contains MAC addresses to be programmed to the NIC. This file should contain a list of one or more legal MAC addresses, one per line. Each MAC address contains exactly 12 hexadecimal digits: Example: 000AC45D7800 000AC45D7801 000AC45D7802 A special "count" syntax may also be used. When a decimal integer in square brackets follows the mac address on the line, it is interpreted as a count of consecutive MAC addresses to be programmed. Example: 000AC45D7800 [3] The two examples above are the same. Both represent three consecutive MAC addresses starting at 000AC45D7800. Note: Every line in the address file must end with a carriage return. When EEUPDATE is executed with the , it will sequentially program each selected NIC with MAC addresses from the address file, starting with the first entry. A file, EELOG.DAT, is generated with a record of which MAC addresses were used and which remain available. To program the remaining MAC addresses, EEUPDATE must be run again with the EELOG.DAT specified for the . This is necessary because only EELOG.DAT contains the information on which MAC addresses have been programmed and which still remain available. Alternatively, the EELOG.DAT file may be copied over to the previous address file to eliminate the possibility of MAC Address reuse. (See Example 1 and 2). If EEUPDATE is run again using the same address file (without copying EELOG.DAT), it will program MAC addresses starting back at the first entry in the address file. Please use caution to always use the EELOG.DAT file in order to not program two different NIC ports with the same MAC address. Dual port adapters: When programming the MAC address and EEPROM from a file on a dual port adapter, the recommended method to only select the 1st port of the dual port adapter for programming. The MAC address file should therefore contain only the 1st port MAC addresses. This method is more efficient, as the EEPROM is only programmed once. 82580, 82598, 82599 adapters: These adapters require per port MAC address programming. Each port of the adapter must be selected and the desired MAC address programmed on each port. When programming the EEPROM image, only one port needs to be selected in order to program the EEPROM image file. (See Example 9) EELOG.DAT --------- When is used as a source for MAC addresses, EEUPDATE generates a file named EELOG.DAT which contains a record of which MAC addresses in were used and which remain available. Those addresses used are tagged with a date/time stamp like this: 000AC45D7800 : 10:43:14 08/30/2000 The file format for EELOG.DAT is readable as input for in future invocations of EEUPDATE. As of EEUPDATE 3.27, the EELOG.DAT file may be used as both input and output simultaneously. EXAMPLES -------- Example 1: To update the EEPROM and MAC Address with the data stored in the files imagefile.eep, and addrfile.dat respectively, call EEUPDATE like this: STEP1: EEUPDATE /NIC=1 /D imagefile.eep /A addrfile.dat STEP2: copy eelog.dat addrfile.dat Example 2: To update the MAC Address on the third Intel network adapter found in your system without changing the rest of the EEPROM, call EEUPDATE like this: STEP1: EEUPDATE /NIC=3 /A addrfile.dat STEP2: copy eelog.dat addrfile.dat Example 3: To update the EEPROM without changing the MAC address on all of the Intel network adapters with device ID 2449 found in your system, call EEUPDATE like this: EEUPDATE /DEVICE=2449 /D imagefile.eep Example 4: To dump the EEPROM contents on all of the Intel network adapters in your system, call EEUPDATE like this: EEUPDATE /ALL /DUMP Example 5: To clear specific bit 1 in word 0xA in the EEPROM on all of the Intel network adapters in your system with device IDs 1038, call EEUPDATE like this: EEUPDATE /DEVICE=1038 /CB 0xA 0x2 Example 6: To set bit 1 in word 0xA in the EEPROM on all of the Intel network adapters in your system, call EEUPDATE like this: EEUPDATE /ALL /SB 0xA 0x2 Example 7: To read word 0x9 from the EEPROM, call EEUPDATE like this: EEUPDATE /NIC=3 /RW 0x9 Example 8: To write word 0x9 to the EEPROM on the third Intel network adapter found in your system, and update its checksum, call EEUPDATE like this: EEUPDATE /NIC=3 /WW 0x9 0x1234 Example 9: To update EEPROM and MAC Address for dual-port adapter requiring per port MAC address programming: STEP1: EEUPDATE /NIC=1 /D imagefile.eep /A eelog.dat STEP2: EEUPDATE /NIC=2 /A eelog.dat NOTES ----- * If you run EEUPDATE without any command line options, EEUPDATE will display a listing of all of the supported Intel Network adapters found in your system. * When using the '/dump' command, EEUPDATE will automatically create a file and name it, based on the last 8 bytes of your Intel Network adapter's MAC Address. For example, if your MAC Address was '00AA11223344', EEUPDATE would create the file called '11223344.EEP'. * Both and parameters *must* be sent to eeupdate in hexadecimal. * The EEPROM Checksums and CRCs are automatically updated when you clear/set a bit or bits, and when you write a word to the EEPROM. ERROR CODES: ------------- EEUPDATE returns error codes to the command line. A description of each of these codes can be found in the tool by running eeupdate /exitcodes. Installation ============= INSTALLING THE TOOLS ON MICROSOFT WINDOWS* ========================================== The tools driver can be installed on all versions of Microsoft Windows* since Windows XP. To install the tools' drivers on Windows, run install.bat from the appropriatedirectory 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. Using the /y switch with 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 Intel(R) PROset for Windows 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 (and later), 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 the tools must be "run as" administrator. 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(R) EFI v1.10. 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 Red Hat* or Suse*. 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 Legal / Disclaimers =================== Copyright (C) 2002-2011, 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. Intel is a trademark of Intel Corporation in the U.S. and/or other countries. * 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.