返回目录

DOS 诊断用户指南

本章提供以下信息:

简介

前提条件

功能列表

功能说明

诊断测试

错误消息


简介

本文档提供了有关如何在 Broadcom NetXtreme™ 以太网控制器上使用 DOS 诊断实用程序的信息。

所有命令都可以从 DOS 提示符或 CLI(命令行界面)提示符输入。不带参数运行程序时,将进入 CLI 模式。否则,参数将作为命令使用来执行,并在完成执行后退出程序。

在 CLI 中,假定系统中有 3 个设备,在每次提示之前始终显示所有的设备信息,如下例所示:

C Brd:Rv    Bus   PCI Spd Base Irq EEP     MAC          Fmw     Configuration
- ------- ------- --- --- ---- -- ---- ------------ ----------- --------------
0 5702:A2 02:0A:0 32  33  FEAF  3 128K 0010180416DB 5702-v2.24a PW,auto
1 5702:A2 02:0B:0 32  33  FEAD 11 128K 0010180416C4 5702-v2.24a PW,auto
 

返回页首


前提条件

操作系统:

DOS 6.22

软件:

b57udiag.exe


返回页首


要查看“功能列表”,请输入命令“b57udiag -cmd”。

功能列表

命令

功能

upgfrm

从文件升级 PXE 或 Boot 代码

dir

显示 NVRAM 中的文件目录

setwol

启用/禁用 WOL

setpxe

启用/禁用 PXE

setasf

启用/禁用 ASF

setmba

启用多重引导代理

nictest

运行一组 NIC 测试

exit

退出程序

device

显示或切换设备

version

显示程序版本

help

显示可用命令

dos

执行 DOS 命令

reset

重置芯片

cls

清除屏幕

asfprg

对 ASF 固件编程以包含到 NVRAM 中


返回页首


功能说明

upgfrm

命令:upgfrm

说明:从文件升级 PXE 或 Boot 代码。

语法:upgfrm [-选项]

该命令读取文件的代码并对其进行编程,以包含到 pxe 或引导区中。必须指定作为编程目标的“pxe”或“boot”和文件名参数。

选项:

-f <string>

输入文件

-p

升级 PXE 代码

-b

升级 Boot 代码

-d

不执行设备检查


dir

命令:dir

说明:显示 NVRAM 中的文件目录。

示例:

Entry Type SRAM    Addr EEP  Offset     Length   Execute Version 
----- ------------ --------- ---------- -------- ------- -------
BootCode 08003000 00000200 000011B0 CPUA (2) 5702-v2.24a
0 PXE 00010000 000013B0 0000C854 no 2.2.7

setwol

      命令:set wol

      说明:启用/禁用 WOL。

      语法:setwol [ -选项]

      选项:

      -e

      启用 WOL

      -d

      禁用 WOL


setpxe

命令:set pxe

说明:启用/禁用 PXE 并设置 PXE 速度。

语法:setpxe [ -选项]

选项:

-e

启用 PXE

-d

禁用 PXE

-s<DEC>

指定 PXE 速度(默认值 = 0)

速度: 0 = auto
1 = 10 HD
2 = 10 FD
3 = 100 HD
4 = 100 FD


setasf

命令:setasf

说明:启用/禁用 ASF。

语法:setasf [-选项]

选项:

-e

启用 ASF

-d

禁用 ASF


setmba

命令:setmba

说明:启用/禁用多重引导代理。

语法:setmba [ -选项]

选项:

-e<DEC>

指定 MBA 协议

协议: 0 = pxe
1 = rpl
2 = bootp

-d

禁用 MBA

-s<DEC>

指定 MBA 速度(默认值 = 0)

速度: 0 = auto
1 = 10 HD
2 = 10 FD
3 = 100 HD
4 = 100 FD


nictest

命令:nictest

说明:运行一组 NIC 测试。

语法:nictest [测试列表]

示例:有关测试说明的详细信息,请参见“诊断测试”。

abcd

运行所有测试

b

运行 b 组的所有测试

a3 b1

仅运行 a3 和 b1 测试

a124b2

运行 a1、a2、a4 和 b2 测试

如果没有输入测试列表,则使用 diagcfg 设置。

选项:

-n <DEC>

迭代

-e

还运行 NVRAM 验证

exit

命令:exit

说明:从 CLI 模式退出。

语法: exit

示例:

b57udiag> exit

device

命令:device

说明:显示或切换设备。

语法:device [ -选项]

选项:

