**This is an old revision of the document!** ----
====== Burning gPXE into Broadcom BCM57xx-based cards ====== <referback>This page is part of the [[:romburning|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