Back to Contents Page

User Diagnostics: Broadcom NetXtreme II™ Network Adapter User Guide

Introduction

System Requirements

Performing Diagnostics

Diagnostic Test Descriptions

Introduction

Broadcom NetXtreme II User Diagnostics is an MS-DOS based application that runs a series of diagnostic tests (see Table 3) on the Broadcom NetXtreme II network adapters in your system. Broadcom NetXtreme II User Diagnostics also allows you to update device firmware and to view and change settings for available adapter properties. There are two versions of the Broadcom NetXtreme II User Diagnostics: uxdiag.exe (for BCM5706/BCM5708/BCM5709 network adapters) and uediag.exe (for BCM57710 network adapters).

To run Broadcom NetXtreme II User Diagnostics, create an MS-DOS 6.22 bootable disk containing the uxdiag.exe or uediag.exe file. Next, start the system with the boot disk in drive A. See Performing Diagnostics for further instructions on running diagnostic tests on Broadcom network adapters.

System Requirements

Operating System: MS-DOS 6.22

Software: uxdiag.exe (BCM5706/BCM5708/BCM5709), or uediag.exe (BCM57710)

Performing Diagnostics

At the MS-DOS prompt, type uxdiag (for BCM5706/BCM5708/BCM5709 network adapters) or uediag (for BCM57710 network adapters) followed by the command options. The uxdiag command options are shown in Table 1 and the uediag command options are shown in Table 2. For example, to run all diagnostic tests on adapter #1 except Group B tests:

C:\>uxdiag -c 1 -t b

NOTE: You must include uxdiag or uediag at the beginning of the command string each time you type a command.

Table 1: uxdiag Command Options  
Command Options
Description
uxdiag
Performs all tests on all Broadcom NetXtreme II adapters in your system.
uxdiag -c <devnum>
Specifies the adapter (devnum) to test. Use all in place of a specific device number to test all adapters.
uxdiag -cof
Allows tests to continue after detecting a failure.
uxdiag -F
Forces an upgrade of the image without checking the version.
uxdiag -fbc <bc_image>
Specifies the bin file to update the bootcode.
uxdiag -fib <ib_image>
Specifies the bin file for iSCSI boot.
uxdiag -fibc
Programs the iSCSI configuration block. Used only with -fib <ib_image>.
uxdiag -fibp
Programs the iSCSI configuration software. Used only with -fib <ib_image>.
uxdiag -fipmi <ipmi_image>
Specifies the bin file to update IPMI firmware.
uxdiag -fmba <mba_image>
Specifies the bin file to update the MBA.
uxdiag -fncsi <ncsi_image>
Specifies the bin file to update the NCSI firmware.
uxdiag -fnvm <raw_image>
Programs the raw image into NVM.
uxdiag -fump <ump_image>
Specifies the bin file to update UMP firmware.
uxdiag -help
Displays the Broadcom NetXtreme II User Diagnostics (uxdiag) command options.
uxdiag -I <iteration num>
Specifies the number of iterations to run on the selected tests.
uxdiag -idmatch
Enables matching of VID, DID, SVID, and SSID from the image file with device IDs. Used only with -fnvm <raw_image>.
uxdiag -log <file>
Logs the test results to a specified log file.
uxdiag -mba <1/0>
Enables/disables Multiple Boot Agent (MBA) protocol.
1 = Enable
0 = Disable
uxdiag -mbap <n>
Sets the MBA boot protocol.
0 = PXE
1 = RPL
2 = BOOTP
3 = iSCSI_Boot
uxdiag -mbas <n>
Sets the MBA/PXE speed.
0 = Auto
1 = 10H
2 = 10F
3 = 100H
4 = 100F
6 = 1000F
uxdiag -mbav <1|0>
Enables/disables MBA VLAN.
1 = Enable
0 = Disable
uxdiag -mbavval <n>
Sets MBA VLAN (<65536).
uxdiag -mfw <1/0>
Enables/disables management firmware.
1 = Enable
0 = Disable
uxdiag -t <groups/tests>
Disables certain groups/tests.
uxdiag -T <groups/tests>
Enables certain groups/tests.
uxdiag -ver
Displays the version of Broadcom NetXtreme II User Diagnostics (uxdiag) and all installed adapters.
uxdiag -wol <1/0>
Enables/disables Magic Packet WOL.
1 = Enable
0 = Disable