-n <HEX>
设备号(默认值 = 00000000)
-r
删除当前所有设备并重新扫描可用设备。
-s
无提示模式 - 不显示设备

version

      命令:version

      说明:显示软件版本。

      语法: version

      示例:

      C:\>b57udiag -version
      Copyright (c) 2000, 2001 Broadcom Corporation, all rights reserved
      Broadcom NetXtreme User Diagnostic 3.09 (06/14/02)

help

      命令:help

      说明:显示可用的帮助命令。

      语法: help

      示例:

      C:\>b57udiag -help
      Copyright (c) 2000, 2001, 2002 Broadcom Corporation, all rights reserve
      d
      Broadcom NetXtreme User Diagnostic 3.09 (06/14/02)

      命令

      功能

      upgfrm

      从文件升级 PXE 或 Boot 代码

      dir

      显示 NVRAM 中的文件目录

      setwol

      启用/禁用 WOL

      setpxe

      启用/禁用 PXE

      setasf

      启用/禁用 ASF

      nictest

      运行一组 NIC 测试

      exit

      退出程序

      device

      显示或切换设备

      version

      显示程序版本

      help

      显示可用命令

      dos

      执行 DOS 命令

      reset

      重置芯片

      cls

      清除屏幕

      asfprg

      对 ASF 固件编程以包含到 NVRAM 中


dos

命令:dos

说明:执行 DOS 命令。

语法:dos <dos 命令>

如果没有输入参数,则输入 DOS 命令解释程序。

reset

命令:reset

说明:重置芯片。

语法: reset

选项:

-c
模拟冷重置
-w
等待固件签名
-t
显示从重置到固件转换签名的时间

cls

命令:cls

说明:清除屏幕。

语法: cls

asfprg

命令:asfprg

说明:对 asf 固件编程以包含到 NVRAM 中

语法: asfprg [init_img [rx_img [tx_img]]]

默认文件名是 asfinit.bin、asfcpua.bin 和 asfcpub.bin,这些都可以用参数来改写。

选项:

-v<HEX>

冗余级别 (0,1,2)(默认值=00000001)

返回页首


诊断测试

这些测试分为四个组:寄存器测试、内存测试、杂项测试和数据测试。它们分别编为 A、B、C 和 D 组。

测试名称

A 组

      A1. Indirect Register Test
      A2. Control Register Test
      A3. Interrupt Test
      A4. BIST
      A5. PCI Cfg Register Test

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

C 组

      C1. EEPROM Test
      C2. CPU Test
      C3. DMA Test
      C4. MII Test
      C5. VPD Test
      C6. ASF Test
      C7. ROM Expansion Test

D 组

      D1. Mac Loopback Test
      D2. Phy Loopback Test
      D3. RJ-45 Loopback Test
      D4. MII Miscellaneous Test
      D5. MSI Test

测试说明

A1.Indirect Register Test(间接寄存器测试)

    命令:regtest -i

    功能:使用间接寻址方法,将增量数据写入 MAC 散列寄存器表并读回数据进行验证。增加测试数据时,内存读/写将进行 100 次。

    默认方式:启用测试

A2.Control Register Test(控制寄存器测试)

    命令:regtest

    功能: 配置内容中指定的每个寄存器定义只读位和读/写位。测试将 0 和 1 写入测试位以确保只读位不被更改,并且相应地更改读/写位。

    默认方式:启用测试。

    默认寄存器表

    该测试将试图读取寄存器定义的寄存器配置文件 ctrlreg.txt。如果该文件不存在,将使用默认的寄存器偏移和屏蔽位。

Offset R/O Mask R/W Mask
0x00000400 0x00000000 0x007fff8c
0x00000404 0x03800107 0x00000000

A3.Interrupt Test(中断测试)

命令:intrtest

功能:该测试验证中断功能。它支持中断,并为发生中断等待 500 毫秒。如果没有发生中断,它就会报告错误。

默认方式:启用

A4. BIST

    命令:bist

    功能:内置硬件自测 (BIST)。该测试启动 BIST,并等待硬件返回的测试结果。

    默认方式:由于发生间歇的故障,该测试当前已根据默认配置被禁用。

A5.PCI Cfg Register Test(PCI 配置寄存器测试)

    命令:pcicfg

    功能:该测试用于验证 PCI 配置寄存器的存取完整性。

B1.Scratch Pad Test(高速缓存区测试)

命令:memtest -s

