How to enable WOL and PXE boot on an Intel server network adapter

How to enable WOL and PXE boot on an Intel server network adapter

Start by making sure the network adapter is recognized and properly installed in Windows – preferably with the base Microsoft driver and not the Intel one (as the step below might break some functionality from that driver).

Download the Intel Boot Utility, Preboot Images and EFI Drivers package – PREBOOT.zip. Double check the version downloaded supports your network adapter – I used release 27.4 which although does not list the Intel Gigabit ET Dual Port Server Adapter, worked fine. If it fails for you, incrementally try an older release until you find one that maybe works.

In the downloaded zip there are several files, including a PREBOOT.exe one – this is a self extracting zip archive, you can either run it or extract it manually. It is its content that we’ll be needing.

The archive will extract multiple files in a complicated folders structure. The needed BOOTUTIL[...].exe tool is located in the Preboot/Apps/BootUtil/Winx64 subfolder (or Win32 if you’re running this on an x86 OS). Note that there’s a BootIMG.FLB file located in the (parent) BootUtil subfolder. Copy/move this next to the BOOTUTIL[...].exe file as they’re needed to be in the same folder later on.

Open an administrator-level command prompt and navigate to the folder holding the BOOTUTILW64E.exe application. Running it now will most likely return the message below about the missing driver component.

Calling the separate install.bat script should take care of the required driver.

Now run BOOTUTILW64E.EXE to check if it can identify the network adapter(s). On my Intel Gigabit ET Dual Port Server Adapter the two ports are listed separately.

The columns will reveal the status of the WOL functionality and the Firmware type and version – according to Intel documentation server adapters come with WOL disabled and no bootable firmware installed as can be confirmed by the output I got.

At this point it’s a good idea to make a backup of the existing firmware – just in case this is ever needed later (I checked the saved files and mine were full of zeroes, so there was indeed no firmware present on the adapter). This is done by running:

BOOTUTILW64E.EXE -NIC=x -SAVEIMAGE -FILE firmware-file.bin

Where x above is the number of the adapter/port. I did this separately for both ports/adapters, just in case.

Now that I have some sort of failsafe, I can proceed with breaking reconfiguring the adapter. WOL can easily be enabled with the following command:

BOOTUTILW64E.EXE -NIC=1 -WOLE

I only did this for port 1 – I’m not even sure it can be enabled on both ports of a dual port adapter and I haven’t tried this (the second port lists N/A as status instead of YES or NO).

Notice the change in the WOL column.

Moving on, I want to flash some firmware capable of PXE booting. The Intel documentation is a mess about what is needed for this part and lists various filenames for various adapters which may or may not be in the BOOTUTIL.zip package. Furthermore, the files should also be separate depending on the functionality they provide (PXE, iSCSI, FCOE). The only trait they have in common is that their extension is .FLB.

So I looked for any such files in the downloaded ones, and found the BootIMG.FLB file pointed out at the beginning. Trying various parameters I also figured out this file needs to be in the same folder as BOOTUTIL[…].EXE, hence also mentioning this detail in the beginning or the post.

According to the documentation, the -up or -update parameter can be used by itself or with a value of pxe, efi, efi64, FCoE or iSCSI, for example -up=pxe. The documentation also states that some files can contain multiple firmwares at once, in which case the up(date) parameter should be set to combo. What eventually worked for me was:

BOOTUTILW64E.EXE -NIC=1 -UPDATE=combo -FILE=BootIMG.FLB

As can be observed in the following capture, the firmware got updated for both adapters/ports so I only needed to run this once. Also, the firmware I used appears to have had the UEFI and PXE loaders included.

Next, I looked for a way to enable the classic Press CTRL+S to enter SETUP prompt and the SETUP menu itself.

Example image – not actual result

The documentation is even sketchier in this area, stating somewhere between the lines:

1 These are no longer available due to space limitations. The menu was removed to free up space as we are limited to 64KB for option ROMs. Try the -TLE or -TLD instead to enable and disable, alternatively.

So on to the TLE/TLD instead. Running:

BOOTUTILW64E.EXE -NIC=1 -TLE

confirms that something called Title message gets enabled successfully, although it is not listed in any way in the configuration table below.

I also did not notice any difference during the boot process or any additional messages/information getting displayed, but perhaps this is due to limitations on how an 11 year old network adapter works with current UEFI boot process.

Fortunately, the things that mattered to me – PXE boot and Wake on Lan are fully functional after the steps above.

For those looking to mess with their cards further, full parameters list and documentation for the BOOTUTIL tool can be found on the Intel Ethernet Flash Firmware utility page.

And good luck finding the necessary BOOTUTIL / BootIMG.FLB set for your card if the first download doesn’t work.

Leave a Reply