Table 2: uediag Command Options  
Command Options
Description
uediag
Performs all tests on all Broadcom NetXtreme II adapters in your system.
uediag -c <device#>
Specifies the adapter (device#) to test. Similar to -dev (for backward compatibility).
uediag -cof
Allows tests to continue after detecting a failure.
uediag -dev <device#>
Specifies the adapter (device#) to test.
uediag -F
Forces an upgrade of the image without checking the version.
uediag -fbc <bc_image>
Specifies the bin file to update the bootcode.
uediag -fbc1 <bc1_image>
Specifies the bin file to update bootcode 1.
uediag -fbc2 <bc2_image>
Specifies the bin file to update bootcode 2.
uediag -fl2b <l2b_image>
Specifies the bin file for L2B firmware.
uediag -fib <ib_image>
Specifies the bin file for iSCSI boot.
uediag -fibc
Programs iSCSI configuration block 0. Used only with -fib <ib_image>.
uediag -fibc2
Programs iSCSI configuration block 1. Used only with -fib <ib_image>.
uediag -fibp
Programs iSCSI configuration software. Used only with -fib <ib_image>.
uediag -fipmi <ipmi_image>
Specifies the bin file to update IPMI firmware.
uediag -fmba <mba_image>
Specifies the bin file to update the MBA.
uediag -fnvm <raw_image>
Programs the raw image into NVM.
uediag -fump <ump_image>
Specifies the bin file to update UMP firmware.
uediag -help
Displays the Broadcom NetXtreme II User Diagnostics (uediag) command options.
uediag -I <iteration#>
Specifies the number of iterations to run on the selected tests.
uediag -idmatch
Enables matching of VID, DID, SVID, and SSID from the image file with device IDs: Used only with -fnvm <raw_image>.
uediag -log <logfile>
Logs the tests results to a specified log file.
uediag -mba <1/0>
Enables/disables Multiple Boot Agent (MBA) protocol.
1 = Enable
0 = Disable
uediag -mbap <n>
Sets the MBA boot protocol.
0 = PXE
1 = RPL
2 = BOOTP
3 = iSCSI_Boot
uediag -mbav <1/0>
Enables/disables MBA VLAN.
1 = Enable
0 = Disable
uediag -mbavval <n>
Sets MBA VLAN (<65536).
uediag -mfw <1/0>
Enables/disables management firmware.
1 = Enable
0 = Disable
uediag -t <groups/tests>
Disables certain groups/tests.
uediag -T <groups/tests>
Enables certain groups/tests.
uediag -ver
Displays the version of Broadcom NetXtreme II User Diagnostics (uediag) and all installed adapters.
uediag -wol <1/0>
Enables/disable Magic Packet WOL.
1 = Enable
0 = Disable

Diagnostic Test Descriptions

The diagnostic tests are divided into four groups: Basic Functional Tests (Group A), Memory Tests (Group B), Block Tests (Group C), and Ethernet Traffic Tests (Group D). The diagnostic tests are listed and described in Table 3.

Table 3: Diagnostic Tests  
Test
Description
Number
Name
Group A: Basic Functional Tests
A1
Register
Verifies that registers accessible through the PCI/PCI-E interface implement the expected read-only or read/write attributes by attempting to modify those registers.
A2
PCI Configuration
Checks the functionality of the PCI Base Address Register (BAR) by varying the amount of memory requested by the BAR and verifying that the BAR actually requests the correct amount of memory (without actually mapping the BAR into system memory). Refer to PCI or PCI-E specifications for details on the BAR and its addressing space.
A3
Interrupt
Generates a PCI interrupt and verifies that the system receives the interrupt and invokes the correct ISR. A negative test is also performed to verify that a masked interrupt does not invoke the ISR.
A5
MSI
Verifies that a Message Signaled Interrupt (MSI) causes an MSI message to be DMA'd to host memory. A negative test is also performed to verify that when an MSI is masked, it does not write an MSI message to host memory.
A6
Memory BIST
Invokes the internal chip Built-In Self Test (BIST) command to test internal memory.
Group B: Memory Tests
B1
TXP Scratchpad
The Group B tests verify all memory blocks of the Broadcom NetXtreme II adapter by writing various data patterns (0x55aa55aa, 0xaa55aa55, walking zeroes, walking ones, address, etc.) to each memory location, reading back the data, and then comparing it to the value written. The fixed data patterns are used to ensure that no memory bit is stuck high or low, while the walking zeroes/ones and address tests are used to ensure that memory writes do not corrupt adjacent memory locations.
B2
TPAT Scratchpad
B3
RXP Scratchpad
B4
COM Scratchpad
B5
CP Scratchpad
B6
MCP Scratchpad
B7
TAS Header Buffer
B8
TAS Payload Buffer
B9
RBUF via GRC
B10
RBUF via Indirect Access
B11
RBUF Cluster List
B12
TSCH List
B13
CSCH List
B14
RV2P Scratchpads
B15
TBDC Memory
B16
RBDC Memory
B17
CTX Page Table
B18
CTX Memory
Group C: Block Tests
C1
CPU Logic and DMA Interface
Verifies the basic logic functionality of all the on-chip CPUs. It also exercises the DMA interface exposed to those CPUs. The internal CPU tries to initiate DMA activities (both read and write) to system memory and then compares the values to confirm that the DMA operation completed successfully.
C2
RBUF Allocation
Verifies the RX buffer (RBUF) allocation interface by allocating and releasing buffers and checking that the RBUF block maintains an accurate count of the allocated and free buffers.
C3
CAM Access
Verifies the content-addressable memory (CAM) block by performing read, write, add, modify, and cache hit tests on the CAM associative memory.
C4
TPAT Cracker
Verifies the packet cracking logic block (i.e., the ability to parse TCP, IP, and UDP headers within an Ethernet frame) as well as the checksum/CRC offload logic. In this test, packets are submitted to the chip as if they were received over Ethernet and the TPAT block cracks the frame (identifying the TCP, IP, and UDP header data structures) and calculates the checksum/CRC. The TPAT block results are compared with the values expected by Broadcom NetXtreme II User Diagnostics and any errors are displayed.
C5
FIO Register
The Fast IO (FIO) verifies the register interface that is exposed to the internal CPUs.
C6
NVM Access and Reset-Corruption
Verifies non-volatile memory (NVM) accesses (both read and write) initiated by one of the internal CPUs. It tests for appropriate access arbitration among multiple entities (CPUs). It also checks for possible NVM corruption by issuing a chip reset while the NVM block is servicing data.
C7
Core-Reset Integrity
Verifies that the chip performs its reset operation correctly by resetting the chip multiple times, checking that the bootcode and the internal uxdiag driver loads/unloads correctly.
C8
DMA Engine
Verifies the functionality of the DMA engine block by performing numerous DMA read and write operations to various system and internal memory locations (and byte boundaries) with varying lengths (from 1 byte to over 4 KB, crossing the physical page boundary) and different data patterns (incremental, fixed, and random). CRC checks are performed to ensure data integrity. The DMA write test also verifies that DMA writes do not corrupt the neighboring host memory.
C9
VPD
Exercises the Vital Product Data (VPD) interface using PCI configuration cycles and requires a proper bootcode to be programmed into the non-volatile memory. If no VPD data is present (i.e., the VPD NVM area is all 0s), the test first initializes the VPD data area with non-zero data before starting the test and restores the original data after the test completes.
C11
FIO Events
Verifies that the event bits in the CPU's Fast IO (FIO) interface are triggering correctly when a particular chip events occur, such as a VPD request initiated by the host, an expansion ROM request initiated by the host, a timer event generated internally, toggling any GPIO bits, or accessing NVM.
Group D: Ethernet Traffic Tests
D1
MAC Loopback
Enables MAC loopback mode in the adapter and transmits 5000 Layer 2 packets of various sizes. As the packets are received back by Broadcom NetXtreme II User Diagnostics, they are checked for errors. Packets are returned through the MAC receive path and never reach the PHY. The adapter should not be connected to a network.
D2
PHY Loopback
Enables PHY loopback mode in the adapter and transmits 5000 Layer 2 packets of various sizes. As the packets are received back by Broadcom NetXtreme II User Diagnostics, they are checked for errors. Packets are returned through the PHY receive path and never reach the wire. The adapter should not be connected to a network.
D4
LSO
Verifies the functionality of the adapter's Large Send Offload (LSO) support by enabling MAC loopback mode and transmitting large TCP packets. As the packets are received back by Broadcom NetXtreme II User Diagnostics, they are checked for proper segmentation (according to the selected MSS size) and any other errors. The adapter should not be connected to a network.
D5
EMAC Statistics
Verifies that the basic statistics information maintained by the chip is correct by enabling MAC loopback mode and sending Layer 2 packets of various sizes. The adapter should not be connected to a network.
D6
RPC
Verifies the Receive Path Catch-up (RPC) block by sending packets to different transmit chains. The packets traverse the RPC logic (though not the entire MAC block) and return to the receive buffers as received packets. This is another loopback path that is used by Layer 4 and Layer 5 traffic within the MAC block. As packets are received back by Broadcom NetXtreme II User Diagnostics, they are checked for errors. The adapter should not be connected to a network.


Back to Contents Page