Burning iPXE into Broadcom BCM57xx-based network adapters

The Broadcom Diagnostic Utility set allows you to update the expansion ROM images in Broadcom BCM57xx gigabit network cards (and rebranded Broadcom cards such as the HP NC7771).

Preparing the tools

A CD-ROM

Copy the iPXE ROM image that you have built to a FAT-formatted USB key.

Download the Broadcom Diagnostic Utility .iso image. Burn this image to a blank CD-ROM (or DVD-ROM).

Burning the iPXE ROM

Boot from the CD (with the USB key already plugged in) and select the following sequence of options:

You should now see a DOS X:\> prompt. Type:

  cd \b57udiag
  b57udiag -ver

You should see a list of all Broadcom network adapters in your system, such as:

  X:\>cd \b57udiag
  X:\B57UDIAG>b57udiag -ver
  ****************************************************
  Copyright(c) 2000-2007 Broadcom Corporation
  Broadcom NetXtreme User Diagnostics 10.53 (07/27/07)
  ****************************************************
  C Brd:Rv    Bus   PCI Spd Base Irq EEP     MAC         Fmw     Configuration
  - ------- ------- --- --- ---- -- ---- ------------ ---------- -------------
  0 5703:B0 05:04:0  32  33 FC50 11 128k 00110AE99C0B 5703-v.235 WMp,auto
  1 AC1K:B5 05:00:0  32  33 FF7F  9   4k 00095B1C29D9 2.5        auto

Identify the network adapter that you want to update, and note its card number (from the left-hand “C” column in the listing). For this example, we shall update adapter number 0 (which has MAC address 00110AE99C0B).

Update the ROM on your selected network adapter:

  b57diag -c 0 -pxe c:\14e41647.rom

where -c 0 specifies your chosen network adapter, and c:\14e41647.rom is the path to the iPXE ROM image on your FAT-formatted USB drive. You should see something like:

  X:\B57UDIAG>b57udiag -c 0 -pxe c:\14e41647.rom
  ****************************************************
  Copyright(c) 2000-2007 Broadcom Corporation
  Broadcom NetXtreme User Diagnostics 10.53 (07/27/07)
  ****************************************************
  C Brd:Rv    Bus   PCI Spd Base Irq EEP     MAC         Fmw     Configuration
  - ------- ------- --- --- ---- -- ---- ------------ ---------- -------------
  0 5703:B0 05:04:0  32  33 FC50 11 128k 00110AE99C0B 5703-v.235 WMp,auto
  
  0 5703:B0 05:04:0  32  33 FC50 11 128k 00110AE99C0B 5703-v.235 WMp,auto
  Updating PXE-UNDI16 code (length = 59908 bytes ) ...
  Programing 59908 bytes to NVRAM offset 00001A60
  Updating Directory...
  code len		= 0000ea04
  sram_start_address	= 00010000
  code_start_address	= 00001a60
  Reading current NVRAM ... OK
  Programing : 512
  Totally 1 card(s) has been programmed.

Reboot the machine and enter the BIOS setup. You should see iPXE show up as an option in your BIOS's boot selection menu.

Congratulations on successfully burning iPXE into your network card!

A boot ROM