功能:该测试用于测试主板上的高速缓存区 SRAM。将执行以下测试:

默认方式:启用

B2.BD SRAM Test(BD SRAM 测试)

命令:memtest -b

功能:该测试用于检测 BD SRAM。执行该测试的方式与 B1 中说明的 Scratch Pad Test 执行方式相同。

默认方式:启用

B3.DMA SRAM Test(DMA SRAM 测试)

命令:memtest -d

功能:它用于测试 DMA SRAM,执行测试的方法和 B1 中说明的 Scratch Pad Test 执行方式相同。

默认方式:启用

B4.MBUF SRAM Test(MBUF SRAM 测试)

命令:memtest -m

功能:它用于测试 DMA SRAM,执行测试的方法和 B1 中说明的 Scratch Pad Test 执行方式相同。

默认方式:启用

B5.MBUF SRAM via DMA Test(通过 DMA 的 MBUF SRAM 测试)

命令:memtest -x

功能:使用八个数据测试模式。该测试将使用 0x1000 大小的数据缓冲区。每个模式测试之前,缓冲区被初始化并使用该测试模式来填充。然后,它从主机缓冲区到 NIC MBUF 内存执行大小为 0x1000 的传输 DMA。它对照主机内存验证 MBUF 中的数据完整性,并为整个 MBUF 缓冲区重复 DMA。然后,执行从 NIC 到主机的接收 DMA。在每个接收 DMA 之前,0x1000 字节测试缓冲区被清空为 0。在验证数据完整性后,为整个 MBUF SRAM 范围重复测试。这些测试模式说明如下。

测试模式

说明

16 00 和 16 FF

先用16 个字节的 00,然后用16 个字节的 FF 填充整个主机 DMA 缓冲区。

16 FF 和 16 0'

先用16 个字节的 00,然后用16 个字节的 FF 填充整个主机 DMA 缓冲区。

32 00 和 32 FF

先用32 个字节的 00,然后用32 个字节的 FF 填充整个主机 DMA 缓冲区。

32 00 和 32 FF

先用32 个字节的 FF,然后用32 个字节的 00 填充整个主机 DMA 缓冲区。

00000000

用所有 0 填充整个主机 DMA 缓冲区。

FFFFFFFF

用所有 FF 填充整个主机 DMA 缓冲区。

AA55AA55

用数据 0xAA55AA55 填充整个主机 DMA 缓冲区。

55AA55AA

用数据 0x55AA55AA 填充整个主机 DMA 缓冲区。

默认方式:启用

B6.External SRAM Test(外部 SRAM 测试)

命令:memtest -e

功能:它用于测试 DMA SRAM,执行测试的方法和 B1 中说明的 Scratch Pad Test 执行方式相同。

默认方式:禁用

C1.EEPROM Test(EEPROM 测试)

命令:setest

功能:EEPROM 测试中使用增量测试数据。它将测试数据填充到测试范围中并读回数据以验证内容。测试后,将使用 0 来填充测试范围,以清空内存。

默认方式:启用

C2.CPU Test(CPU 测试)

命令:cputest

功能:该测试打开 cpu.bin 文件。如果文件存在并且内容良好,它将代码加载到 Rx 和 Tx CPU 并验证 CPU 执行。

默认方式:启用

C3.DMA Test(DMA 测试)

命令:dmatest

功能:同时测试高优先级 DMA 和低优先级 DMA。它将数据从主机内存移至 NIC SRAM,验证数据,然后将数据移回主机内存来验证数据。

默认方式:启用

C4.MII Test(MII 测试)

命令:miitest

功能:功能和 A2 中的 Control Register Test 功能相同。配置内容中指定的每个寄存器定义只读位和读/写位。测试将 0 和 1 写入测试位以确保只读位值不被更改,并且相应地更改读/写位。

默认方式:启用测试。

默认寄存器表

测试将试图读取寄存器定义的寄存器配置文件 miireg.txt。如果该文件不存在,将使用下面的表:

Offset 		R/O Mask	R/W Mask
0x00 		0x0000 		0x7180
0x02 		0xffff 		0x0000
0x03 		0xffff 		0x0000
0x04 		0x0000 		0xffff
0x05 		0xefff 		0x0000
0x06 		0x0001 		0x0000
0x07 		0x0800 		0xb7ff
0x08 		0xffff 		0x0000
0x09 		0x0000 		0xff00
0x0a 		0x7c00 		0x0000
0x10 		0x0000 		0xffbf
0x11 		0x3300 		0x0000
0x19 		0x001f 		0x0000
0x1e 		0x0000 		0xffff
0x1f 		0x0000 		0xffff

