Burning gPXE into Broadcom BCM57xx-based cards

<referback>This page is part of the ROM-burning tutorial.</referback>

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 ROM image

Copy the gPXE ROM image (e.g. bin/0e1100ca.rom) to a FAT-formatted floppy disk or USB drive.

Preparing the tools

Download the Broadcom Diagnostics Utility from http://www.broadcom.com/docs/driver_download/570x/B57udiag-10.53.iso. Burn this image to CD using your favourite CD burning method.

Burning the gPXE ROM

Boot from the CD and select the following sequence of options:

  • “Continue to boot FreeDOS from CD-ROM”
  • “Install to harddisk using FreeDOS setup” (which won't actually install anything to your hard disk)
  • The language of your choice
  • “Run FreeDOS from CD-ROM (return to command prompt)”

You should now see an X:\> prompt. Type:

  cd \b57udiag
  b57udiag -ver

You should see something like:

  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

This shows the list of Broadcom cards in the machine. Select the card that you wish to burn gPXE into, and identify its card number (from the left-hand “C” column in the listing).

To burn gPXE into the card, type:

  b57diag -c 0 -pxe c:\0e1100ca.rom

where -c 0 specifies the card number of the card that you wish to burn gPXE into, and c:\0e1100ca.rom is the path to the gPXE ROM image on your FAT-formatted floppy disk or USB drive. You should see something like:

  X:\B57UDIAG>b57udiag -c 0 -pxe c:\0e1100ca.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 gPXE show up as an option in your BIOS's boot selection menu.

Congratulations on successfully burning gPXE into your network card!