No part of this document may be reproduced, in any form or by any means, without permission in
writing from Broadcom Corporation.
Broadcom Corporation reserves the right to make changes to the products or information contained
in this document without notice. No liability is assumed as a result of their use or application. No
rights under any patent accompany the sale of any such products or information.
Epigram, InsideLine, and iLine10 are trademarks of Broadcom Corporation.
This program runs in two modes: Manufacturing mode and Engineering mode. The mode is
determined with the command line option or the configuration file. When the program is
running in manufacturing mode, it starts to run all tests in the configuration. If it detects an
error, it displays an error and exits the program. When the program is in engineering mode,
it prompts user to enter commands. The commands are explained in the later chapters. This
document provides the information on configuration file specification, command line options
and engineering diagnostic commands on Broadcom NetXtreme Ethernet adapter, in
particular to check out the functionality of the BCM5700 Family of Ethernet controllers and
its related components. In general, this program has a set of default configuration. It is
overwritten by configuration file. The command line option overwrites both default and the
configuration files.
The tests are divided into seven groups: Register Tests, Memory Tests, Miscellaneous Tests, Data
Tests, Cable Tests, APE Register Tests and APE Diagnostics Tests. They numbered as group ‘A’,
‘B’, ‘C’, ‘D’, ‘E’, ‘F’, and ‘G’.
Note: For few special scenairos, not all tests are supported. Refer to online help for more
information.
The lists of each group are shown as below. Their detailed explanation will be described later.
Group A.
A1. Indirect Register Test
A2. Control Register Test
A3. Interrupt Test
A4. BIST
A5. PCI Cfg Register Test
A6. Serial Number Reg Test
A7. Power Register Test
A8. MailBox Register Test
Groupt B.
B1. Scratch Pad Test
B2. BD SRAM Test
B3. DMA SRAM Test
B4. MBUF SRAM Test
B5. MBUF SRAM via DMA Test
B6. External SRAM Test
B7. CPU GPR SRAM Test
Function: Each Register specified in the configuration contents is tested for read only bit and
read/write bit defines. The test writes zeroes and ones into the test bits to insure the read only
bits are not changed, and read/write bits are changed accordingly.
Default: Enabled.
3.2.3 A3. Interrupt Test
Command: intrtest
Function: This test verifies the interrupt functionality. It enables interrupt and waits for
interrupt to occur. It waits for 500ms and reports error if could not generate interrupts.
Default: Enabled
3.2.4 A4. BIST
Command: bist
Function: Hardware Built-In-Self-Test (BIST). This test initiates BIST, and wait for the test
result returned by hardware.
Default: Enabled
3.2.5 A5. PCI Cfg Register Test
Command: pcicfg
Function: This test verifies the access integrity of the PCI config registers.
Default: Enabled
3.2.6 A6. Serial Number Reg Test
Command: serial
Function: Tests the PCI-E Serial Number capabilities registers on chips that support the
Serial Number capability. This command is supported on 5751Cx, 5755, 5787.
Function: Tests the PCI-E Power capabilities registers on chips that support the Power
capability. This command is supported on 5751Cx, 5755 and 5787 only.
Default: Enabled.
3.2.8 A8. Mailbox Register Test
Function: This test verifies the access integrity of the Mailbox registers. This test is for
5719 and 5720 only.
Default: Enabled
3.3 Memory Test - B Group
3.3.1 B1. Scratch Pad Test
Command: memtest -s
Function: This test tests the scratch pad SRAM on board. The following tests are
performed:
Data Pattern Test: Write test data into SRAM, read back to ensure data is correct. The test
data used is 0x00000000, 0xffffffff, 0xaa55aa55, and 0x55aa55aa.
Alternate Data Pattern Test: Write test data into SRAM. Write complement test data into
next address. Read back both data to insure the data is correct. After the test, the program
reads back data one more time to insure the data stays correct. The test data used is
0x00000000, 0xffffffff, 0xaa55aa55, and 0x55aa55aa.
Address Test: Write each address with unique increment data. Read back data to insure
data is correct. After fill the entire data with the unique data, the program reads back data
again to insure data stays the same.
Walking Bit Test: For each address location, starting at bit 0, each bit is set, tested and
then shifted left by one. This process is repeated for each of the 32 bits in each address
location in the entire memory test range.
Pseudo Random Data Test: A pre-calculated pseudo random data is used to write a unique
data into each test RAM. After the first pass the test, the program reads back one more time
to insure data stays correct.
Function: This test tests the BD SRAM. This performs exact the same way of testing as
described in B1, the Scratch Pad Test.
Default: Enabled
3.3.3 B3. DMA SRAM Test
Command: memtest -d
Function: It tests DMA SRAM by performing the tests described in test B1, the Scratch Pad
Test.
Default: Enabled
3.3.4 B4. MBUF SRAM Test
Command: memtest -m
Function: It tests MBUF SRAM by performing the tests described in test B1, the Scratch
Pad Test.
Default: Enabled
3.3.5 B5. MBUF SRAM via DMA Test
Command: memtest -x
Function: Eight test pattern data are used in the test. They are described below. A 0x1000
sized data buffer is used for this test. Before each pattern test, the buffer is initialized and
filled with the test pattern. It then, performs size 0x1000 transmit DMA from host buffer to
NIC MBUF memory. Verify the data integrity in MBUF against host memory and repeat the
DMA for the entire MBUF buffer. Then it performs receive DMA from NIC to host. The
0x1000-byte test buffer is cleared to zero before each receive-DMA. Verify the data integrity
and test is repeated for the entire MBUF SRAM range.
Test Pattern Description
“16 00's 16 FF's” Full the entire host DMA buffer with 16 bytes of 00’s and then 16 bytes
of FF’s.
“16 FF's 16 0's” Full the entire host DMA buffer with 16 bytes of 00’s and then 16 bytes
of FF’s.
“32 00's 32 FF's” Full the entire host DMA buffer with 32 bytes of 00’s and then 32 bytes
of FF’s.
“32 FF's 32 00's” Full the entire host DMA buffer with 32 bytes of FF’s and then 32 bytes
of 00’s.
“00000000's” Full the entire host DMA buffer with all zeros.
“FFFFFFFF's” Full the entire host DMA buffer with all FF’s.
“AA55AA55's” Full the entire host DMA buffer with data 0xAA55AA55.
“55AA55AA's” Full the entire host DMA buffer with data 0xAA55AA55.
Function: It tests external SRAM by performing the tests described in test B1, the Scratch Pad Test.
Default: Disabled
3.3.7 B7. CPU GPR Test
Command: memtest -b
Function: This test tests the CPU General Purpose Registers. This performs exact the same way of testing as described in B1 over 3 voltages (1.1V, 1.2V, 1.3V).
Default: Enable
3.4 Misc Tests – C Group
3.4.1 C1. EEPROM Test
Command: setest
Function: An increment test data is used in EEPROM test. It fills the test data into the test
range and read back to verity the content. After the test, it fills data with zero to clear the
memory.
Default: Enabled
3.4.2 C2. CPU Test
Command: cputest
Function: This test opens the file cpu.bin. If file exists and content is good, it loads code to
rx and tx CPU and verifies CPU execution.
Default: Enabled
3.4.3 C3. DMA Test
Command: dmatest
Function: Both high and low priorities DMA are tested. It moves data from host memory to
NIC SRAM, verifies data, and then moves data back to host memory again to verify data.
Function: The function is identical to A2. Control Register Test. Each Register specified in
the configuration contents read only bit and read/write bit defines. The test writing zero and
one into the test bits to insure the read only bits value are not changed, and read/write bits
are changed accordingly.
Default: Enabled.
Default Register table
The test will try to read the register configuration file ‘miireg.txt’ for the register defines. If
the file does not exists, the following table is used:
Function: It saves the content of VPD first before perform the test. Once it is done, it writes
one of the five pattern test data, 0xff, 0xaa, 0x55, increment data, or decrement data, into
VPD memory. By default, increment data pattern is used. It writes and reads back the data
for the entire test range, and then restores the original content.
Setting reset bit, poll for self-clearing. Verify reset value of registers.
2. Event Mapping Test
Setting SMB_ATTN bit. By changing ASF_ATTN LOC bits, verify the mapping bits in
TX_CPU or RX_CPU event bits.
3. Counter Test
Clear WG_TO, HB_TO, PA_TO, PL_TO, RT_TO bits by setting those bits. Make sure
the bits clear.
Clear Timestamp Counter. Writing a value 1 into each PL, PA, HB, WG, RT counters.
Set TSC_EN bit.
Poll each PA_TO bit and count up to 50 times. Check if PL_TO gets set at the end of 50
times. Continue to count up to 200 times. Check if all other TO bits are set and verify
Timestamp Counter is incremented.
Default: Enabled
3.4.7 C7. Expansion ROM Test
Command: romtest
Function: This function tests the ability to enable/disable/access the expansion
rom on the device.
Default: Enabled
3.4.8 C8. CPU Fetch Test
Command: cpufetch
Function: Test the CPU instruction-fetch logic a 100 times on 5705 and later devices. The
voltage is also varied to 1.1V and 1.3V on devices that support voltage variation.
Default: Enabled
3.5 Data Tests – D Group
3.5.1 D1. Mac Loopback Test
Command: pkttest -m
Function: This is internal loopback data transmit/receive test. It initializes MAC into
internal loopback mode, and transmits 200 packets. The data should be routed back to
receive channel and receive by the receive routine, which verifies the integrity of data. One
Giga bit rate is used for this test.
Note: This test is not available for 5718, 5719 and 5720.
3.5.2 D2. Phy Loopback Test
Command: pkttest -p
Function: This test is same as D1. Mac Loopback Test, except the data is routed back via
physical layer device. One Giga bit rate is used for this test.
Please note if the device supports E-Switch, such as 5756, the test is performed on both
laptop mode and docking mode. To perform the test only on the default port, two methods
can be used: 1. command line option ‘-disableeswitch’; 2. ‘eswitch –f’ in engineering mode
before the test.
Default: Enabled
3.5.3 D3. RJ45 Loopback Test
Command: pkttest -e
Function: This is external loopback test. From the UUT point of view, no loopback mode is
configured. The data expected to be routed back by RJ45 loopback connector. 10M/s,
100M/s, and 1000M/s are used for this test.
Please note if the device supports E-Switch, such as 5756, the test is performed on both
laptop mode and docking mode. To perform the test only on the default port, two method
can be used: 1. command line option ‘-disableeswitch’; 2. ‘eswitch –f’ in engineering mode
before the test.
Default: Disabled
3.5.4 D4. 1G False Carrier Test
Command: nictest d4
Function: This test executes the same procedure as test D3 and tests to see if a false carrier
was detected at the end of the test. The –l200, –dispgbpkt, -disppkt and –errlimit commandline options were added to configure a number of operational parameters. The details of the
command line options are provided in the “COMMAND LINE OPTION PARAMETERS”
section.
Please note if the device supports E-Switch, such as 5756, the test is performed on both
laptop mode and docking mode. To perform the test only on the default port, two method
can be used: 1. command line option ‘-disableeswitch’; 2. ‘eswitch –f’ in engineering mode
before the test.
Function: This function tests the auto-polling and phy-interrupt capabilities. These are the
functionalities of the phy.
Default: Enabled
3.5.6 D6. MSI Test
Command: msitest
Function: Testing Message Signaled Interrupt Function to see if it handles this interrupt
correctly.
Default: Enabled
3.5.7 D7. E-Switch Test
Command: nictest d7
Function: This function tests the E-Switch Ethernet porting switching hardware.
Default: Enabled (available only for NetXtreme controllers with E-Switch support)
3.5.8 D8. SADB Test
Command: nictest d8
Function: This function tests the Security Association Data Base hardware in IPsec
supported NetXtreme Ethernet controllers.
Default: Enabled (available only on NetXtreme controllers with IPSec support)
3.5.9 D9. IPsec Loopback Test
Command: nictest d9
Function: An external loopback test is performed at 10/100/1000 Mbits/s using IPsec
encrypted packets. Various hardware supported encryption ciphers are used to encrypt and
decrypt packets and verify the proper operation of the IPsec hardware.
A zero length loopback connector is placed at the RJ45 connector of the LOM/NIC. After
running the loopback test at 1000 Mbits/s the line signal quality is tested order to catch line
faults (shorts or opens). This test is used during manufacturing in order to detect
board/system build issues on the line/analog side of the Ethernet controller.
Default: Disabled (available only on NetXtreme controllers with IPSec support)
3.6 Carrier Tests
3.6.1 E1. 1G Wire Open/Short (** ZERO LEN LB RJ45 **) Test
Command: nictest e1
Function: An external loopback test is performed at 10/100/1000 Mbits/s. A zero length
loopback connector is placed at the RJ45 connector of the LOM/NIC. After running the
loopback test at 1000 Mbits/s the line signal quality is tested order to catch line faults (shorts
or opens). This test is used during manufacturing in order to detect board/system build issues
on the line/analog side of the Ethernet controller.
Default: Disabled
NOTE: The following tests in test groups F and G are only enabled for NetXtreme Ethernet
Controllers which support the Application Processing Engine (APE).
3.7 APE Registers Tests – F Group
3.7.1 F1. Indirect APE Ctrl Register Test
Command: nictest f1
Function: Using indirect addressing method, incremented data is written into APE control
registers and read back for verification. The memory read/write is done 100 times while
incrementing test data.
Default: Disabled
3.7.2 F2. APE Control Register Test
Command: nictest f2
Function: Each Register specified in the APE control register block is tested for read only
bits and read/write bits. The test writes zeroes and ones into the test bits to insure the read
only bits are not changed, and read/write bits are changed accordingly.
Function: Using indirect addressing method, incremented data is written into APE Peripheral
registers and read back for verification. The memory read/write is done 100 times while
incrementing test data.
Default: Enabled
3.7.4 F4. APE Peripheral Register Test
Command: nictest f4
Function: Each Register specified in the APE Peripheral register block is tested for read
only bits and read/write bits. The test writes zeroes and ones into the test bits to insure the
read only bits are not changed, and read/write bits are changed accordingly.
Default: Enabled
3.7.5 F5. APE Scratch Pad Test
Command: nictest f5
Function: This test tests the APE scratch pad SRAM on the APE enabled NetXtreme
controllers. The following tests are performed:
Data Pattern Test: Write test data into SRAM, read back to ensure data is correct. The test
data used is 0x00000000, 0xffffffff, 0xaa55aa55, and 0x55aa55aa.
Alternate Data Pattern Test: Write test data into SRAM. Write complement test data into
next address. Read back both data to insure the data is correct. After the test, the program
reads back data one more time to insure the data stays correct. The test data used is
0x00000000, 0xffffffff, 0xaa55aa55, and 0x55aa55aa.
Address Test: Write each address with unique increment data. Read back data to insure
data is correct. After filling the entire memory length with the unique data, the program reads
back the data again to insure data stays the same.
Walking Bit Test: For each address location, starting at bit 0, each bit is set, tested and
then shifted left by one. This process is repeated for each of the 32 bits in each address
location in the entire memory test range.
Pseudo Random Data Test: A pre-calculated pseudo random data is used to write a unique
data into each test RAM. After the first pass the test, the program reads back one more time
to insure data stays correct.
Function: Performs memory data verification tests on the APE Shared Memory. This test
uses the same the method of testing as described in F5. APE Scratch Pad Test.
Default: Enabled
3.7.7 F7. APE Shared Memory Indirect Access Test
Command: nictest f7
Function: Performs memory data verification tests using Indirect Addressing Method, on the
APE Shared Memory. This test uses the same the method of testing as described in F5. APE
Scratch Pad Test.
Default: Enabled
3.7.8 F8. APE Mutex Register Test
Command: nictest f8
Function: Each of the registers in the APE Mutex Register block is tested to verify that
each bit set in the Mutex Request register can acquire a corresponding grant bit in its paired
Mutex Grant register. After each grant bit is set it is written with back to verify the grant bit
can be cleared.
Default: Disabled
3.7.9 F9. APE Timers Test
Command: nictest f9
Function: This test each of the APE internal timer registers from the host interface. The
test verifies that the APE timers are functioning and within acceptable tolerances.
Default: Disabled
3.8 APE Diagnostics Tests – G Group
3.8.1 G1. APE CPU Memory Test
Command: nictest g1
Function: This test executes a series of memory tests using the APE CPU.
Data Pattern Test: Write test data into SRAM, read back to ensure data is correct. The test
data used is 0x00000000, 0xffffffff, 0xaa55aa55, and 0x55aa55aa.
Alternate Data Pattern Test: Write test data into SRAM. Write complement test data into
next address. Read back both data to insure the data is correct. After the test, the program
reads back data one more time to insure the data stays correct. The test data used is
0x00000000, 0xffffffff, 0xaa55aa55, and 0x55aa55aa.
Address Test: Write each address with unique increment data. Read back data to insure
data is correct. After fill the entire data with the unique data, the program reads back data
again to insure data stays the same.
WalkingOne bit Test: For each address. Data one is written and read back for testing. Then
shift the data left one bit, so the data becomes two and do the same test again. It repeats for
32 times until the test bit is shifted out of test data. The same is test is repeated for entire test
range.
Pseudo Random Data Test: A pre-calculated pseudo random data is used to write a unique
data into each test RAM. After the first pass the test, the program reads back one more time
to insure data stays correct.
Default: Enabled
3.8.2 G2. APE CPU Packet Test
Command: nictest g2
Function: An Ethernet packet is transmitted via internal loopback from the APE CPU and
verified for data integrity and that packet interrupts are generated.
Default: Enabled
3.8.3 G3. APE CPU SMBus Loopback Test
Command: nictest g3
Function: This test sends and receives SMBus messages from the APE CPU via loopback
on the SMBus controllers and verifies that correct data was received. (Requires loopback
jumpers to be installed).
Default: Disabled
3.8.4 G4. APE CPU GPIO Register Test
Command: nictest g4
Function: This test writes zeroes and ones to the GPIO output pins via the APE CPU to
insure the bits are changed accordingly and that GPIO state change interrupts are generated.
Function: In this test the APE CPU writes to the APE event registers to verify that each
event state can generate a corresponding interrupt.
Default: Enabled
3.8.6 G6. APE CPU Mutex Register Test
Command: nictest g6
Function: Each of the registers in the APE Mutex Register block is tested from the APE
CPU. This test verifies that each bit set in the Mutex Request register can acquire a
corresponding grant bit in its paired Mutex Grant register. After each grant bit is set it is
written with back to verify the grant bit can be cleared.
Default: Enabled
3.8.7 G7. APE CPU Timers Test
Command: nictest g7
Function: This test each of the APE internal timer registers using the APE CPU. The test
verifies that the timers are functioning and within acceptable tolerances.
Default: Enabled
3.8.8 G8. APE CPU GRC Reset Test
Command: nictest g8
Function: This test verifies that the GRC port interrupt function can be detected via the
APE CPU.
Default: Enabled
3.8.9 G9. APE USB Test (UEFI only)
Command: nictest g9
Function: This test verifies that the APE USB port can be detected from the host controller
by executing a series USB descriptor query commands. This test is only available on the
UEFI version of B57diag.
When users invoke this program, a set of option parameter can be used to overwrite the configuration
file or the default configuration. This section summarizes the options. The options are case sensitive.
-putil Call “b57putil.exe” utility to unload PXE driver.
When "-putil" was entered, diag will call another application "b57putil.exe". "b57putil.exe"
will unload PXE and such that diag can have full control over the device. This option switch
should be used when updating firmware with "-firmall" option switch via PXE connection.
-seldev <VID_DID> option to select devices that match VID and DID
Use this option to select target devices. Other devices, which have different VIDs and DIDs,
will not be selected and listed. This option switch can be used along with “-firm” and “firmall” option switches.
Example: a:\b57diag –b57eng –seldev 14e411677
-uump <filename> used for field program of UMP firmware
The feature is used to execute a field upgrade of UMP firmware. The firmware is
programmed into a/the device/s specified by “-c” option switch if UMP firmware is
originally loaded in NVRAM
-dir used for displaying file directory in NVRAM
The feature is used to display file directory in NVRAM. The file directory in the
NVRAM of device/s specified by"-c" option switch will be display. If no "-c" option
switch has been entered, the file directory of all detected devices will be
displayed. In order to log the file directory to a log file, "-l" option switch option
must be entered BEFORE "-dir" option switch. Since this is a single function
command, the will be no "nictest" or other functions will be preformed.
-pump <file> Program UMP firmware
This option needs to follow the –e and –c options. If this option is entered, the program will
retrieve the UMP firmware filename from the command line then it will start programming.
Example:
b57diag –e <code> -c 0 –pump ee5714c1.00
-pump1 <file> Program UMP firmware only
The feature is used to execute a field upgrade of NVRAM to add UMP firmware. The
firmware is programmed into a/the device/s specified by “-c” option switch.
This option needs to follow the –e and –c options. If this option is entered, the program will
retrieve the ISCSI firmware filename from the command line then it will start programming.
Example:
b57diag –e <code> -c 0 –piscsi iscsi.bin
-piscsicfg Force program ISCSI CFG firmware
If this option is entered, it will force program the ISCSI CFG firmware to NVRAM. This
option must be used along with –piscsi option.
-piscsi1 <filename> used for field program of ISCSI firmware
The feature is used to execute a field upgrade of NVRAM to add ISCSI firmware. The
firmware is programmed into a/the device/s specified by “-c” option switch.
-smbaddr <hex1> | <hex2> | …….| <hexn> used for programming SMBus Address for
ASF/IPMI firmware.
The feature will allow user to program SMBus Address for ASF/IPMI firmware. This
switch can take multiple parameters in HEX.
Example
1. -smbaddr A4 (SMB Address = 0xA4)
2. -smbaddr A4 A6 (SMB Address for 1st device=0xA4 and 2nd device = 0xA6)
This switch must be used along with -c option to indicate the target device.
Example:
b57diag -c 0 3 6 -smbaddr A4 A6 A8 -t abcd.
b57diag –c 0 –e b57kia –pasf asf.bin –smbaddr A4 –t abcd
-chksecfg <file_p> | <file_s> will enable the NVRAM SecfgTest
Boot code configuration will be checked against input files. The input files are in the
same format as EEPROM.TXT. <file_p> is for the primary port and <file_s> is for the
secondary port. Software will read command from input files and compare with the
boot code configuration and return “Passed” or “Failed” accordingly.
b57diag –chksecfg file_p.txt (for single port devices)
b57diag –chksecfg file_p.txt file_s.txt (for dual port devices)
-nosz disable storing NVRAM and TPM size in NVRAM
Disable the storing of the TPM and NVRAM size in NVRAM when diagnostics is run from
the command prompt. Use the "-nosz" option when repeatedly power cycling a system in
order not to exhaust the total NVRAM write cycles.
Use this option to modify the PCI SSID and SVID stored in NVRAM. The new SSID and
SVID are specified in the file <filename>. The format of <filename> is specified in the
“EEPROM.TXT format” section below.
-sil suppresses warning messages of the “-firm” and “-firmall” commands
The warning message, “Boot code file and device type incompatible produced by the “-firm”
and “–firmall” commands is not displayed when the “-sil” command line parameter is entered
before the “-firm” and “–firmall” commands. The “-firm” and “-firmall” commands are
described below.
-rf <x> selects a reference device to use during external loopback
Use this option with the external loopback test D3 to select a reference card. During the
external loopback test the physical loopback can be provided with a RJ45 loopback plug or a
CAT5 cable connected to a reference device (which loops back the data).
-lbe g:h:t define the number of packets to use during external loopback
Selects the number of packets to send during the external loopback test D3 (g ,h ,t are the
gigabit, hundred megabit, and ten megabit packet counts respectively) (default values are
g=2000, h=1000, t=600). It is mandatory that all packets counts are entered with this
command line option.
-b57eng enter engineering mode
This option is used to enter engineering mode for advanced testing and debug.
-ckdev <xy> executes diagnostic only x=chip rev and y=metal rev
If <xy> does not match the device being accessed diagnostics will not execute. Use this
option on a production line to verify that only chips of a specific rev are run with diagnostics
and all others fail.
-l200 <m200> controls the number of 200 packets to send
This option is used for the D4, “1G False Carrier loopback test. During the test packets are
sent out in groups of 200. The user specified <m200> value determines the number of 200
packet groups to send out. The default value is <m200> =50 or 50 groups of 200 packets.
-disppkts display the packet count during the progress of the test
This option is used for the D4, “1G False Carrier loopback test. On long-term test this
option is entered to display the packet count every 20,000 packets to let a user know the test
is operating normally and not frozen.
-dispgbend display the packet count at the end of the test
This option is used for the D4, “1G False Carrier loopback test. This option is entered to
print out the final packet count at the end of the test.
-errlimit <lim> controls the number of errors seen before the test fails
This option is used for the D4, “1G False Carrier loopback test. The default value is <lim>
=3.
-pktf0 packet data pattern is alternating 64 1’s and 0’s
This option is used for the D4, “1G False Carrier loopback test. The default packet data is
an incrementing value per byte. With this option the packet data alternate between 64 1’s and
0’s that are aligned on a 64-bit PCI bus for maximum transitions.
-dids display chip information such as the PCI DID and VID
The feature outputs the following information: PCI DID, VID, SDID & SVID; MAC
address, Firmware revision, PXE, PXESpd, WOL, ASF, MBA, Bond Rev. This information
can be used to verify the setup of a chip after a firmware upgrade.
-elog <filename> an error log file <filename> used to log diagnostics failures
The feature is used to log the failure information of the diagnostics run. When an error
occurs if the file <filename> exists it is appended to and if it does not exist it is created. If
there are no diagnostics failures then the file in not appended or created. A user abort of the
diagnostics testing is log to the error log file <filename>.
-firm <filename> used for field upgrade of bootcode firmware
The feature is used to execute a field upgrade of bootcode firmware. The bootcode firmware
is programmed into a/the device/s of a system if there is a match of the PCI DID, VID,
SDID & SVID of firmware and device. For legacy bootcode, only VPD data block and
Phase 1 and Phase 2 bootcode will be updated by default. For Selfboot firmware and
Hardware Selfboot firmware, only patches will be updated.
-firmall <filename> used for field upgrade for entire NVRAM image
The feature is used to execute a field upgrade of entire NVRAM image. The new NVRAM
image is programmed into a/the device/s of a system if there is a match of the PCI DID,
VID, SDID & SVID of firmware and device. Media Manufact Region and Media VPD
Block in NVRAM will be preserved. If the Advance Firmware, such as ASF and IPMI, is
present, the Configuration Block of the firmware will also be preserved. Three addition
command line parameters, “-updateasfcfg “-updatesecfg “-updateiscsicfg” and “-sil can be
used along with “-firmall” command.
-updateasfcfg update the advance firmware configuration block of NVRAM with that of
the NVRAM image provided by “-firmall” command
When “-updateasfcfg” command line parameter is entered before “-firmall” command, the
Advance Firmware Configuration Block of the NVRAM will not be preserved. It will get
updated by the input file of “-firmall” command. The “-firmall” command is described
above.
-updatesecfg update the Media Manufact Region and Media VPD Block, of NVRAM
with that of the NVRAM image provided by “-firmall” command
When “-updatesecfg” command line parameter is entered before “-firmall” command, the
Meida Manufact Region and Media VPD Block of the NVRAM will not be preserved. They
will get updated by the input file of “-firmall” command. The “-firmall” command is
described above.
-updateiscsicfg update the ISCSI firmware configuration block of NVRAM with that of
When “-updateiscsicfg” command line parameter is entered before “-firmall” command, the
ISCSI Firmware Configuration Block of the NVRAM will not be preserved. It will get
updated by the input file of “-firmall” command. The “-firmall” command is described
above.
-pipmi <filename> used for field program of IPMI firmware
The feature is used to execute a field upgrade of NVRAM to add IPMI firmware. The
firmware is programmed into a/the device/s specified by “-c” option switch.
-uipmi <filename> used for field program of IPMI firmware
The feature is used to execute a field upgrade of IPMI firmware. The firmware is
programmed into a/the device/s specified by “-c” option switch if IPMI firmware is
originally loaded in NVRAM
-lbspd <spd> selects the line speeds to run test D3 (external loopback)
The external loopback test, by default, runs lines speeds of 10/100/1000 Mbits/s. The user
can select to run any combination of the line speeds to run the external loopback via this
option. The <spd> parameter specifies the operational speed by using t/h/g for 10/100/1000
Mbits/s respectively. To run test D3 at a 100 Mbits/s line rate the user would enter “b57diag
–t abcd –T d3 –lbspd h”. To run test D3 at a 100 Mbits/s and 1 Gbit/s the user would enter
“b57diag –t abcd –T d3 –lbspd hg”.
-hlb <spd> puts the UUT into the host loopback mode
All data sent to the device on the line side will be looped back to the line. This setup can be
used to test a specific device with an external tester or can be used with the –tr option to
perform a requestor-response test. The optional <spd> parameter specifies the operational
speed by using 10/100/1000 for 10/100/1000 Mbits/s respectively. The default value is 1000
Mbits/s.
-tr <pkts> <spd> the UUT transmits and receives data
The UUT will transmit the number of packets specified by <pkts>. The default number of
packets transmitted is 1,000,000. The UUT will receive all packets sent to it via the line side.
Counts of the transmitted and received packets will be presented to the user. This setup can
be used to test a specific device with an external tester or can be used with the –hlb option to
perform a requestor-response test. The optional <spd> parameter specifies the operational
speed by using 10/100/1000 for 10/100/1000 Mbits/s respectively. The default value is 1000
Mbits/s.
-c <num> specify UUT device number
When more than one device is in the system, the devices are number starting from zero. For
example, if there is three devices detected, the device is numbered as 0,1,and 2. In this case,
by entered the parameter –c 2 will select the last found device as default UUT.
In manufacture testing mode, by default, all devices are tested; however, if this option is
used, only that selected device is tested.
Example: -c 2
-l <filename> log file
All diagnostic output can be saved in a log file. Type log file name is specified by this
option. The default is no log file.
Example: -l mylogfile.txt
-w <value> enable WOL programming in manufacture mode
After a successful manufacturing testing, the program will program WOL to either enable or
disable mode (<value> = 1/0). By default, the WOL is programmed as disable. Entering
value=1 will enable WOL.
When –f is entered, software uses eeprom.bin’s content for WOL setting.
When –w 1 is entered with –f, software forces WOL enabled.
-x <value> enable PXE in manufacture mode
After a successful manufacturing testing, the program will program PXE to either enable or
disable mode (<value> = 1/0). By default, the PXE is programmed as disable. Entering
value=1 will enable PXE.
When –f is entered, software uses eeprom.bin’s content for PXE setting.
When –x 1 is entered with –f, software forces PXE enabled.
-t <id> disable test
-T <id> enable test
A certain test is enabled or disabled by default. User can overwrite the enabling status by
those options. The test id must start with a letter ‘A’, ‘B’, ‘C’, or ‘D’ to indication the group
and followed by test numbers. Each digit of number represents the sub-test number. For
example, if the user wants to disable test A1 and A3. The option –t A13 should be entered. If
no test numbers entered, all tests in that group are selected. For the tests not specified, the
default setting will be used. To enable or disable all tests, use the wildcard character “*” by
itself.
A1. Indirect Register Test
A2. Control Register Test
A3. Interrupt Test
A4. Built In Self Test
A5. PCI Cfg Register Test
B1. Scratch Pad Test
B2. BD SRAM Test
B3. DMA SRAM Test
B4. MBUF SRAM Test
B5. MBUF SRAM via DMA Test
C1. NVRAM Test
C2. CPU Test
C3. DMA Test
C4. MII Test
C5. VPD Test
C6. ASF Hardware Test
C7. ROM Expansion Test
C8. CPU Fetch Test
D1. Mac Loopback Test (not enabled on BCM5761)
D2. Phy Loopback Test
D5. MII Miscellaneous Test
D6. MSI Test
D7. E-Switch Test
Disabled Tests:
B6. External SRAM Test
D3. RJ45 Loopback Test
D4. 1G False Carrier Test
For BCM5761 devices the following tests are available:
Enabled Tests:
D8. SADB Test
F3. Indirect APE Peripheral Register Test
F4. APE Peripheral Register Test
F5. APE Scratchpad Memory Test
F6. APE Shared Memory
F7. APE Shared Mem Indirect Access Test
G1. APE CPU Memory Test
G2. APE CPU Packet Test
G5. APE CPU Event Register Test
G6. APE CPU Mutex Register Test
G8. APE CPU GRC Reset Test
Use this option to specify the number of times the tests to be run. The default is run one time.
A number zero indicates loop forever. A control-C or control-break key can be used to break
the loop. Any error detected will also stop testing after reporting the error.
Example: -I 5
Run tests five times.
-ver display current version number
If this option is entered, it displays the software version number/silkscreen revision and then
exits the program.
-e <code> Encryption Code
This option is required to use option -geneep, –f, -m, –n, -mac and -s.
-geneep <file> Generate eeprom.bin file from eeprom.txt
A password is needed to run this option. With this option, it updates the specified eeprom
binary file with the specifications defined in eeprom.txt. Please see Section 6.0
EEPROM.TXT format for detailed argument description.
-bus <bus:dev:func> Test UUT location
If only bus number has been specified, the program will test all the UUTs at the
specified bus number.
Example: -bus 2.
If bus number and device number have been specified, the program will test all the
UUTs with the specified bus number and device number.
If bus number, device number and function number have been specified, the program
will only test the UUT with the specified bus number, device number and function
number.
Example: -bus 2:4:1
This option should NOT be used along with –c option.
-dpmi Use DPMI memory allocation
Use DPMI memory allocation method to allocate memory instead of malloc() or free()
-f <filename> Program eeprom.bin
The program programs the content of the specified file into EEPROM before testing.
-m Program MAC address
If this option is entered, the program will prompt user for a new MAC address to be
enter/scan before testing starts.
-mac <mac address> Program MAC address from command line
If this option is entered, the program will retrieve MAC address right after the –mac option
is entered. The mac address has to be entered in hex and as shown in the following example:
b57diag –mac 001018010203
-fmac <filename> Program MAC address from a file
If this option is entered, the program will retrieve MAC address from the specified file before
starts testing. If the test passes, the MAC address from the specified file will be incremented;
if not, it will stay unchanged. The text file which contains the MAC address range has the
following format and the numbers are in hexadecimal:
mac_addr_pref = xxxxxx => Which is the prefix of the MAC address.
mac_addr_start = xxxxxx => Which is the start of the address range.
mac_addr_end = xxxxxx => Which is the end of the address range.
Example:
mac_addr_pref = 001018
mac_addr_start = 000100
mac_addr_end = 000FFF
Working in conjunction with –f <file> option, this –fmac option is equivalent to option –m.
With this option, the –I, iteration number option, is ignored. The program will run in
manufacturing loop mode. Power on/off is supported. After each test, the program will
prompt user to exchange the UUT before starts another testing.
-s Skip eeprom programming process.
With this option, the program will skip the eeprom programming process. However, it will
check for the eeprom content and print a warning message if the content is not valid.
The -m and -f combination will create the following behavior:
With both -f and -m:
Program will not validate the eeprom content and go ahead to prompt user for the MAC address. It
programs MAC address and EEPROM content and then checks the validity of eeprom content at the end of
programming.
Loading EEPROM content from eeprom.bin: passed
Programming EEPROM from eeprom.bin....: passed
Checking EEPROM content...............: passed
-f only:
Program will check the validity of eeprom. If it is not valid, it will act as a), -f -m option. If it is good, it
saves the MAC address from eeprom, program new eeprom binary file content into EEPROM and then
restores the original MAC address. It checks the validity of eeprom content once more at the end of
Program will check the validity of EEPROM. If it is not valid, it will act as a), -f -m option. If it is good,
the program will prompt the user for a new MAC address and program the MAC address only. It checks the
validity of EEPROM content once more at the end of programming.
Checking EEPROM content...............: passed
Programming MAC address...............: passed
Checking EEPROM content...............: passed
or
Checking EEPROM content...............: invalid
Loading EEPROM content from <file>....: passed
Programming EEPROM from <file>........: passed
Checking EEPROM content...............: passed
d) no -m and -f options
Program will check the validity of EEPROM. If it is not valid, it will act as a), -f -m option. If it is good, it
proceeds to normal diagnostics.
Checking EEPROM content...............: passed
or
Checking EEPROM content...............: invalid
Loading EEPROM content from eeprom.bin: passed
Programming EEPROM from eeprom.bin....: passed
Checking EEPROM content...............: passed
-pasf <filename> Program ASF firmware
This option needs to follow the –e and –c options. User has an option to program the ASF
firmware from a single bin file that combined all 3 pieces of ASF bin files or from a
specified text file that contain the file names of all 3 pieces of ASF bin files.
The program will detect input file type. If it is a single bin file, software will start
programming. If the input file is a text file that contains the file name of the 3 pieces of ASF
bin files, the program will retrieve the ASF firmware filenames from the specified text file
then it will start programming. A sample asf.txt is provided and it has the following
format:asf_eep_init = asfeinit.bin
This option needs to follow the –e and –c options. If this option is entered, the program will
retrieve the PXE firmware filename from the command line then it will start programming.
Example:
b57diag –e <code> -c 0 –ppxe b57pxe.bin
-mba <value> Enable/Disable Multiple Boot Agent
A value of 1 will enable Multiple Boot Agent and a 0 will disable.
Act like engineering mode "eswitch -f" command. Disable the E-Switch on the device that
support eswitch, such as 5756. Without this option, PHY loopback test, external loopback
test (pkttest -e), and carrier test are performed on both laptop mode and docking mode. With
this option, above tests are performed on the default port.
When vendor id and/or device id have been modified and B57diag can longer find the device, the
following steps can be followed to recover the missing device.
1. Use a PCI scan tool to scan all PCI devices in the system. Find out the vendor id and device
id of the missing device.
2. Run B57diag with –seldev option switch to detect the missing device.
e.g. a:\b57diag –b57eng –seldev 14e411677.
3. In B57diag engineering mode, clear the Magic value in the NVRAM.
e.g. 0:>sewrite 0 0
4. Reprogram the Bootcode firmware with “seprg” command.
A set of commands is defined to allow user to change EEPROM.BIN content. To update
EEPROM.BIN, user must enter –e <code> -geneep options at the command prompt. A password
must be entered to run this option. The 5704, Dual MAC, device uses one single eeprom.bin on both
MAC channel configurations. Most of the configurations are shared expect the following commands:
PXE
PXE_SPEED
WOL
ASF
The WOL and ASF setting cannot be enabled on both channel at the same time. For example, if the
primary WOL is already enabled, and the user try to enable secondary device’s WOL, the primary’s
WOL setting will be disabled with the following message:
** Warning, primary device WOL is disabled
By default, all commands configure the primary channel until the command MAC is used to select
other channel.
Syntax:
<Command> = <Argument>
xx 8-bit hex number
xxxx 16-bit hex number
xxxxxxxx 32-bit hex number
d decimal number ranges from 0 to 255
string(n) string of maximum size n.
cc 2 bytes character
n1..n2 a number ranges from n1 to n2.
* If “d0” is 0, system default values will be selected. If “d0” is 1, suggested values will be used. If
“d0” is 2, user defined values will be used. “d1” = Power Dissipated value in D0 state. “d2” =
Power Dissipated value in D3 state. “d3” = Power Consumed value in D0 state. “d4” = Power
Consumed value in D3 state. Power Dissipated suggested value in D0 state is 100. Power
Dissipated suggested value in D3 state is 10. Power Consumed suggested value in D0 state is
100. Power Consumed suggested value in D3 state is 10.
** If “x0” is 0, system default value will be selected. If “x0” is 1, suggested default values will be
used. If “x0” is 2, user defined values will be used. “x1” = Power Budgeting Data 0 | Power
Budgeting Data 1. “x2” = Power Budgeting Data 2 | Power Budgeting Data 3. “x3” = Power
Budgeting Data 4 | Power Budgeting Data 5. “x4” = Power Budgeting Data 6 | Power Budgeting
Data 7.
*** User defined values will be used.
Suggested Product Name is “Broadcom NetXtreme Gigabit Ethernet Controller”
**** If “VPDR_SYSTEM_DEFAULT = 1” has been entered, System default value for all VPD-R
data will be selected.
*****User defined values will be used.
Suggested Part Number is “BCM957xx”
Suggested Engineering Change Number is “106679-15”
Suggested Serial Number is “0123456789”
Suggested Manufacturing ID is “14e4”
Suggested Vendor Specific Data is “”
Option f has been combined with option e in secfg for Selfboot Firmware.
0:>secfg
1. MAC Address ……......................................: 001018000000
2. Device Id ……………………………...........: 1693
3. Sub Vendor Id …….....................................: 14E4
4. Sub Device Id …………………………......: 1693
5. Wake on LAN …….....................................: Disabled
6. WoL Speed Limit 10 .…………………….: Disabled
8. LED mode …………………………….…..: Disabled
9. VPD Prod. Name and VPD-R Data ..........: Disabled
; This is comment line
// This also can be used as comment line
// Blank line is also allowed
// This is Broadcom’s MAC prefix
MAC_PREFIX = 00:10:18
POWER_DISSIPATCHED = 10:0:0:100
POWER_CONSUMED = 10:0:0:100
SUBSYSTEM_VENDOR_ID = 14e4
SUBSYSTEM_DEVICE_ID = 1644
pxe = disable
PXE_Speed = 100fd
WOL = enable
Product_name = Broadcom Gigabit Ethernet Controller
PART_NUMBER = BCM95700A6
ENGINEERING_CHANGE = 106679-15
MANUFACTURING_ID = 14e4
Asset_Tag = XYZ1234567
DUAL_MAC_MODE = normal
MBA_BOOT_PROTOCAL = pxe
MBA_BOOTSTRAP_TYPE = bbs
MBA_DELAY_TIME = 6
EXPANSION_ROM_SIZE = 128K
DESIGN_TYPE = nic
; select other channel
MAC = 1
PXE = enable
Example 2:
; A. Super-airplane Mode (enable/disable)
super_airplane_mode = disable
; C. NIC Design (nic/lom)
nic_design = lom
; D. L1 PLL Disable (yes/no)
l1_pll_disable = no
; E. Clkreq (enable/disable)
ClkReq = disable
; F. PCIE Link Polarity Fix Dis (yes/no)
pcie_link_polarity_fix_dis = no
; G. L1ASPM Debounce En (yes/no)
L1ASPM_Debounce_En = no
; MBA 1. VLAN Enable (yes/no)
vlan_enable = yes
; MBA 2. VLAN ID (0..4095)
vlan_ID = 4095
; MBA 8. LINK SPEED (auto/10hd/10fd/100hd/100fd)
link_speed = 10fd
The commands are summarized in the following groups: vpd, nvram, cpu, dma, packet, mii, mem,
test, power, irq, mac, misc, bridge and uart.
Note: For UEFI version, not all tests are supported. Refer to online help for more information.
Command Group 'vpd'
vpdwrite Write VPD Memory
vpdread Read VPD Memory
vpdinfo Show VPD Information
vpdsecfg Config VPd field.
vpdgen Generate vpd file.
Command Group 'nvram'
semode Same as flshmode command
seread Read NVRAM
sewrite Write NVRAM
secfg Configure NVRAM
seprg Program NVRAM
uprg Program userblock
upgfrm Upgrade PXE or Boot Code from a File
sever Display Serial NVRAM Version
sechksum Check/Update Serial NVRAM checksum
sedump Dump NVRAM content to a file
flshmode Configure NVRAM mode
flshread Same as seread
chkpxe Check PXE code image
dir Display file directory in NVRAM
iscsiprg Program iSCSI from a File
erase Erase file from directory in NVRAM
pxeprg Upgrade PXE from a File
flshdev Select flash device to access
bitbang Generate BitBang pattern to SEEPROM bus
seclock Set NVRAM config1 content value after reset
setorture NVRAM reset torture test
seinit Initialize NVRAM block
searb Set/Report current NVRAM arbitration bit
seprotect Set GPIO pin for NVRAM write protect
selclock Set Legacy EEPROM clock value (bit 16-24 of EEPROM
addr reg)
semap Display NVRAM usage
setwol Enable/Disable WOL
setpxe Enable/Disable PXE
secomp Compare EEPROM content against the file
dreset Double reset test for EEPROM debug
userblock Create a userblock in NVRAM
setmba Enable Multiple Boot Agent
segencrc Append a CRC to the specified block
secfghwsb1 Configure HW SelfBoot NVRAM
secfghwsb2 Configure HW SelfBoot NVRAM Group 2
secfghwsb3 Configure HW SelfBoot NVRAM Group 3
secfgsb1 Configure SelfBoot NVRAM
secfgsb2 Configure SelfBoot NVRAM Group 2
secfgsb3 Configure SelfBoot NVRAM Group 3
secfg1 Configure NVRAM Group 1
secfg2 Configure NVRAM Group 2
secfg3 Configure NVRAM Group 3
secfg4 Configure NVRAM Group 4
secfg5 Configure NVRAM Group 5
dirw Write a directory entry to NVRAM
tpm Write a directory entry for the TPM Block
umpcfg Configure UMP in NVRAM
setipmi Enable/Disable IPMI Passthrough Firmware
setump Enable/Disable UMP
seotp Configure OTP
otpchk Check patch in OTP
defragment Defragment NVRAM
Command Group 'cpu'
loadfw Load Firmware to Tx/Rx CPUs
cpudtt Dump Debugging Trace of TX CPU
cpudrt Dump Debugging Trace of RX CPU
cputrace Toggles CPU trace mode
haltcpu Halt CPU
loadbootcode Execute bootcode from file instead of NVRAM
disasm Disassemble MIP instructions
step Step MIP instructions
go Start CPU
showgpr Toggles showing CPU GPR mode
pc Set current CPU program counter
breakpoint Set current CPU break point
select Select current CPU
u Alias of disasm command
trap Trap CPU memory
cpuinfo Display CPU information
cpualive Probe CPU if it is alive
cpumemstatus Display internal CPU Memory test status
cpumemstart Start internal CPU Memory test
cpumemstop Stop internal CPU Memory test
cpumemset Set internal CPU Memory test location
cpursttest CPU Reset Test
cpufetch CPU instruction fetch logic test
romcodetest ROM Code Test
Command Group 'dma'
dmaw DMA from NIC to Host Memory
dmar DMA from Host to NIC Memory
dma_h Dump DMA Entries
dma_d Dump DMA Entries with Decode
dma_alloc Allocate number of DMAD
Command Group 'packet'
maclpk Configure MAC loopback
blast Blast Packets in Poll Mode
nicstats Display NIC Statistics
ringindex Dump Ring Index
phyctrl Force Speeds/Duplex
txpkt Transmit Packet
statusblk Dump Status Block
stsblk Dump Statistics Block
txcfg Configure protocol packets for transmission
txsrcip Configure source IP address for transmission
txdstip Configure destination IP address for transmission
txsrcport Configure source port address for transmission
txdstport Configure destination port address for transmission
txtype Configure packet type for transmission
txprot Configure packet protocol field for transmission
txipprot Configure packet IP protocol for transmission
rxcfg Configure Rx parameters
tprot Blast with TPROT Packets
qstat Get a quick NIC statistic
drvrcfg Configure driver parameters
irt Test an individual register
macmrd Test an individual register
miimrd Test an individual register
miiloop Test an MII/MII EXP/ MII TAP register
pcimrd Test an individual register
inband Force inband
Command Group 'mii'
mwrite Write PHY registers via MII Management interface
mread Read PHY registers via MII Management interface
msread1c Read PHY Shadow registers 0x1C via MII Management
interface
msread18 Read PHY Shadow registers 0x18 via MII Management
interface
readexp Read PHY Expansion Registers via MII Management interface
sdwrite Write SERDES registers via MII Management interface
sdread Read SERDES registers via MII Management interface
mdev Select current PHY to be accessed
miimode Select Auto Mode of MII Access
lbertram Load data to PHY BIST RAM
dbertram Dump PHY BIST RAM
bertstats Dump PHY BIST Statistics
rm Read MII Registers
mrloop Loop on MII read
phymse PHY mean square error
initphy Initialize PHY
tapdump Read PHY internal TAP values
m2dev Select current PHY to be accessed
Command Group 'mem'
memsearch Search for a data pattern in memory
read Read Memory
write Write Memory
poll Poll Memory
setbit Read-Modify Memory by ORing with <bits>
clearbit Read-Modify Memory by ANDing with ~<bits>
readbit Read-Modify Memory by ored with <bits>
cread Read PCI configuration space of specified device
cwrite Write PCI configuration space of specified device
pcird Read PCI Configuration Word
pciwr Write PCI Configuration dWord
Command Group 'test'
vpdtest Run VPD Memory Test
regtest Run Register Test
miitest Run MII Memory Test
msi Run MSI Test Manually
memtest Run Memory Test
setest Run NVRAM Test
bist Run BIST
nictest Run a set of NIC Tests
intrtest Run Interrupt Test
pkttest Run Packet Tests
cputest Run CPU Test
dmatest Run DMA Test
teste Enable Test
testd Disable Test
asftest ASF Test
bustest PCI Bus Test
sramtest SRAM test
msitest Run MSI Test
romtest ROM Test
gpiotest Do GPIO test
cpudiag Run diagnostic from internal CPU
pcicfgtest Run PCI Config. Reg. Test
petest Perform parity error test on a bridge
errctrl Configure Error Control Setting
sedvt Perform NVRAM dvt test
miimisctest Run MII Misc. Tests
cpugprtest Run CPU GPR test
carriertest Run False Carrier Test
wseq Run Sequential Write Test
umplb UMP Loopback Test
dmashasta Run DMA Test On Shasta Family Of Devices
apetest Run APE Self Tests
Command Group 'power'
pmdcfg Dump Power Management Info
pmpcfg Add/Del Pattern
pmpd Power Down MAC
Command Group 'irq'
intr Dump Interrupt Info
intrctrl Mask/Unmask Current Interrupt
intt Interrupt Tracer
Command Group 'mac'
mbuf Dump Content of MBUFs
loaddrv Load Driver
unloaddrv Unload Driver
machalt Halt MAC Controller
ftq Dump FTQ
addmc Add Multicast MAC
delmc Delete Multicast MAC
txmacdes Program Destination address to UUT
txmacsrc Program Source address to UUT
chklddrv Check to see if driver is loaded
vlantag Display/Clear vlan tag information
Command Group 'misc'
regwzd Register wizard
exit Exit the System
debug Debug functions
gpiowrite Write a Value into GPIO pin
gpioread Read GPIO Value
pxecpy Load PXE Code to MBUF Memory
device Show or Switch Device
version Display Program Version
help Display the Commands Available
? Alternate Help Command
radix Change System Radix
apeaccmode Select between BAR1 Mode and Indirect Access Mode
nolog Close the Current Logfile
log Open Logfile
pciinit Initialize PCI Configuration Registers
pciscan Scan for All PCI Devices
dos Execute DOS command
diagcfg Configure Diagnostics
reset Reset Chip
sadbtest SADB test for IPSec supported devices
sadbutil Utilities for SADB table, only valid for IPSec supported
devices
quit Exit the System
cls Clear Screen
loop Loop on a command
dbmode Set DEBUG Mode to On or Off Mode
new Display new commands available
sleep Suspend command execution
fillpattern Fill WOL matching pattern into Misc. Memory Location
inp Input port
outp Output port
do Execute commands from a file
txfill Fill tx buffer with pattern and packet length (14-9018)
wbuf Write tx|rx buffer with specified data at offset
rbuf Read tx|rx|bistin|bistout|bistex buffer
cpbuf Copy the content of rx buffer into tx buffer
echo Echo <string> to the screen
pause Pause for user to hit a key
q Exit the System, alias name for quit
verbose Change verbose settings
beep Create a beep sound
var Display current variables
meminfo Report memory information
delvar Delete local variables
regdump Dump register content to a file
regcomp Compare register content to a file
regrestore Restore register content from a file
showcurrcard Dump Current Card Info
showglobal Dump Global Info
nvsize Programs the NVRAM and TPM size in Kbyte to NVRAM
aspm Configure PCI-E Link power state operation
ledcfg Configure the LED Mode (Shasta Specific)
ledblink Blinks the LED
nmbuf Select No. of Mbuf
umpecho UMP Echo Test
dids Display detail device information for all devices
serial Compares the serial no. to defaults or the provided values
power Verify the operation of the power capability (575x Cx
specific)
binchksum Run Checksum test on input firmware file
eswitchtest Run E-Switch Timer Test
eswitch Switch E-Switch between Docking and Laptop
sbfcfg Self-boot file config.
linkintrtest Link Changed Interrupt Test
ipv6extld Load IPv6 Extension Header File
ipv6exten Enable IPv6 Extension Headers (1=En, 0=Dis)
cfgpagesize Configure Flash page size to 256B or 512B
cpmu CPMU tests
mdio MDIO tests
wait delay a bit
ipsecsupport To check if the device support IPSec.
Command Group 'man'
asfcfg Configure Management Firmware in NVRAM (AKA mancfg)
mancfg Configure Management Firmware in NVRAM or configuration
file
asfprg Program ASF firmware into NVRAM (3 bin files)
smbusrun Operate SMBUS in Auto or BitBang mode
smbusmode Set SMBUS in Auto or BitBang mode
setasf Enable/Disable ASF Firmware (AKA setman)
setman Enable/Disable Management Firmware
asfmbox Create or Read ASF Mailboxes
asfeng Enable/Disable ASF engineering mode
apeinfo Display APE-related information
apectl Control APE
apeping send APE event to ping host from APE
aperead Read APE local view data thru APE
apeotpkey Print APE OTP key value
apelog Create, view, and manage NVRAM-based APE Logs
Command Group 'bridge'
readbr Read bridge's configuration space
writebr Write to bridge's configuration space
findbridge Find all PCI bridges in the system
bridge Switch to specified bridge
pere Enable parity error response on a bridge
perd Disable parity error response on a bridge
peclr Clear parity error on bridge
pechk Clear parity error on a bridge
During a send/respond test two Broadcom Ethernet devices in the same system are connected
via a CAT5 (RJ45) cable and data is transmitted and received across the cable. In the above
setup one device is the device under test (DUT) and the other is the reference device. Any
Broadcom device that is supported by diagnostics can be used as the DUT or the reference
device.
9.1 Identifying a reference device
A reference device needs to be identified in order to test a DUT against the reference device.
The user can use the “b57diag –dids” command to display all the devices in the system. Each
device is assigned a number that is displayed on the screen in the first column just before the
device type. A user selects the number of the device that is to be used as the reference and
uses this number to test the DUT as described in the next section.
9.2 Testing the DUT against the reference device
After identifying the reference device, as described in the previous section, the user can test
the DUT by running “b57diag –rf 0 –c 1 –t abcd –T d3”. Each of the previous options are
described in the table below (details of each option are provided in the “Command line option
parameters” section above).
-rf 0 Identifies the reference device as device 0.
-c 1 Identifies the DUT as device 1.
–t abcd Disables all tests (Disable all tests in group a, b, c, and d).
–T d3 Perform the external loopback test that will transmit data from the DUT to the
reference device, via the CAT5 cable, then the reference device will receive the
data and transmit it back, via the CAT5 cable, to the DUT which will verify the
received data.
9.3 Other Options for the Send/Respond test
The following options can be used with the send/respond test (details of each option are
provided in the “Command line option parameters” section above).
-lbspd t/h/g Selects any combination of line speed to run the loopback test (by default
runs all line speeds).
–lbe g:h:t Selects the number of packets to send during the loopback test (g, h & t
are the 1000/100/10 megabit packet counts respectively) (default values
are g=2000, h=1000, t=600). It is mandatory that all packets counts are
entered with this command line switch.
Description: This command implements both an interactive and a scripted mode of operation
that allow a user to view/modify the NetXtreme I controller configuration. When invoked
without any options, the user is presented with a listing of the current NVRAM configuration
and is given the opportunity to change the configuration and save the results. When invoked
with options, only that NVRAM configuration setting is modified. When invoked with the –v
option, settings of Bootstrap and Directory will be shown as below. These settings are just
for reference
Enter your choice (option=paramter/save/cancel) ->
To enter the ‘secfg’ menu shown above, a user can type in ‘secfg’ at the diagnostics
command line. A menu is present to the user showing the ‘secfg’ options shown above.
A user can change the ‘secfg’ parameter by entering the option number, followed by and
equal sign, and then followed by the parameter selected. To enable ASF (option 24) a user
would enter “24=1” at the diagnostics ‘secfg’ command line, which would look like the
following:
“Enter your choice (option=paramter/save/cancel) -> 24=1”.
A user can enter “save” to save the results or “cancel” to cancel and exit.
2. Modify NVRAM configurations at the command line.
A user can modify a specific configuration at the command line by entering the following
command:
0:> secfg 24=1
Multiple of configurations can be modified at the same time as below:
3. Check/Query NVRAM configurations at the command line.
A user can query NVRAM options by using this command. To query MAC address a user
can type in the following command where the command puts is a TCL standard command.
0:> puts [secfg 1=]
Description of above parameters:
The tables below provide details for each parameter of the ‘secfg’ options. The top right of
each table has the word “Configure” or “Reference”. “Configure” signifies that the
option is used to configure the operating characteristics of the device or default values of
registers in the device. “Reference” signifies that the option is use for display purposes and
does not affect the operating characteristics of the device or default values of registers in the
device.
1
Description:
MAC Address
MAC address of the device.
2
Description:
Power Dissipated (D3:D2:D1:D0)
Power dissipated in D3-0 states.
3
Description:
Power Consumed (D3:D2:D1:D0)
Power consumed in D0-2 states.
4
Description:
Vendor ID
PCI Vendor ID. Default 0x14e4.
5
Description:
Device ID
PCI Device ID.
6
Description:
Subsystem Vendor ID
PCI Subsystem PCI Vendor ID.
7
Description:
Subsystem Device ID
PCI Subsystem PCI Device ID.
8
Description:
PXE
Enable the Pre-Boot Execution Environment (PXE) by using this option. This option does
not apply to PXE in system ROM. Options 8,9, 26 - 29 and 39-40 configure the boot
protocol behavior.
Enable(1) When PXE is enable the expansion ROM enable bit in the PCI
configuration space is set for system boot up. The user has to make
sure the PXE code is loaded into the non-volatile memory by using the
“loadpxe” command.
Disable(2) When PXE is disable the expansion ROM enable bit in the PCI
configuration space is cleared for system boot up. The PXE code does
NOT have to been load into the non-volatile memory of the device.
9
Description:
PXE Link Speed
Configure
Pre-Boot Execution Environment line configuration is specified using the parameters
below. Options 8,9, 26 - 29 and 39-40 configure the boot protocol behavior.
Auto(0)
10HD(1)
10FD(2)
PXE auto detects the link configuration.
PXE uses a 10 Mbits/s, half duplex line configuration.
PXE uses a 10 Mbits/s, full duplex line configuration.
100HD(3) PXE uses a 100 Mbits/s, half duplex line configuration.
100FD(4)
10
Description:
Magic Packet WoL
PXE uses a 100 Mbits/s, full duplex line configuration.
Configure
A system can be configured to power-on when a Magic Packet is received.
Enable(1) The device will assert the pme signal, to power on the system, when a
magic packet is received.
Disable(2) Magic packets are ignored.
Note:
A driver can setup the WoL behavior of a device and the value programmed into this
location is ignored.
11
Description:
Product Name
Reference
VPD Product description string.
12
Description:
Part Number
Reference
VPD part number..
13
Description:
Engineering Change
Reference
VPD engineering change.
14
Description:
Serial Number
Reference
VPD serial number.
15
Description:
Manufacturing ID
Reference
VPD manufacturing ID.
16
Description:
Asset Tag
Reference
VPD asset tag.
17
Description:
Part Revision
Reference
VPD part revision.
18
Description:
Voltage (5701 only)
Configure
Controls the voltage source level for the 5701 controller.
PCI bus operational mode configuration.
Enable(1) When enabled the device uses PCI mode, instead of PCI-X,
independent of the capabilities of the slot the device is plugged into.
Disable(2) When disabled the device uses the PCI mode of the slot the device is
plugged into; if the device is capable of operating in the required mode.
20
Description:
PHY Type {option no longer supported}
Configure
PHY line type configuration.
Copper(1)
Fiber(2)
21
Description:
A device can be configured to use one LED to indicate speed and activity or three LEDs.
Use a devices data sheet to verify the LED modes supported by a devices and for
exceptions to the LED modes described below.
Mac Mode (0) The LEDs are controlled by the value in the Mac LED Control Register.
Phy Mode1 (1) Three LEDs are used for 10/100/1000 Mbits/s and each is driven
Phy Mode2 (2) One LED is used for 10/100/1000 Mbits/s and is connected as described
SharedTraffic
Led Mode
(3)
Shasta Mac
Mode (4)
Wireless
Combo (5)
22
Description:
PHY ID
The communication medium is copper.
The communication medium is fiber.
Configure
individually by the device.
below.
5700/01 – The Link10 line will indicate link for all speeds. Link100 and
Link1000 will encode the line speed as show in the following table:
Link 100 Link 1000 Speed
0 0 10 Mbits/s
1 0 100 Mbits/s
0 1 1000 Mbits/s
For all other 57xx devices the three link lines operate in an open drain
configuration and can be tied together with a pull up resistor to control a
LED.
Mode specific to the 575x and 572x chips. The link LED performs a dual
role: solid when there is a link and blinks when there is activity.
Mode specific to the 575x and 572x chips. The link LED blinks only
when traffic is for Shasta.
Mode specific to the 575x and 572x chips. When link is lost the LEDs
are driven by inputs pins that are connected to the LED signals of a
wireless link.
Reference
Only for display purposes not used in software.
[PHY#2][PHY#3]
23
Description:
Max PCI Retry
Configure
The maximum number of time to retry an aborted PCI operation.
0-7
The number of MAX PCI retries is force by the users configuration.
8=auto The MAX PCI retry field is selected dynamically by firmware based on
Advanced firmware feature such as Alert Standard Format (ASF) or IPMI is enabled by
this option.
Enable(1) If the ASF/IPMI/UMP code is loaded in NVRAM it is loaded and
executed by the device.
Disable(2)
25
Description:
Dual MAC mode
No ASF/IPMI/UMP functionality is provided when disable.
Configure
This option is only valid for a dual port device such as a 5704. The physical ports will be
named MAC_A and MAC_B for the discussion below.
Normal(0) MAC_A and MAC_B are available and are supported as PCI function 0
& 1.
MAC_B only(1) MAC_B is available and is supported as PCI function 0. MAC_A is
disable.
MAC_A only(2) MAC_A is available and is supported as PCI function 0. MAC_B is
disable.
XBAR mode(3) MAC_A and MAC_B are available and are supported as PCI function 0.
MAC_A is the primary device and MAC_B is mapped in the space of
MAC_A. To the OS and BOIS this looks like one port. The driver will
trunk the two ports together as one logical port which allows for load
balancing, failover/recovers, turbo-teaming, etc.
swap(4) Physical port MAC_A and MAC_B are available and are supported as
PCI function 1 and 0 respectively.
swapXBAR(7) MAC_A and MAC_B are available and are supported as PCI function 0.
MAC_B is the primary device and MAC_A mapped in the space of
MAC_B. To the OS and BOIS this looks like one port. The driver will
trunk the two ports together as one logical port which allows for load
balancing, failover/recovers, turbo-teaming, etc.
26
Description:
MBA Boot Protocol
Configure
Select a Multiple Boot Agent. Options 8,9, 26 - 29 and 39-40 configure the boot protocol
behavior.
PXE(0)
RPL(1)
PreBoot Execution Environment (PXE) is the boot protocol.
Remote Program Load (RPL) is the boot protocol.
BOOTP(2) Boot Protocol (BOOTP) is the boot protocol.
ISCSI(3) ISCSI is the boot protocol.
27
Description:
MBA Bootstrap Type
Configure
The BIOS bootstrap methods listed below are supported. Options 8,9, 26 - 29 and 39-40
configure the boot protocol behavior.
Auto(0)
Automatically configured use one of the methods below.
BBS(1) A BIOS that supports the BIOS Boot Specification (BBS) can initiate the
bootstrap method via the expansion ROM Bootstrap Entry Vector.
Int18(2)
Int19(3)
28
Description:
MBA Delay Time
An INT18 is used to initiate the bootstrap method.
An INT19 is used to initiate the bootstrap method.
Configure
The amount of time the MBA boot message is displayed, in order to give a user the option
to enter the BOOT parameter configuration screen.
0-15
29
Expansion ROM size
The number of seconds the MBA banner is displayed.
This value determines the size of the expansion ROM. This option does not apply to PXE
in system ROM. Options 8,9, 26 - 29 and 39-40 configure the boot protocol behavior.
64k(0)
128k(1)
256k(2)
512k(3)
1M(4)
2M(5)
4M(6)
Advertises 64k expansion ROM size.
Advertises 128k expansion ROM size.
Advertises 256k expansion ROM size.
Advertises 512k expansion ROM size.
Advertises 1M expansion ROM size.
Advertises 2M expansion ROM size.
Advertises 4M expansion ROM size.
8M(7) Advertises 8M expansion ROM size.
16M(8)
30
Description:
Design Type
Advertises 16M expansion ROM size.
Configure
Select NIC or LOM based Ethernet controller.
NIC(0)
Option selected for a plug in network interface card.
LOM(1) Option selected for a LAN on motherboard.
Note:
The firmware and the drivers use this to determine the operational characteristics of a
device. For example, on a LOM GPIO2 is tied to the SEEPROM write protect pin and on a
NIC GPIO 1 and 2 is used to switch between main and auxiliary power for wake on LAN
functionality.
31
Description:
Read only VPD Vendor Specific Data (V0)
Reference
VPD V0 value. Data field provided for the customer.
32
Description:
Read/Write VPD Vendor Specific Data (V1)
Reference
VPD V1 value. Data field provided for the customer.
33 Reversed Nway Configure
Description:
Nway Negotiation.
0
(default) Auto-negotiation is done from 1000->100->10 Mbits/s.
1 Auto-negotiation is done from 10->100->1000 Mbits/s.
Note:
A user could set the chip for option 1 when running a laptop on battery power. The chip
would auto-negotiate starting at a lower speed and lower power. The chip would only go to
higher line rates and higher power if the lower line rates were unavailable.
34
Description:
Limit WoL Speed to 10
Configure
Limit Wake on LAN (WoL) line speed.
No(0)
Yes(1)
35
Description:
Fiber WoL Capable
10 or100 Mbits/s is used for WoL.
Only 10 Mbits/s is used for WoL.
Configure
Fiber Wake on LAN (WoL) Capable enable.
No(0)
Yes(1)
Enable Clock-Run on mini-PCI/cardbus systems. This parameter is valid only for the 5705
A0-A2.
Enable(1) Sets the clock mode register bit 22 which will assert (active low) the
clock run signal on the bus prior to any PCI configuration space activity.
Disable(0)
37
Description:
Enable PHY Auto Powerdown
The above is not performed.
Configure
Enable GPHY auto-power down when there is no link present (to conserver power).
No(0)
Yes(1)
38
Description:
Disable Power Saving capability
The PHY will not auto power down.
The PHY will auto power down when there is no link.
Configure
Disable Power Saving capability setup by option 33 above. When disable a device will
use Nway negotiation.
No(0)
Yes(1)
39
Description:
Hide MBA Setup Prompt
Power-saving capability active.
Power-saving capability inactive.
Configure
During the MBA boot, the MBA setup prompt is displayed to provide the user the option to
setup and configure various MBA parameters. Options 8,9, 26 - 29 and 39-40 configure
the boot protocol behavior.
Disable (0) Hide the MBA Setup Prompt. The user is NOT give the option to change
the MBA boot parameters.
Enable (1) Show the MBA Setup Prompt. The user is given the option to change
the MBA boot parameters.
40
Description:
MBA Setup Hot Key
Configure
Hot Key used to enter the MBA Setup. Options 8,9, 26 - 29 and 39-40 configure the boot
protocol behavior.
Ctrl-S (0)
Ctrl-B (1)
41
Description:
Capacitive Coupling
MBA Setup entered via ctrl-s.
MBA Setup entered via ctrl-b.
Configure
Enable/Disable the PHY to operate with capacitors as line isolators for the 5705 family.
Disable (0)
Enable (1)
42
Description:
SERDES TX Drvr Pre-Emp – Primary (5704 only)
Disable capacitive coupling.
Enable capacitive coupling.
Configure
The TX driver pre-emphasis value that is used for the primary device of a 5704 if it is
enabled by option 44 below.
43
Description:
SERDES TX Drvr Pre-Emp – Secondary (5704 only)
Configure
The TX driver pre-emphasis value that is used for the secondary device of a 5704 if it is
enabled by option 44 below.
44
Description:
SERDES TX Drvr Pre-Emp – ENABLE (5704 only)
Configure
Enable/Disable the setup of the TX driver pre-emphasis defined in options 42 and 43
above.
Encoded Hot plug power values 1 & 2 for a NIC device that is used only if enabled in
option 50 below. The following description applies to options 46-49.
This option is only valid for 5787 and 575xCx devices. The power values need to be setup
by the OEM / manufacture based on actual measurements. Default values, contained in
the bootcode / firmware, are loosely based on the in house Broadcom NIC card.
15-0 Power Budget data 1
7-0 Base Power in .1 Watt
For example, 1.4 Watt should have value 14.
9-8 PM State
00 D0
01 D1
10 D2
11 D3
12-10 Type
000 PME Aux
001 Auxiliary
010 Idle
011 Sustained
111 Maximum
13-15 Power Rail
000 12V
001 3.3V
010 1.8V
111 Thermal
31-16 Power Budget data 2
See Power Budget Data 1 for detail, Bit number add 16.
47
Description:
Encoded Hot Plug Power 3 & 4 For NIC
Encoded Hot plug power values 3 & 4 for a NIC device that is used only if enabled in
option 50 below. Look at option 46 for details.
48
Description:
Encoded Hot Plug Power 5 & 6 For NIC
Encoded Hot plug power values 5 & 6 for a NIC device that is used only if enabled in
option 50 below. Look at option 46 for details.
Encoded Hot plug power values 7 & 8 for a NIC device that is used only if enabled in
option 50 below. Look at option 46 for details.
50
Description:
Hot Plug Power
Configure
Enable/Disable the hot plug power values defined in options 46-49.
Unsupport (0)
Not support the hot plug power feature.
Disable (1-2) Disable the hot plug power feature.
Enable (3-7) Enable the hot plug power feature.
51
Description:
Pri. Port SMB Address (ASF/IPMI)
Configure
SMB address of the primary port on a device.
52
Description:
Sec. Port SMB Address (IPMI)
Configure
SMB address of the secondary port on a device (only valid for dual port devices).
53
Low Power Energy Detect
Configure
Cable Sense (for few older chips)
Description:
Enables a low power mode (IDDQ) of the chip which allows the presence of a cable to be
detected by the chip (valid for 5752M/5755M/5787M/5787FM devices). Once this feature
is enabled GPIO3 will be an Energy Detect Output Pin and will be high if a cable (with a
signal present) is plugged into the RJ45 and low otherwise.
Disable (0)
Enable (1)
d. Custom PCIE power...: Yes (3.3v, Sustained, D0, 1.2 Watt...)
e. Custom VPD-R Data...: Yes
g. Cable Sense/Low Power Energy Detect .....: Disabled
h. MBA CFG Data
i. User Defined Data…...: No
j. Link Aware Mode……: Enabled
k. Link Speed Power……: Enabled
x. Save & exit
----------------------------------------------- LED Mode (option b)-----------------------------------------_
-> b
Selfboot LED Mode selection
0. Mac Mode
1. Phy1 Mode
2. Phy2 Mode
3. Shared Traffic/Lik LED Mode
4. Shasta MAC mode
5. Wireless Combo Mode
----------------------------------------------- Custom PCI power (option c)----------------------------------------
-> c
Selfboot PCI Power Consumption/Dissipate value
1. Use system default
2. Costom define
-> 2
D0 State Power Comsumed decimal value (0-255) (100)->100
D3 State Power Comsumed decimal value (0-255) (10)->10
D0 State Power Dissipated decimal value (0-255) (100)->100
D3 State Power Dissipated decimal value (0-255) (10)->10
-------------------------------------------- Custom PCIE power (option d)----------------------------------------
To enter the ‘secfg’ menu shown above a user type in ‘secfg’ for selfboot firmware at the
diagnostics command line. A menu is present to the user showing the ‘secfg’ options shown
above. A user can change the ‘secfg’ parameter by entering the option number.
The tables below provide details for each parameter of the ‘secfg’ options for selfboot
firmware. The top right of each table has the word “Configure” or “Reference”.
“Configure” signifies that the option is used to configure the operating characteristics of the
device or default values of registers in the device. “Reference” signifies that the option is
use for display purposes and does not affect the operating characteristics of the device or
default values of registers in the device.
A system can be configured to power-on when a Magic Packet is received.
Enable(1) The device will assert the pme signal, to power on the system, when a
magic packet is received.
Disable(2) Magic packets are ignored.
Note:
A driver can setup the WoL behavior of a device and the value programmed into this
location is ignored.
6
Description:
Limit WoL Speed to 10
Configure
Limit Wake on LAN (WoL) line speed.
No(0)
Yes(1)
7
Description:
Design Type
10 or100 Mbits/s is used for WoL.
Only 10 Mbits/s is used for WoL.
Configure
Select NIC or LOM based Ethernet controller.
NIC(0)
Option selected for a plug in network interface card.
LOM(1) Option selected for a LAN on motherboard.
Note:
The firmware and the drivers use this to determine the operational characteristics of a
device. For example, on a LOM GPIO2 is tied to the SEEPROM write protect pin and on a
NIC GPIO 1 and 2 is used to switch between main and auxiliary power for wake on LAN
functionality.
8
Description:
Enable PHY Auto Powerdown
Configure
Enable GPHY auto-power down when there is no link present (to conserver power).
No(0)
Yes(1)
9 Reversed Nway Configure
Description:
The PHY will not auto power down.
The PHY will auto power down when there is no link.
Nway Negotiation.
0
(default) Auto-negotiation is done from 1000->100->10 Mbits/s.
1 Auto-negotiation is done from 10->100->1000 Mbits/s.
Note:
A user could set the chip for option 1 when running a laptop on battery power. The chip
would auto-negotiate starting at a lower speed and lower power. The chip would only go to
higher line rates and higher power if the lower line rates were unavailable.
a
Description:
Disable Power Saving capability
Configure
Disable Power Saving capability setup by option 33 above. When disable a device will
use Nway negotiation.
No(0)
Yes(1)
A device can be configured to use one LED to indicate speed and activity or three LEDs.
Use a devices data sheet to verify the LED modes supported by a devices and for
exceptions to the LED modes described below.
Mac Mode (0) The LEDs are controlled by the value in the Mac LED Control Register.
Phy Mode1 (1) Three LEDs are used for 10/100/1000 Mbits/s and each is driven
Phy Mode2 (2) One LED is used for 10/100/1000 Mbits/s and is connected as described
SharedTraffic
(3)
Shasta Mac
Mode (4)
Wireless
Combo (5)
Led Mode
individually by the device.
below.
5700/01 – The Link10 line will indicate link for all speeds. Link100 and
Link1000 will encode the line speed as show in the following table:
Link 100 Link 1000 Speed
0 0 10 Mbits/s
1 0 100 Mbits/s
0 1 1000 Mbits/s
For all other 57xx devices the three link lines operate in an open drain
configuration and can be tied together with a pull up resistor to control a
LED.
Mode specific to the 575x and 572x chips. The link LED performs a dual
role: solid when there is a link and blinks when there is activity.
Mode specific to the 575x and 572x chips. The link LED blinks only
when traffic is for Shasta.
Mode specific to the 575x and 572x chips. When link is lost the LEDs
are driven by inputs pins that are connected to the LED signals of a
Configure
wireless link.
c
Description:
Custom PCI Power
Reference
Self boot PCI Power Consumption/Dissipate for D0 and D3 state.
d
Description:
Custom PCIE Power
Reference
Self boot PCIE Power Budgeting Data
e-1
Description:
Part Number
Reference
VPD part number..
e-2
Description:
Engineering Change
Reference
VPD engineering change.
e-3
Description:
Serial Number
Reference
VPD serial number.
e-4
Description:
Manufacturing ID
Reference
VPD manufacturing ID.
e-5
Description:
Read only VPD Vendor Specific Data (V0)
Reference
VPD V0 value. Data field provided for the customer.
VPD data
Part Number (1) BCM95751
Engineering Change (2)
Serial Number (3)
Manufacturing ID(4)
Read only Vendor Data (5)
Product Name
g
Description:
VPD Data
106679-15
0123456789
14e4
Broadcom NetXtreme Gigabit Ethernet Controller
Cable Sense
Configure
Configure
Enables a low power mode (IDDQ) of the chip which allows the presence of a cable to be
detected by the chip (valid for 5752M/5755M/5787M/5787FM devices). Once Cable Sense
is enabled GPIO3 will be an Energy Detect Output Pin and will be high if a cable (with a
signal present) is plugged into the RJ45 and low otherwise.
Disable (0)
Enable (1)
Disable cable sense.
Enable cable sense.
h
Description:
MBA Configuration
VLan Enable (1) Enabled / Disabled
VLan ID (2)
MBA Hide Banner (3)
MBA Hot Key (4)
MBA Protocol (5)
MBA Config Timeout (6) MBA Config Timeout value
MBA Bootstrap (7) Auto / BBS / INT18 / INT19
MBA Link Speed (8) Auto /10HD / 10FD / 100HD / 100FD
Remove MBA Config (9) 0: No 1:Yes
MBA Configuration
VLan ID
Enabled / Disabled
Ctrl-B / Ctrl-S
PXE / RPL / BOOTP / ISCSI
Configure
Card reader only options:
l
Description:
Enable/Disable SD 3.0
Disable (0)
Enable (1)
SD3.0
Disable
Enable
n
Description:
Configure CR LED pin as SD Bus power or LED Ctrl.
Bus power (0) Bus power
LED (1) LED Ctrl
9. VPD Prod.Name and VPD-R Data: Yes
A. Super-airplane Mode: Enabled
B. MBA Configuration
C. NIC Design………: NIC
D. L1 PLL Disable …... No
E. Clkreq………………: Yes
F. PCIE Link Polarity Fix Disable: Yes (5906 A2 only)
G. L1ASPM Debounce Enable: Disable (5906M only)
To enter the ‘secfg’ menu shown above a user type in ‘secfg’ for hardware selfboot firmware
at the diagnostics command line. A menu is present to the user showing the ‘secfg’ options
shown above. A user can change the ‘secfg’ parameter by entering the option number.
The tables below provide details for each parameter of the ‘secfg’ options for hardware
selfboot firmware. The top right of each table has the word “Configure” or “Reference”.
“Configure” signifies that the option is used to configure the operating characteristics of the
device or default values of registers in the device. “Reference” signifies that the option is
use for display purposes and does not affect the operating characteristics of the device or
default values of registers in the device.
1
Description:
MAC address of the device.
2
Description:
PCI Device ID.
3
Description:
PCI Subsystem PCI Vendor ID.
4
Description:
PCI Subsystem PCI Device ID.
5
Description:
A system can be configured to power-on when a Magic Packet is received.
Enable The device will assert the pme signal, to power on the system, when a
Disable Magic packets are ignored.
Note:
A driver can setup the WoL behavior of a device and the value programmed into this
location is ignored.
6
Description:
Limit Wake on LAN (WoL) line speed.
No
Yes
7
Description:
Select WOL Auto Setting
Disable (0)
MAC Address
Device ID
Subsystem Vendor ID
Subsystem Device ID
WoL
magic packet is received.
Limit WoL Speed to 10
10 or100 Mbits/s is used for WoL.
Only 10 Mbits/s is used for WoL.
A device can be configured to use one LED to indicate speed and activity or three LEDs.
Use a devices data sheet to verify the LED modes supported by a devices and for
exceptions to the LED modes described below.
Mac Mode (0) The LEDs are controlled by the value in the Mac LED Control Register.
Phy Mode1 (1) Dual Link LED configuration. Two LEDs are used to indicate 10/100
Phy Mode2 (2)
SharedTraffic
(3)
9
Description:
VPD Product Name and Read Data.
Part Number (1) VPD Part Number
Engineering Change (2) VPD Engineering Change
Serial Number (3)
Manufacturing ID (4) VPD Manufacturing ID
Read only VPD Data (5) VPD Read only V0 Data
Product Name (6) VPD Product Name
A
Description:
Led Mode
Mbps.
Link/Speed LED configuration. One LED is used to indicate link status
of all 10/100 Mbps.
Shared Traffic/Link LED Mode. The Link LED performs dual role: Solid
Green, when Link up. Blink when there is an activity.
VPD Data
VPD Serial Number
Super Airplane Mode
Configure
Configure
Configure
Super Airplane mode
Disable
Enable
B
Description:
MBA Configuration
VLan Enable (1) Enabled / Disabled
VLan ID (2)
MBA Hide Banner (3)
MBA Hot Key (4)
MBA Protocol (5)
MBA Config Timeout (6) MBA Config Timeout value
MBA Configuration
Disable Super Airplane Mode
Enable Super Airplane Mode
Configure
VLan ID
Enabled / Disabled
Ctrl-B / Ctrl-S
PXE / RPL / BOOTP / ISCSI
MBA Bootstrap (7) Auto / BBS / INT18 / INT19
MBA Link Speed (8) Auto /10HD / 10FD / 100HD / 100FD
C
Description:
Design Type
Configure
Select NIC or LOM based Ethernet controller.
NIC(1)
Option selected for a plug in network interface card.
-p Restore NVRAM Config data between Bootcode and Selfboot
fw *
-r Skip Selfboot Patch Chip Rev check.
-v Program extended VPD.
-e Program an extended directory and block/firmware.
-t<Hex> Extended directory type (i.e 80, 81). (def=00000080).
Example:
1. Program NVRAM with contents of input file seprg.bin
0:> seprg seprg.bin
0:>seprg asffirmware.bin -a
2. Program NVRAM with APE DASH firmware dashfw.rom and pad up to 300kilo bytes.
0:>seprg –a –k300 dashfw.rom
3. Program NVRAM with APE DASH firmware dashfw.rom as APE UPDATE image and
pad up to 300kilo bytes. Padding and backup image is needed to enable out-of-band DASH
firmware update.
0:>seprg –a –b –k300 dashfw.rom
*-p option will restore NVRAM configuration data between Bootcode and selfboot firmware.
The configuration data that will be restored are listed below.
a. Wol_enable
b. Wol_Limit_10
c. Driver_wol_enable
d. Lom_design
e. Phy_auto_power_down
f. Reverse_nway
g. Disable_power_saving
h. Phy_led_mode
i. Shasta_ext_led_mode
j. Cable_sense
page 87
Broadcom Confidential and Proprietary
Page 88
10.11 upgfrm
Command: upgfrm
Description: Upgrade ISCSI, PXE, Boot Code and Selfboot Firmware from a File. This
command reads code from a file and program into iscsi, pxe or boot area. Both parameter,
the programming target '-p', 'b' or '-i' and filename, must be specified. In case of ISCSI
firmware, ISCSI Boot Firmware will be updated by default. ISCSI CFG Block will only be
updated if there is no ISCSI CFG Block present in NVRAM. ISCSI CFG Program will
NOT be programmed by this command. In case of Selfboot Firmware, this command will
support Format 0 to Format 1 and Format1 to Format1 update. Format0 to Format0 and
Format1 to Format0 update are NOT supported by this command. User will need to use
“seprg” command. For legacy bootcode, only VPD data block and Phase 1 and Phase 2
bootcode will be updated by default. If –v is entered, only Phase 1 and Phase 2 bootcode
will be updated. For Selfboot firmware and Hardware Selfboot firmware, only patches will
be updated.
Description: Dump NVRAM content to a file. The value stored at location 0xC in the
NVRAM is the starting address of the code that the chip loads and executes. The code
starting address is 0x200 for NVRAM pages aligned on 256 byte boundaries and 0x2F8 for
the Atmel device that has a NVRAM page size of 264. If “sedump” is used to generate an
image file for a NVRAM/EEPROM burner then “-a” should be used, for an Atmel device, if
one wants to preserve the 0x2F8 code starting address that is automatically translated to
0x200 by software without the “-a” option. More details can be found in application note
570X-AN700-R.
Syntax: sedump -f<string> [Len]
Options:
-n<DEC> Do not auto correct CRC (def=0)
-a<string> no Atmel Flash address translation
-f<string> string is the filename
-l<DEC> length in decimal, use 0 for entire NVRAM image (def=8192)
-s skip crc checking for legacy bootcode
page 89
Broadcom Confidential and Proprietary
Page 90
10.15 asfcfg
Command: asfcfg
Description: Configure ASF in NVRAM
Syntax: asfcfg [filename]
If [filename] is provided the file is used to configure the ASF configuration information in
NVRAM. If asfcfg is entered by it self a menu is present the user and the options of the
items listed in the menu are described below.
0
Description:
Use this menu option save the network adapter's ASF configuration table to a binary file.
1
Description:
Provides the sub menu with the options described below.
Return to previous menu.
Enable/Disable Remote Management Control Protocol (RCMP)
Enable/Disable the transmission of Platform Event Trap (PET)
messages.
Enable/Disable transmission of periodic system heartbeat messages.
Interval in seconds between transmitted heartbeat messages.
PET messages (except the system heartbeat) are retransmitted three
times. This entry allows the user to specify, in seconds, the interval of
time between these transmissions.
Client IP address used for communication.
Management console IP address to which communication is directed.
Gateway IP address used when client and management console are on
different subnets.
Subnet mask used to determine client and management console
subnets.
Configures link speed for ASF operation when the OS is not present.
Unique value used to by ASF. Usually setup by an OS based
configuration utility, based on the SMBIOS system information structure.
Configure the polling interval, in seconds, which legacy SMBus devices
are monitored (such as the chassis intrusion sensor).
Specifies, in seconds, the amount of time to wait before polling the first
legacy SMBus device.
Send 'ASD Ready' SMBus Msg
Enable/Disable the system to wake up from a low power states when the
system receives ASF or RMCP traffic.
Feature is not currently supported.
SNMP community name.
ASF Alert Info
ASF Alert Data for Legacy Devices
ASF Remote Control Data
ASF Capabilities Supported
ASF SMBus Addresses
These menu options may be used to override values in the network adapter's ASF
Configuration Table that correlate to the following records in the system's "ASF!
Description Table":
ASF_INFO
ASF_ALRT
ASF_RCTL
ASF_RMCP
ASF_ADDR
The values in these records are normally copied from the system's "ASF! Description
Table" (using the ACPI System Description Table architecture) into the ASF Configuration
Table in the network adapter's non-volatile memory by the Broadcom ASF Configuration
Utility (ASFConfig). See the Alert Standard Format (ASF) Specification v2.0 for detailed
descriptions of these records.
7
Description:
Reserved
8
Description:
Not to be used by customers. For Broadcom internal use only.
9
Description:
Saves the modified ASF Configuration Table to the network adapter's non-volatile memory
and exists.
Reserved
SMBus Init Data
Save and Exit
10 Exit without Saving
Description:
Exits without saving any changes to the ASF Configuration Table.
10.16 mancfg
Command: mancfg
Description: Configure management firmware in NVRAM. For device without APE, this
-W Replace web file and data records from cfg or ini file
-x Export config records to cfg ini or raw data file
-p Export public key to DER encode file
-k Specify minimum size of APE_CFG NVRAM entry
Note: mancfg command can be run in command mode or interactive mode. When option is
specified, command mode is used. For details of interactive mode, please refer to bmcfg, and
mancfg documentation. This command is work in progress, will be updated later.
10.17 asfmbox
Command: asfmbox
Description: Create ASF Off-Line Mailboxes in NVRAM.
-D Delete config record(s)
-X Remove config record(s)
-e Encrypt config record(s)
-d Decrypt config records(s)
-r Specify record type (in hex or by name) [:ordinal] to operate on
Description: Generate bitbang pattern to seeprom bus. Enter hex numbers to be written to
seeprom bus. For serial eeprom, use 's' for start, 'p' for stop condition, 'x' with '1..9' specifies
how many residual bits to send. For flash, use 's' for chipSelect, 'p' for cancel chipSelect 'r'
with a number specifies how many bytes to read.
Syntax: bitbang <data>
10.26 seclock
Command: seclock
Description: set NVRAM config1 content value after reset.