Manipulating a Broadcom BCM5703 Gigabit Ethernet Card ------------------------------------------------------- Author: Steven M. Schweda Revision date: 2011-03-18------------------------------------------------------------------------ Purpose ------- This document explains how to change the PCI Subsystem IDs on aBroadcom BCM5703 gigabit Ethernet card so that it will appear to be aDEGXA-TC, making the card acceptable to the Tru64 and VMS operatingsystems. An optional firmware update procedure is also included.------------------------------------------------------------------------ Universal Disclaimer -------------------- I deny everything. Whatever goes wrong is all your fault.------------------------------------------------------------------------ Requirements ------------ The programs supplied here are intended to be loaded onto 1.44MB (HD)floppy diskettes, from which an Intel-compatible PC may be booted. Atleast one free PCI slot is required for the Broadcom card. If multiplePCI slots are available, then multiple cards may be manipulated in onesession. While the card has a 64-bit PCI-X bus interface, it can alsobe used in a 32-bit PCI slot. (For programming the card, the width ofthe bus slot matters little. In actual use, a 64-bit slot should offerhigher speed.)------------------------------------------------------------------------ Creating the Floppy Diskettes ----------------------------- Fetch and unpack the (Zip-compressed) kit: http://antinode.info/ftp/degxa/b57_nc7.zipThis should yield two floppy diskette image files, each 1.44MB (2880blocks) in size: b57diag.img sp31728.imgOn a VMS system, commands like the following should create a floppydiskette from one of these files: MOUNT /NOASSIST /FOREIGN DVA0: COPY xxxx.img DVA0: DISMOUNT DVA0:The B57DIAG diskette provides a diagnostic utility (B57DIAG.EXE) whichis used to change the card ID parameters. The SP31728 diskette providesa firmware update kit, which is optional.------------------------------------------------------------------------ Procedure --------- Basics ------ The B57DIAG.EXE diagnostic program can do many things. We need onlythese: 1) Display ID information, and 2) Change PCI Subsystem IDs. When changing the PCI Subsystem IDs on a Broadcom 5703 (or similar)card, the new ID values are specified in a file with this format, where"xxxx" and "yyyy" are hexadecimal values: SUBSYSTEM_VENDOR_ID = xxxx SUBSYSTEM_DEVICE_ID = yyyyThis kit includes these two files: DEGXA.SSI, for a DEGXA-TB, 0x16C714E4,0x601B0E11: SUBSYSTEM_VENDOR_ID = 0E11 SUBSYSTEM_DEVICE_ID = 601B NC7771.SSI, for Compaq/HP NC7771, 0x16C714E4,0x00CA0E11: SUBSYSTEM_VENDOR_ID = 0E11 SUBSYSTEM_DEVICE_ID = 00CA- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Identify the Cards ------------------ Boot the PC from the B57DIAG floppy diskette. The following command should display information about each BCM57xxcard in the system: b57diag -didsThe report for a Compaq/HP NC7771 card might include data like these:C Brd:Rv VID DID SVID SDID MAC Fmw PXE PXESpd WOL ASF MBA- ------- ---- ---- ---- ---- ------------ ----------- --- ------ --- --- -----0 5703:B0 14e4 16c7 0e11 00ca 001321E9C60B 5703-v2.33 yes auto yes no pxeC Brd:Rv VID DID SVID SDID MBA PXE PXESpd PXE VERSION BOND REV- ------- ---- ---- ---- ---- ----- --- ------ ----------- --------0 5703:B0 14e4 16c7 0e11 00ca pxe yes auto 6.2.11 B0 / B0All Broadcom BCM5703 cards should have the PCI Vendor ID, VID = 14e4,and the PCI Device ID, DID = 16c7. Here, the PCI Subsystem Vendor ID,SVID = 0e11 identifies Compaq, and the PCI Subsystem Device ID, SDID =00ca identifies an NC7771.The first column ("C") in the report is a device number (0, 1, 2, ...),which will be used later.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Change a Card's SVID and SDID ----------------------------- The following command should change the SVID and SDID of a card,according to the data in the file specified: b57diag -c 0 -mfct degxa.ssiIn this example, card 0 is re-identified as a DEGXA-TB. If successful,the message "Completed!" should be displayed, and a "b57diag -dids"command should show the changed SVID and SDID.------------------------------------------------------------------------ Firmware Update --------------- The HP-supplied firmware update kit on the SP31728 floppy diskette canbe used to load main firmware version v2.35 and PXE firmware version7.7.8 onto an NC7771 card. This might be desirable if the firmware onthe card is older than this, which was true for the card shown above(Fmw = 5703-v2.33, PXE VERSION = 6.2.11). The instructions supplied with HP-supplied firmware update kit willact on every NC7771 card in the system. (Adding a "-c N" option mightlimit it to one card, but this has not been tested.) The HP-supplied firmware update program, Q57UDIAG.EXE, expects to see a Compaq/HP NC7771card. To use this program on some other card, first change the card'sSVID and SDID to the NC7771 values: b57diag -c 0 -mfct nc7771.ssiThen load (if necessary, boot from) the SP31728 floppy diskette, and usethe following command to update the main firmware on every "NC7771" cardin the system: q57udiag -sil -firm 7771v235.binUse the following command to update the PXE firmware on every "NC7771"card in the system: q57udiag -cname 7771 -pxe PXE_v778.bin After the firmware has been updated, use the procedure above to setthe SVID and SDID to the DEGXA-TB values.------------------------------------------------------------------------ Sources ------- This kit comes in two parts. One part provides a BCM57xx diagnosticutility, obtained (originally) from Broadcom. Another part comprises afirmware upgrade kit for a Compaq/HP NC7771 card, obtained from HP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Broadcom NetXtreme Ethernet Adapter Diagnostic ---------------------------------------------- The Broadcom b57diag.exe diagnostic program was found here: http://www.adcsolution.net/download/Drivers/Acer%205315/ GigaLan_Broadcom_v10.43.0.0_Vista_XP/DOS/UserDiag/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Compaq/HP NC7771 Firmware Update -------------------------------- As this is written, the URL below seems to lead to the right kit, butasking the HP Web server ("http://hp.com") to search for "NC7771" may bea more reliable method of finding it in the future. http://h20000.www2.hp.com/bizsupport/TechSupport/ SoftwareDescription.jsp?swItem=MTX-UNITY-I24056The description should look like this: Type: Firmware - Network Version: 1.7 (6 Jan 2006) Operating System(s): Microsoft MS-DOS File name: sp31728.exe (550 KB) This kit contains a utility which can update the main firmware in anNC7771 to version v2.35, and the PXE firmware to version 7.7.8.------------------------------------------------------------------------