C5.VPD Test(VPD 测试)

命令:vpdtest

功能:VPD 测试在执行测试之前首先保存 VPD 的内容。完成后,它将 5 个测试数据模式(0xff、0xaa、0x55、增量数据或减量数据)中的一个写入 VPD 内存。默认情况下,使用增量数据模式。它在整个测试阶段写入并读回数据,然后还原初始内容。

默认方式:禁用

C6.ASF Test(ASF 测试)

命令:asftest

功能: m

      1. 重置测试。

        设置重置位,并轮询以便自我清空。验证寄存器的重置值。

      2. 事件映射测试

        设置 SMB_ATTN 位。通过更改 ASF_ATTN LOC 位,来验证 TX_CPU 或 RX_CPU 事件位中的映射位。

      3. 计数器测试
  • 通过设置 WG_TO、HB_TO、PA_TO、PL_TO、RT_TO 位达到清除目的,并确保这些位被清除。
  • 清空时间戳计数器。将值 1 写入每个 PL、PA、HB、WG、RT 计数器。设置 TSC_EN 位。
  • 轮询每个 PA_TO 位并累计达到 50 次。检查 PL_TO 是否在轮询 50 次后已进行了设置。继续轮询累计到 200 次。检查是否所有其它 TO 位都已设置,并且验证时间戳计数器已经增加。

C7.ROM Expansion Test(ROM 扩展测试)

命令:romtest

功能:该功能用于测试启用/禁用/访问设备上的扩展只读存储器的能力。

D1.Mac Loopback Test(Mac 回送测试)

命令:pkttest -m

功能:这是一个内部回送数据传输/接收测试。它将 MAC 初始化为内部回送模式,并传输 100 个数据包。数据将送回接收信道并由接收程序进行接收,这可以验证数据的完整性。除非启用了千兆位速率,否则,该测试使用的速率为 100 MB。

默认方式:启用

D2.Phy Loopback Test(Phy 回送测试)

命令:pkttest -p

功能:该测试与 D1 中的 Mac Loopback Test 相同,不同的是数据通过物理层设备进行回送。除非启用了千兆位速率,否则,该测试使用的速率为 100 MB。

默认方式:启用

D3.RJ-45 Loopback Test(PHY 回送测试)

命令:pkttest -e

功能:这是一个外部回送测试。从 UUT 的角度来看,不配置任何回送模式。希望由 RJ-45 回送接口送回数据。除非启用了千兆位速率,否则,该测试使用的速率为 100 MB。

默认方式:禁用

D4.MII Miscellaneous Test(MII 杂项测试)

命令:None

功能:该功能用于测试自动轮询和 PHY 中断功能。这些都是 PHY 的功能。

默认方式:启用

D5.MSI Test(MSI 测试)

命令:msitest

功能:该功能测试设备的“信息信号中断 (MSI)”功能。有关 MSI 的定义,请参阅 2.2 版的“PCI 规范”。

默认方式:禁用

返回页首


错误消息


