Version 1.2 - August 09, 2002
The Intel PCI NIC Identification Utility identifies Intel PCI adapters and provides adapter properties and assigned resources. You can readily use this information in batch, script and configuration files for automation purposes.
The utility returns the following values:
PCI device ID (PCI ID). Adapters sharing the same PCI device ID can use the same driver. See the table at the end of this document showing the relationship between drivers and PCI device IDs.
Sub System ID (SSID). Each adapter model has a different SSID. Where the PCI device ID identifies the adapter family, the SSID identifies the specific model.
MAC address (MAC). 12-digit Ethernet ID assigned to the adapter. This number is also printed on the adapter label.
Slot number in decimal (SLOT). PCI logical slot number reported by the adapter; returned in decimal format. Not related to the physical slot number on the motherboard.
Slot number in hexadecimal (SLOTX). PCI logical slot number reported by the adapter; returned in 4-digit hexadecimal format. Not related to the physical slot number on the motherboard.
To run IDADAPT.EXE, you must start the computer in DOS. This utility should not be run from a DOS session within any version of Microsoft Windows*, or in any other non-DOS operating system.
IDADAPT.EXE can be run with no command line options, or with either of the following command line options:
/? |
Displays help information |
/B:<filename> |
Creates a file containing the adapter properties with the name specified in the format of a DOS batch file. Usage examples are listed below. |
If this file is named with the extension of .BAT, it can be executed as a batch file. Executing this batch file will create environment variables from the adapter properties.
Running the utility with no command line parameters displays the adapter properties on the screen. For example, if you enter IDADAPT in a computer with 2 Intel PCI adapters installed, the display would resemble the following:
NIC1 SLOT=43 SLOTX=002B PCI ID=1229 SSID=00018086 MAC=0002B31FE072 NIC2 SLOT=47 SLOTX=002F PCI ID=1031 SSID=00138086 MAC=0090270AAF73
In this example, the first adapter has the following properties:
Logical slot number is 43 (decimal)
Logical slot number is 002B (hexadecimal)
PCI device ID is 1229
Sub System ID is 00018086
MAC address is 0002B31FE072
The utility will display properties for up to 8 adapter ports in a computer.
If the utility does not find any adapters, it reports "No supported adapters were found" and returns an error level of 1. You can use the error level for conditional branching in batch files.
If you run the utility using /B:<filename>, it creates a file with the name you specified. This file contains adapter properties in a batch file format. This is an example batch file:
SET NIC1_SLOT=43 SET NIC1_SLOTX=002B SET NIC1_PCIID=1229 SET NIC1_MAC=0002B31FE072 SET NIC1_SSID=00018086 SET NIC2_SLOT=47 SET NIC2_SLOTX=002F SET NIC2_PCIID=1031 SET NIC2_SSID=00138086 SET NIC2_MAC=0090270AAF73
If the name you assign to the file ends in .BAT, it can be executed in DOS. Executing the file sets environment variables for each property of each adapter.
Once the environment variables are created by the batch file, you can insert the values into configuration files as needed. See examples below.
When using this batch file, remember that about 80 bytes of environment space will be needed for each adapter port found. Insure that you make sufficient environment space available in your configuration.
Important note concerning slot numbering
The decimal slot number (SLOT) returned by the utility is formatted in conventional style for both 10/100 and 10/100/1000 adapters. The conventional style consists of the PCI bus number plus the PCI device number. This will work in the PROTOCOL.INI for the NDIS 2 driver for both adapter families. However, this will not work for the DOS ODI driver for 1000 MB capable adapters, or second port of a multiport 1000 MB capable adapter in the PROTOCOL.INI for NDIS 2 drivers.
The hexadecimal slot number (SLOTX) returned by the utility is formatted differently for 1000 MB capable adapters. This newer format takes the conventional style and left-shifts it 3 bits. The low order 3 bits are used to specify the port number on multiport 1000 MB capable adapters.
You should always use the SLOTX parameter in the NET.CFG for the DOS ODI driver for 1000 MB capable adapters (E1000ODI.COM). Use of the SLOTX parameter in the PROTOCOL.INI for the NDIS 2 driver for the 1000 MB capable adapters (E1000.DOS) is optional unless attempting to use the second port of a multiport adapter.
When using the slot number in a PROTOCOL.INI, remember that the usage rules are different for hexadecimal values as opposed to decimal values. When using a hexadecimal value, the number must be preceded by 0x.
PROTOCOL.INI decimal value example:
Drivername = E1000 SLOT = 47
PROTOCOL.INI hexadecimal value example:
Drivername = E1000 SLOT = 0x0138
NET.CFG example
LINK DRIVER E1000 SLOT 0138
To create a startup disk that loads a Packet Driver named PCKTDRVR.COM on the second found NIC, the AUTOEXEC.BAT file might contain the following:
IDADAPT /B:INTELSET.BAT IF ERRORLEVEL 1 GOTO NO_NIC CALL INTELSET.BAT PCKTDRVR 0x60 %NIC2_SLOT% GOTO END :NO_NIC ECHO NO ADAPTER FOUND!! PAUSE :END
To create a startup disk that automatically detects the adapter model and loads the proper DOS ODI driver, the AUTOEXEC.BAT file might contain the following:
IDADAPT /B:INTELSET.BAT IF ERRORLEVEL 1 GOTO NO_NIC CALL INTELSET.BAT LSL IF "%NIC1_PCIID%" == "1229" GOTO PRO100 IF "%NIC1_PCIID%" == "2449" GOTO PRO100 IF "%NIC1_PCIID%" == "1000" GOTO PRO1000 IF "%NIC1_PCIID%" == "1001" GOTO PRO1000 IF "%NIC1_PCIID%" == "1002" GOTO PRO1000 IF "%NIC1_PCIID%" == "1003" GOTO PRO1000 IF "%NIC1_PCIID%" == "1004" GOTO PRO1000 GOTO NO_NIC :PRO100 E100BODI GOTO CONTINUE :PRO1000 E1000ODI GOTO CONTINUE :CONTINUE IPXODI VLM /V4 GOTO END :NO_NIC ECHO !! NO SUITABLE ADAPTER FOUND !! PAUSE :END
This utility is designed to work with Intel PCI adapters. It should work with any modern Intel PCI bus adapter, as well as LAN on Motherboard designs based on Intel 10/100 and 10/100/1000 silicon.
It does not work with any Intel CardBus, PCMCIA, ISA, EISA or MCA bus adapters, or obsolete products (released prior to 1996) Intel network adapters of any architecture.
IDADAPT.EXE will detect and return information on a maximum of eight adapter ports in a computer.
IDADAPT.EXE will not work if EMM386.EXE is loaded. If you must use EMM386 in your boot disk configuration due to memory limitations, you can set up your boot diskette to boot without EMM386, run IDADAPT and build a batch file with the adapter information, then change your configuration files to include EMM386 and reboot. Then run the resulting batch file to set the environment variables.
PCI ID |
ADAPTER FAMILY |
NDIS 2 driver |
DOS ODI driver |
1000 |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
1001 |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
1002 |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
1003 |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
1004 |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
1005 |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
1006 |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
1007 |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
1008 |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
1009 |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
100A |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
100B |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
100C |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
100D |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
100E |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
100F |
PRO/1000 |
E1000.DOS |
E1000ODI.COM |
1229 |
PRO/100+/S families |
E100B.DOS |
E100BODI.COM |
1030 |
InBusiness 10/100 |
D100IB.DOS |
N/A |
1031 |
PRO/100 V family |
E100B.DOS |
E100BODI.COM |
103A |
PRO/100 V family |
E100B.DOS |
E100BODI.COM |
103B |
PRO/100 V family |
E100B.DOS |
E100BODI.COM |
103C |
PRO/100 V family |
E100B.DOS |
E100BODI.COM |
103D |
PRO/100 V family |
E100B.DOS |
E100BODI.COM |
103E |
PRO/100 V family |
E100B.DOS |
E100BODI.COM |
2449 |
PRO/100 V family |
E100B.DOS |
E100BODI.COM |
Last modified on 4/03/03 7:46a Revision 1