Jiaxin reports that the OvmfPkg/README instructions for downloading the
Intel PROEFI drivers, and the filenames in OvmfPkg/OvmfPkg*.fdf for
incorporating the same in the OVMF binaries, are no longer up to date; the
download link has stopped working.
Additionally, the IA32 driver binary is no more distributed by Intel.
Update OvmfPkg/README with new download instructions, and adapt the OVMF
FDF files.
With this driver in use for QEMU's e1000 NIC, the DH shell command prints,
as Controller Name, "Intel(R) PRO/1000 MT Network Connection". I
successfully tested DHCP and ping from the UEFI shell.
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Reported-by: Jiaxin Wu <jiaxin.wu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=613
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Wu Jiaxin <jiaxin.wu@intel.com>
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
#\r
# Network modules\r
#\r
#\r
# Network modules\r
#\r
-!if $(E1000_ENABLE)\r
- FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {\r
- SECTION PE32 = Intel3.5/EFI32/E3507E2.EFI\r
- }\r
-!endif\r
INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf\r
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf\r
INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf\r
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf\r
#\r
!if $(E1000_ENABLE)\r
FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {\r
#\r
!if $(E1000_ENABLE)\r
FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {\r
- SECTION PE32 = Intel3.5/EFIX64/E3507X2.EFI\r
+ SECTION PE32 = Intel3.5/EFIX64/E3522X2.EFI\r
}\r
!endif\r
INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf\r
}\r
!endif\r
INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf\r
#\r
!if $(E1000_ENABLE)\r
FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {\r
#\r
!if $(E1000_ENABLE)\r
FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {\r
- SECTION PE32 = Intel3.5/EFIX64/E3507X2.EFI\r
+ SECTION PE32 = Intel3.5/EFIX64/E3522X2.EFI\r
}\r
!endif\r
INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf\r
}\r
!endif\r
INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf\r
basic virtio-net driver, located in OvmfPkg/VirtioNetDxe.\r
\r
* Also independently of the iPXE NIC drivers, Intel's proprietary E1000 NIC\r
basic virtio-net driver, located in OvmfPkg/VirtioNetDxe.\r
\r
* Also independently of the iPXE NIC drivers, Intel's proprietary E1000 NIC\r
- driver (PROEFI) can be embedded in the OVMF image at build time:\r
-\r
- - Download UEFI drivers for the e1000 NIC\r
- - http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=17515&lang=eng\r
- - Install the drivers into a directory called Intel3.5 in your WORKSPACE.\r
+ driver (from the BootUtil distribution) can be embedded in the OVMF image at\r
+ build time:\r
+\r
+ - Download BootUtil:\r
+ - Navigate to\r
+ https://downloadcenter.intel.com/download/19186/Ethernet-Intel-Ethernet-Connections-Boot-Utility-Preboot-Images-and-EFI-Drivers\r
+ - Click the download link for "PREBOOT.EXE".\r
+ - Accept the Intel Software License Agreement that appears.\r
+ - Unzip "PREBOOT.EXE" into a separate directory (this works with the\r
+ "unzip" utility on platforms different from Windows as well).\r
+ - Copy the "APPS/EFI/EFIx64/E3522X2.EFI" driver binary to\r
+ "Intel3.5/EFIX64/E3522X2.EFI" in your WORKSPACE.\r
+ - Intel have stopped distributing an IA32 driver binary (which used to\r
+ match the filename pattern "E35??E2.EFI"), thus this method will only\r
+ work for the IA32X64 and X64 builds of OVMF.\r
\r
- Include the driver in OVMF during the build:\r
\r
- Include the driver in OVMF during the build:\r
- - Add "-D E1000_ENABLE" to your build command,\r
+ - Add "-D E1000_ENABLE" to your build command (only when building\r
+ "OvmfPkg/OvmfPkgIa32X64.dsc" or "OvmfPkg/OvmfPkgX64.dsc").\r
- For example: "build -D E1000_ENABLE".\r
\r
* When a matching iPXE driver is configured for a NIC as described above, it\r
takes priority over other drivers that could possibly drive the card too:\r
\r
- For example: "build -D E1000_ENABLE".\r
\r
* When a matching iPXE driver is configured for a NIC as described above, it\r
takes priority over other drivers that could possibly drive the card too:\r
\r
- | e1000 ne2k_pci pcnet rtl8139 virtio-net-pci\r
- -------------+------------------------------------------------\r
- iPXE | x x x x x\r
- VirtioNetDxe | x\r
- Intel PROEFI | x\r
+ | e1000 ne2k_pci pcnet rtl8139 virtio-net-pci\r
+ ---------------------+------------------------------------------------\r
+ iPXE | x x x x x\r
+ VirtioNetDxe | x\r
+ Intel BootUtil (X64) | x\r
\r
=== OVMF Flash Layout ===\r
\r
\r
=== OVMF Flash Layout ===\r
\r