Supported UEFI Implementations
Intel UEFI Network Driver Naming Convention
Installing the UEFI Network Driver Option ROM Using PROset
Installing the UEFI Network Driver Option ROM From the UEFI Shell
Configuring UEFI Network Stack for PXE
Configuring UEFI Network Stack for TCP/UDP/MTFTP
Unloading the UEFI Network Driver
NOTE: The UEFI network driver for Intel(R) Network Connection enables network connectivity under UEFI. It can be used in conjunction with UEFI software components available from other sources to perform network functions in the UEFI environment. |
The UEFI network driver supports UEFI platforms based on the following UEFI/EFI specifications:
UEFI driver binaries are provided for 64-bit (x86-64), and Itanium processor family platforms.
The network driver version, UEFI platform type, and the network hardware
support can be determined by the file naming convention. The format of the
driver filename is listed below:
Exyzztn.efi
where:
x - major version number of the UEFI driver in decimal
y - minor version number of the UEFI driver in decimal
zz - fix field of the version number
t - the type of driverX - UEFI x64 driver
I - UEFI Itanium drivern - class of adapter the driver is for
2 – PCI/PCI-X Gigabit
3 – PCI-E Gigabit
4 - 10 Gigabit
Examples:
E3603X3.efi - Version 3.6.03 of UEFI x64 driver for Intel PCI-E Gigabit network connection
E1001I4.efi - Version 1.0.01 of UEFI Itanium driver for Intel 10GBE network connection
The network driver can be loaded using the UEFI shell "load" command:
load e3040e2.efi
PROSet for Windows Device Manager can install the UEFI network driver on an Intel network adapter's option ROM. The UEFI network driver will load automatically during system UEFI boot When installed in the option ROM. UEFI specific*.FLB images are included on the CD release media. The "Boot Options" tab in PROSet will allow the UEFI*.FLB image to be installed on the network adapter.
The following FLB files are included on the release media:
BAxyzzX2.flb - Version x.y.zz of the PCI/PCI-X gigabit driver for x86-64
BAxyzzI2.flb - Version x.y.zz of the PCI/PCI-X gigabit driver for Itanium
BAxyzzX3.flb - Version x.y.zz of the PCI-E gigabit driver for x86-64
BAxyzzI3.flb - Version x.y.zz of the PCI-E gigabit driver for Itanium
BAxyzzX4.flb - Version x.y.zz of the 10-gigabit driver for x86-64
BAxyzzI4.flb - Version x.y.zz of the 10-gigabit driver for Itanium
PROSet can only be used to program add-in Intel PCI, PCI-X, and PCI-E network adapters. LOM (LAN On Motherboard) network connections cannot be programmed with the UEFI network driver option ROM. Refer to the PROSet documentation for detailed instructions.
The lanutil.efi command line utility can install the UEFI network driver on an Intel network adapter's option ROM. The UEFI network driver will load automatically during system UEFI boot When installed into the option ROM. Run lanutil.efi with the following command line options to install the UEFI network driver on all supported Intel network adapters:
FS0:\>lanutil -up -all
lanutil.efi can only be used to program add-in Intel PCI, PCI-X, and PCI-E network adapters. LOM (LAN On Motherboard) network connections cannot be programmed with the UEFI network driver option ROM.
As of UEFI 2.1 there are two network stack configurations under UEFI. The
most common configuration is the PXE based network stack. The alternate network
stack provides IPv4 TCP, UDP, and MTFTP network protocol support. As of UEFI 2.1
the PXE and IP-based network stacks cannot be loaded or operate
simultaneously. The following two sections describe each UEFI network stack
configuration.
Reference implementations of the PXE and IP based network stack source code are available for download at www.tianocore.org.
The PXE (Preboot eXecution Environment) based UEFI network stack provides support for UEFI network boot loaders downloaded from a WFM compliant PXE server. Services which can be enabled include Windows 2008 Deployment Services (WDS), Windows 2003 Server Remote Installation Service (Itanium only), Linux network installation (Elilo), and TFTP file transfers. To enable UEFI PXE services the following network protocol drivers must be loaded with: snp.efi, bc.efi, and pxedhcp4.efi. These drivers can be loaded from the UEFI "load" shell command, but are often included as part of the UEFI system firmware. The UEFI shell command "drivers" can be used to determine if the UEFI PXE drivers are included in the UEFI implementation. The drivers command will output a table listing drivers loaded in the system. The following entries must be present in order to network boot a UEFI system over PXE:
DRV | VERSION | TYPE | CFG | DIAG | #D | #C | DRIVER NAME | IMAGE NAME |
F5 | 00000010 | D | - | - | 2 | - | Simple Network Protocol Driver | SNP |
F7 | 00000010 | D | - | - | 2 | - | PXE Base Code Driver | BC |
F9 | 00000010 | D | - | - | 2 | - | PXE DHCPv4 Driver | PxeDhcp4 |
FA | 03004000 | B | X | X | 2 | 2 | Intel(R) Network Connection 3.0.00 | /e3000e2.efi |
A network boot option will appear in the boot options menu when the UEFI PXE
network stack and Intel UEFI network driver have been loaded. Selecting this
boot option will initiate a PXE network boot.
An IP-based network stack is available to applications requiring IP-based
network protocols such as TCP, UDP, or MTFTP. The following UEFI network
drivers must be built into the UEFI platform implementation to enable this
stack: SNP (Simple Network Protocol), MNP (Managed Network Protocol), ARP,
DHCP4, IPv4, ip4config, TCPv4, UDPv4, and MTFTPv4. These drivers will show up in
the UEFI "drivers" command output if they are included in the platform UEFI
implementation:
DRV | VERSION | TYPE | CFG | DIAG | #D | #C | DRIVER NAME | IMAGE NAME |
F5 | 00000010 | D | - | - | 2 | - | IP4 CONFIG Network Service Driver | Ip4Config |
F7 | 00000010 | D | - | - | 2 | - | Simple Network Protocol Driver | SNP |
F8 | 00000010 | D | - | - | 2 | - | ARP Network Service Driver | Arp |
F9 | 00000010 | D | - | - | 2 | - | Tcp Network Service Driver | Tcp4 |
FA | 00000010 | D | - | - | 2 | - | IP4 Network Service Driver | Ip4 |
FB | 00000010 | D | - | - | 2 | - | DHCP Protocol Driver | Dhcp4 |
FC | 00000010 | D | - | - | 6 | - | UDP Network Service Driver | Udp4 |
FD | 00000010 | D | - | - | 2 | - | MTFTP4 Network Service | Mtftp4 |
FE | 00000010 | B | - | - | 2 | 6 | MNP Network Service Driver | /mnp.efi |
FF | 03099900 | B | X | X | 2 | 2 | Intel(R) Network Connection 3.0.00 | /e3000e2.efi |
The ifconfig UEFI shell command must be used to configure each network interface. Running "ifconfig -?" from the UEFI shell will display usage instructions for ifconfig.
To unload a network driver from memory the UEFI "unload" command is used. The
syntax for using the unload command is as follows: "unload [driver handle]",
where driver handle is the number assigned to the driver in the far left column
of the "drivers" output screen.
The UEFI network driver supports forced speed and duplex capability. The force speed and duplex menu can be accessed with UEFI shell command "drvcfg":
drvcfg -s [driver handle] [control handle]
The following speed and duplex configurations can be selected:
Autonegotiate (recommended)
100 Mbps, full duplex
100 Mbps, half duplex
10 Mbps, full duplex
10 Mbps, half duplex
The speed and duplex setting selected must match the speed and duplex setting of the connecting network port. A speed and duplex mismatch between ports will result in dropped packets and poor network performance. It is recommended to set all ports on a network to autonegotiate. Connected ports must be set to autonegotiate in order to establish a 1 gigabit per second connection.
Fiber-optic and 10 gigabit ethernet adapters do not support forced speed and duplex.
The UEFI network driver features built in hardware diagnostic tests. The diagnotic tests are called with the UEFI shell drvdiag command.
"drvdiag -s" -Perform a basic hardware register test
"drvdiag -e" -Perform an internal loopback transmit and receive test
Last modified on 6/09/09 10:09a 10/22/04 9:45a 14