/* 0 */ 	"PASS",
/* 1 */ 	"Got 0x%08X @ 0x%08X. Expected 0x%08X",
/* 2 */ 	"Cannot perform task while chip is running",
/* 3 */ 	"Invalid NIC device",
/* 4 */ 	"Read only bit %s got changed after writing zero at offset 0x%X",
/* 5 */ 	"Read only bit %s got changed after writing one at offset 0x%X",
/* 6 */ 	"Read/Write bit %s did not get cleared after writing zero at offset 0x%X",
/* 7 */ 	"Read/Write bit %s did not get set after writing one at offset 0x%X",
/* 8 */ 	"BIST failed",
/* 9 */ 	"Could not generate interrupt",
/* 10 */ 	"Aborted by user",
/* 11 */ 	"Tx DMA:Got 0x%08X @ 0x%08X. Expected 0x%08X",
/* 12 */ 	"Rx DMA:Got 0x%08X @ 0x%08X. Expected 0x%08X",
/* 13 */ 	"Tx DMA failed",
/* 14 */ 	"Rx DMA failed",
/* 15 */ 	"Data error, got 0x%08X at 0x%08X, expected 0x%08X",
/* 16 */ 	"Second read error, got 0x%08X at 0x%08X, expected 0x%08X",
/* 17 */ 	"Failed writing EEPROM at 0x%04X",
/* 18 */ 	"Failed reading EEPROM at 0x%04X",
/* 19 */ 	"EEPROM data error, got 0x08X at 0x04X, expected 0x%08X",
/* 20 */ 	"Cannot open file %s",
/* 21 */ 	"Invalid CPU image file %s",
/* 22 */ 	"Invalid CPU image size %d",
/* 23 */ 	"Cannot allocate memory",
/* 24 */ 	"Cannot reset CPU",
/* 25 */ 	"Cannot release CPU",
/* 26 */ 	"CPU test failed",
/* 27 */ 	"Invalid Test Address Range\nValid NIC address is 0x%08X-0x%08X and exclude 0x%08X-0x%08X",
/* 28 */    "DMA:Got 0x%08X @ 0x%08X. Expected 0x%08X",
/* 29 */    "Unsupported PhyId %04X:%04X",
/* 30 */    "Too many registers specified in the file, max is %d",
/* 31 */ 	"Cannot write to VPD memory",
/* 32 */ 	"VPD data error, got %08X @ 0x04X, expected %08X",
/* 33 */ 	"No good link! Check Loopback plug",
/* 34 */ 	"Cannot TX Packet!",
/* 35 */ 	"Requested to Tx %d. Only %d is transmitted",
/* 36 */	"Expected %d packets. Only %d good packet(s) have been received\n%d unknown packets have been received.\n%d bad packets have been received.",
/* 37 */ 	"%c%d is an invalid Test",
/* 38 */ 	"EEPROM checksum error",
/* 39 */ 	"Error in reading WOL/PXE",
/* 40 */ 	"Error in writing WOL/PXE",
/* 41 */ 	"No external memory detected",
/* 42 */ 	"DMA buffer %04X is large, size must be less than %04X",
/* 43 */ 	"File size %d is too big, max is %d",
/* 44 */ 	"Invalid %s",
/* 45 */ 	"Failed writing 0x%x to 0x%x",
/* 46 */ 	"",
/* 47 */ 	"Ambiguous command",
/* 48 */ 	"Unknown command",
/* 49 */ 	"Invalid option",
/* 50 */ 	"Cannot perform task while chip is not running. (need driver)",
/* 51 */ 	"Cannot open register define file or content is bad",
/* 52 */ 	"ASF Reset bit did not self-cleared",
/* 53 */ 	"ATTN_LOC %d cannot be mapped to %cX CPU event bit %d",
/* 54 */ 	"%s Regsiter is not cleared to zero after reset",
/* 55 */ 	"Cannot start poll_ASF Timer",
/* 56 */ 	"poll_ASF bit did not get reset after acknowleged",
/* 57 */ 	"Timestamp Counter is not counding",
/* 58 */ 	"%s Timer is not working",
/* 59 */ 	"Cannot clear bit %s in %cX CPU event register",
/* 60 */ 	"Invalid "EEPROM_FILENAME" file size, expected %d but only can read %d bytes",
/* 61 */ 	"Invalid magic value in %s, expected %08x but found %08x",
/* 62 */ 	"Invalid manufature revision, expected %c but found %c",
/* 63 */ 	"Invalid Boot Code revision, expected %d.%d but found %d.%d",
/* 64 */ 	"Cannot write to EEPROM",
/* 65 */ 	"Cannot read from EEPROM",
/* 66 */ 	"Invalid Checksum",
/* 67 */ 	"Invalid Magic Value",
/* 68 */ 	"Invalid MAC address, expected %02X-%02X-%02X-%02X-%02X-%02X",
/* 69 */ 	"Slot error, expected an UUT to be found at location %02X:%02X:00",
/* 70 */ 	"Adjacent memory has been corrupted while testing block 0x%08x-0x%08x\nGot 0x%08x @ address 0x%08x. Expected 0x%08x",
/* 71 */ 	"The function is not Supported in this chip",
/* 72 */ 	"Packets received with CRC error",
/* 73 */ 	"MII error bits set: %04x",
/* 74 */ 	"CPU does not initialize MAC address register correctly",
/* 75 */ 	"Invalid firmware file format",
/* 76 */ 	"Resetting TX CPU Failed",
/* 77 */ 	"Resetting RX CPU Failed",
/* 78 */ 	"Invalid MAC address",
/* 79 */ 	"Mac address registers are not initialized correctly",
/* 80 */ 	"EEPROM Bootstrap checksum error",

返回页首

返回目录


请阅读约束和免责声明全文。