This is an old revision of the document!


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/pci_0e11_00ca.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.

  X:\B57UDIAG\>b57diag.exe -c 0 -dir
  ****************
  Copyright notice
  ***************
  C	Brd:Rv	Bus		PCI	Spd	Base	Irq		EEP		MAC		Fmw		Configuration
  ----------------------------------------------------------------------------------------------------------------------
  0	5703:B0	05:04:0		32	33	FC50	11		128K		012345567810	5703-v.235	WMp,auto    
  0	5703:B0	05:04:0		32	33	FC50	11		128K		012345567810	5703-v.235	WMp,auto
  Entry	Type		SRAM Addr	EEP Offset		Length		Execute		Version
 	Bootcode	08003000	00000200		00001860	CPUE(2)		5703-v2.35
  0	PXE		00010000	00001A60		0000EA04	no		v73.67.80

This lists the current NRAM filesystem on the card. Please note the PXE rom on this card is already a gPXE rom, however the same process holds true for replacing the rom

In order to burn the rom we need to run the following

  A:\>b57diag.exe -c 0 -pxe c:\tg3-hp.rom
  ****************
  Copyright notice
  ***************
  C	Brd:Rv	Bus		PCI	Spd	Base	Irq		EEP		MAC		Fmw		Configuration
  ----------------------------------------------------------------------------------------------------------------------
  0	5703:B0	05:04:0		32	33	FC50	11		128K		012345567810	5703-v.235	WMp,auto   
  0	5703:B0	05:04:0		32	33	FC50	11		128K		012345567810	5703-v.235	WMp,auto
  Updating PCI Rom Header with Vendor ID = 0x14e4 Device ID = 0x16c7
  Updating PXE-UNDI16 code (length = 59908 bytes ) ...
  Programing 59908 bytes to NVRAM offset 00001A60
  <counter that ends at 59908 for my rom>
  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

QR Code
QR Code romburning:tg3 (generated for current page)