所有命令均可以通过 DOS 命令提示符或 Broadcom 命令行界面 (CLI) 提示符键入。如果使用 DOS 命令提示符,每次要运行命令时,必须键入 b57udiag -function name(及任何选项)。 操作结束时,程序返回 DOS 命令提示符模式。在 Broadcom CLI 模式下,命令字符串不必包含 b57udiag;只需键入功能名称及任何所需选项。操作结束时,程序返回 Broadcom CLI 提示符模式。
在 Broadcom CLI 模式下,假定系统中有两个设备,所有设备信息均在每个 CLI 提示符前面显示,如下例所示:
C Brd:Rv Bus PCI Spd Base Irq EEP MAC Fmw Configuration - ------- ------- --- --- ---- -- ---- ----------- ----------- -------------- 0 5705:A3 02:0A:0 32 33 FEAF 3 128K 0010180416DB 5705-v3.16 PW,auto 1 5705:A3 02:0B:0 32 33 FEAD 11 128K 0010180416C4 5705-v3.16 PW,auto
操作系统:DOS 6.22
软件:b57udiag.exe
要访问功能列表,键入 b57udiag -cmd,然后按 ENTER 键。
| 命令 | 操作 |
|---|---|
| upgfrm |
从文件升级 PXE 或引导代码 |
| dir |
显示 NVRAM 中的文件目录 |
| setwol |
启用/禁用 WOL |
| setpxe |
启用/禁用 PXE |
| setasf |
启用/禁用 ASF |
| setipmi | 启用/禁用 IPMI |
| setmba |
启用多引导代理 |
| nictest |
运行一组网络接口卡测试 |
| exit |
退出程序 |
| device |
显示或切换设备 |
| version |
显示程序版本 |
| help |
显示可用命令 |
| dos |
执行 DOS 命令 |
| reset |
使芯片复位 |
| cls |
清屏 |
| asfprg |
将 ASF 固件编程到 NVRAM 中 |
描述:从文件升级 PXE 或引导代码。
语法:upgfrm -options
此命令从文件读取代码并将代码编程到 PXE 或引导区域中。必须指定编程目标(pxe 或 boot)和文件名这两个参数。
| 选项 |
操作 |
|---|---|
| f string | 输入文件 |
|
p |
升级 PXE 代码 |
|
b |
升级引导代码 |
|
d |
不执行设备检查 |
描述:显示 NVRAM 中的文件目录。
示例:
Entry Type SRAM Addr EEP Offset Length Execute Version
----- ------------ --------- ---------- -------- ------- -------
BootCode 08003000 00000200 000011B0 CPUA (2) 5705-v3.16
0 PXE 00010000 000013B0 0000C854 NO 7.0.1
1 ASF CFG 00000000 0001027C 000001D4 NO ASFIMPIc V2.15
2 ASF CPUB C0034000 00010450 0002654 NO ASFIMPIc V2.15
3 ASF CPUA 08000000 00012AA4 000035b4 NO ASFIMPIc V2.15
4 INIT C0034000 00016058 00001A94 CPUB ASFIMPIc V2.15
描述:启用/禁用 Wake on LAN。
语法:setwol -options
|
选项 |
操作 |
|---|---|
e |
启用 WOL |
d |
禁用 WOL |
描述:启用/禁用 PXE 并设置 PXE 速度。
语法:setpxe -options
| 选项 |
操作 |
|---|---|
|
e |
启用 PXE |
|
d |
禁用 PXE |
|
s DEC |
指定 PXE 速度(默认值 = 0) |
| 速度: 0 = 自动 |
描述:启用/禁用 Alert Standard Format (ASF)。
语法:setasf -options
| 选项 |
操作 |
|---|---|
|
e |
启用 ASF |
|
d |
禁用 ASF |
描述:启用/禁用智能平台管理接口 (IPMI)。
语法:setipmi -options
| 选项 | 操作 |
|---|---|
| e |
启用 IPMI |
| d |
禁用 IPMI |
描述:启用/禁用 Multiple Boot Agent (MBA)。
语法:setmba -options
描述:运行一组网络接口控制器 (NIC) 测试。
语法:nictest [test list]
示例:有关测试描述的详情,请参见诊断测试。
|
abcd |
运行所有测试 | |
|
b |
运行 b 组中的所有测试 | |
|
a3b1 |
仅运行测试 a3 和 b1 | |
|
a124b2 |
运行测试 a1、a2、a4 和 b2 |
如果未键入测试列表,则会使用 diagcfg 设置。
| 选项 |
操作 |
|---|---|
|
-n <DEC> |
迭代 |
|
-e |
同时运行 NVRAM 验证 |
描述:退出 CLI 模式。
语法:exit
示例:57udiag exit
描述:显示或切换设备。
语法:device -options
| 选项 |
操作 |
|---|---|
|
n [HEX] |
设备号(默认值 = 00000000) |
|
r |
删除所有当前设备并重新扫描可用设备。 |
|
s |
默认模式(不显示设备) |
描述:显示软件版本。
语法:version
示例:
C:\>b57udiag -version
Copyright (c) 2000, 2001, 2002, 2003 Broadcom Corporation, all rights reserved
Broadcom Gigabit Ethernet Controller User Diagnostic 7.0 (03-9-14)
描述:显示可用帮助命令。
语法:help
示例:
C:\>b57udiag -help
Copyright (c) 2000, 2001, 2002, 2003 Broadcom Corporation, all rights reserved
Broadcom Gigabit Ethernet Controller User Diagnostic 7.0 (03-9-14)
| 命令 |
操作 |
|---|---|
|
upgfrm |
从文件升级 PXE 或引导代码 |
|
dir |
显示 NVRAM 中的文件目录 |
|
setwol |
启用/禁用 Wake on LAN |
|
setpxe |
启用/禁用 PXE |
|
setasf |
启用/禁用 ASF |
|
setmba |
启用 Multiple Boot Agents |
|
nictest |
运行一组网络接口卡测试 |
|
exit |
退出程序 |
|
device |
显示或切换设备 |
|
version |
显示程序版本 |
|
help |
显示可用命令 |
|
dos |
执行 DOS 命令 |
|
reset |
使芯片复位 |
|
cls |
清屏 |
| asfprg |
将 ASF 固件编程到 NVRAM 中 |
描述:执行 DOS 命令。
语法:dos
如果未键入参数,则会进入 DOS 命令解释程序。
描述:使芯片复位。
语法:reset -options
| 选项 |
操作 |
|---|---|
|
c |
模拟冷复位 |
|
w |
等待固件签名 |
|
t |
显示从复位到固件倒置签名的时间 |
描述:清屏。
语法:cls
描述:将 ASF 固件编程到 NVRAM 中
语法:asfprg
BCM5702/5703/5704 设备的默认文件名为 Asfeinit.bin、Asfecpua.bin 和 Asfecpub.bin。BCM5705 设备的默认文件名为 Asfe5ini.bin、Asfe5cpa.bin 和 Asfe5cpb.bin。这些文件必须与 B57diag 在相同的目录中。exe 文件。可以通过参数覆盖这些文件。
| 选项 |
操作 |
|---|---|
| v <HEX> |
冗余级别 (0,1,2) (def=00000001) |
诊断测试分为 4 组:寄存器测试、存储器测试、杂项测试和数据测试。它们分别被指定为 A 组、B 组、C 组和 D 组。
命令:regtest -i
功能:此测试使用间接寻址方法将数据的增量写入 MAC 散列寄存器表,然后重新读取数据以进行验证。递增测试数据,执行 100 次存储器读取/写入操作。
默认值:启用
命令:regtest
功能:配置内容中指定的每个寄存器定义只读位和读/写位。此测试将 0 和 1 写入测试位,以确保只读位不变,而读/写位相应地变化。
默认值:启用
默认:寄存器表
此测试尝试读取寄存器配置文件 (Ctrlreg.txt) 以获取寄存器定义。如果该文件不存在,将使用默认寄存器偏移和屏蔽位。
|
偏移 |
只读屏蔽 |
读写屏蔽 |
|---|---|---|
|
0x00000400 |
0x00000000 |
0x007FFF8C |
|
0x00000404 |
0x03800107 |
0x00000000 |
命令:intrtest
功能:此测试验证中断功能。它启用中断并等待 500 ms,等待中断发生,如果不能产生中断则报告错误。
默认值:启用
命令:bist
功能:硬件内置自测 (BIST)。此测试启动 BIST 并等待硬件返回测试结果。
默认值:由于可能出现间歇性故障,当前在默认情况下禁用此测试。
命令:pcicfg
功能:此测试验证 PCI 配置寄存器的存取完整性。
命令:memtest -s
功能:此测试对板载高速暂存区 SRAM 进行测试。执行以下测试:
数据模式测试:此测试将测试数据写入 SRAM 并重新读取,以确保数据正确。使用的测试数据为 0x00000000、0xFFFFFFFF、0xAA55AA55 和 0x55AA55AA。
交替数据模式测试:此测试将测试数据写入 SRAM,将测试数据的补码写入下一个地址,然后重新读取这两个数据,以确保数据正确。测试后,程序将多次重新读取数据以确保数据仍然正确。使用的测试数据为 0x00000000、0xFFFFFFFF、0xAA55AA55 和 0x55AA55AA。
地址测试:此测试将唯一数据增量写入每个地址并重新读取,以确保数据正确。将唯一数据填入整个地址后,程序将再次重新读取数据,以确保数据仍然正确。
Walking One 位测试: 对于每个地址,写入第一个数据并重新读取以进行测试。然后将数据左移一位,数据变成第二个数据并重复执行相同测试。重复执行测试 32 次,直到测试位被移出测试地址时为止。对整个测试区域重复执行相同测试。
伪随机数据测试: 使用预先计算的伪随机数据集将唯一数据写入每个测试 RAM。通过测试后,程序将多次重新读取数据以确保数据仍然正确。
默认值: 启用
命令: memtest -b
功能: 此测试对缓冲区描述符 (BD) SRAM 进行测试。此测试的执行方式与 B1 中所述的“高速暂存区测试”的执行方式相同。
默认值:启用
命令:memtest -d
功能: 此测试通过执行 B1 测试中所述的“高速暂存区测试”对直接存储器存取 (DMA) SRAM 进行测试。
默认值:启用
命令:memtest -m
功能: 此测试通过执行 B1 测试中所述的“高速暂存区测试”对存储器存取缓冲器 (MBUF) SRAM 进行测试。
默认值:启用
命令:memtest -x
功能:此测试使用 8 种数据测试模式。此测试使用 0x1000 大小的数据缓冲区。在执行每种模式测试之前,缓冲区被初始化并填入测试模式。然后执行从主机缓冲区到控制器 MBUF 存储器的发送 DMA(大小为 0x1000)。此测试根据主机存储器验证控制器 MBUF 存储器中的数据完整性,并对整个 MBUF 缓冲区重复执行 DMA。然后,测试执行从控制器到主机的接收 DMA 。每次执行接收 DMA 之前,0x1000 字节测试缓冲区清零。测试验证数据完整性之后,对整个 MBUF SRAM 范围重复执行测试。8 种测试模式如下所述。
|
测试模式 |
描述 |
|---|---|
|
16 00 和 16 FF |
在整个主机 DMA 缓冲区中填入 16 字节的 00,然后填入 16 字节的 FF。 |
|
16 FF 和 16 00 |
在整个主机 DMA 缓冲区中填入 16 字节的 FF,然后填入 16 字节的 00。 |
|
32 00 和 32 FF |
在整个主机 DMA 缓冲区中填入 32 字节的 00,然后填入 32 字节的 FF。 |
|
32 FF 和 32 00 |
在整个主机 DMA 缓冲区中填入 32 字节的 FF,然后填入 32 字节的 00。 |
|
00000000 |
在整个主机 DMA 缓冲区中全部填入 00。 |
|
FFFFFFFF |
在整个主机 DMA 缓冲区中全部填入 FF。 |
|
AA55AA55 |
在整个主机 DMA 缓冲区中填入数据 0xAA55AA55。 |
|
55AA55AA |
在整个主机 DMA 缓冲区中填入数据 0x55AA55AA。 |
默认值:启用
命令:memtest -e
功能:此测试通过执行 B1 测试中所述的“高速暂存区测试”对外部 SRAM 进行测试。
默认值:禁用
命令:setest
功能:电可擦除可编程只读存储器 (EEPROM) 测试中使用递增测试数据。此测试将测试数据填入测试区域并重新读取数据以验证内容。然后,此测试将 0 填入测试区域以清除存储器。
默认值:启用
命令:cputest
功能:此测试打开 Cpu.bin 文件。如果该文件存在并且内容正确,此测试将代码加载到接收 CPU 和发送 CPU 中并验证 CPU 执行。
默认值:启用
命令:dmatest
功能:此测试对高优先级直接存储器存储 (DMA) 和低优先级 DMA 进行测试。此测试将数据从主机存储器移至控制器 SRAM 并验证数据。然后将数据重新移至主机存储器再次验证数据。
默认值:启用
命令:miitest
功能:独立于介质的接口 (MII) 测试功能与 A2 的功能相同。控制寄存器测试。配置内容中指定的每个寄存器定义只读位和读/写位。此测试将 0 和 1 写入测试位,以确保只读位不变,而读/写位变化。
默认值:启用测试。
默认寄存器表
此测试尝试读取寄存器配置文件 (Miireg.txt) 以获取寄存器定义。如果该文件不存在,则使用下表:
| 偏移 | 只读屏蔽 | 读写屏蔽 |
|---|---|---|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0x1E |
0x0000 |
0xFFFF |
|
0x1F |
0x0000 |
0xFFFF |
命令:vpdtest
功能:执行测试之前,VPD 测试首先保存重要产品数据 (VPD) 存储器中的内容。然后将 5 种测试数据模式(0xFF、0xAA、0x55、递增数据或递减数据)中的一种写入 VPD 存储器。默认情况下,使用递增数据模式。此测试对整个测试区域写入并重新读取数据,然后恢复 VPD 存储器的原始内容。
默认值:禁用
命令:asftest
功能:
复位测试: 此测试设置“复位”位并轮询自清除位。此测试验证寄存器的复位值。
事件映射测试: 此测试设置 SMB_ATTN 位。通过更改 ASF_ATTN_LOC 位,此测试验证 TX_CPU 或 RX_CPU 事件位中的映射位。
计数器测试
命令:romtest
功能:此测试会对启用、禁用和存取设备上的扩展只读存储器 (ROM) 的能力进行测试。
命令:pkttest -m
功能:此测试是一种内部回送数据发送/接收测试。它将媒体存取控制 (MAC) 初始化为回送模式并发送 100 个数据包。数据应回送至接收信道并由接收例程接收,从而验证数据完整性。除非启用 Gigabit Ethernet,否则此测试使用 100-Mbit/s 数据率。
默认值:启用
命令:pkttest -p
功能:此测试与 MAC 回送测试 (D1) 相同,所不同的是数据通过物理层 (PHY) 设备送回。除非启用 Gigabit Ethernet,否则此测试使用 100-Mbit/s 数据率。
默认值:启用
命令:pkttest -e
功能:此测试是一种外部回送测试。从受测试单元 (UUT) 的角度,未配置回送模式。数据需要由 RJ-45 回送连接器送回。除非启用 Gigabit Ethernet,否则此测试使用 100-Mbit/s 数据率。
默认值:禁用
命令:None
功能:此测试会对自动轮询和 PHY 中断能力进行测试。这些是 PHY 的功能。
默认值:启用
命令:msitest
功能:此测试会对设备的消息信号中断 (MSI) 能力进行测试。有关 MSI 定义,请参考 PCI Specification 版本 2.2。
默认值:禁用
/* 0 */ "通过", /* 1 */ "获得 0x%08X,在 0x%08X 处。预期为 0x%08X", /* 2 */ "在芯片运行时无法执行任务", /* 3 */ "无效的网卡设备", /* 4 */ "在偏移 0x%X 处写入 0 之后,只读位 %s 发生变化", /* 5 */ "在偏移 0x%X 处写入 1 之后,只读位 %s 发生变化", /* 6 */ "在偏移 0x%X 处写入 0 之后,读写位 %s 未被清除", /* 7 */ "在偏移 0x%X 处写入 1 之后,读写位 %s 未被清除", /* 8 */ "BIST 失败", /* 9 */ "无法生成中断", /* 10 */ "被用户中止", /* 11 */ "发送 DMA:获得 0x%08X,在 0x%08X 处。预期为 0x%08X", /* 12 */ "接收 DMA:获得 0x%08X,在 0x%08X 处。预期为 0x%08X", /* 13 */ "发送 DMA 失败", /* 14 */ "接收 DMA 失败", /* 15 */ "数据错误,获得 0x%08X,在 0x%08X 处,预期为 0x%08X", /* 16 */ "第二次读错误,获得 0x%08X,在 0x%08X 处,预期为 0x%08X", /* 17 */ "在 0x%04X 处无法写入 EEPROM", /* 18 */ "在 0x%04X 处无法读取 EEPROM", /* 19 */ "EEPROM 数据错误,获得 0x08X,在 0x04X 处,预期为 0x%08X", /* 20 */ "无法打开文件 %s", /* 21 */ "无效的 CPU 映像文件 %s", /* 22 */ "无效的 CPU 映像大小 %d", /* 23 */ "无法分配内存", /* 24 */ "无法使 CPU 复位", /* 25 */ "无法释放 CPU", /* 26 */ "CPU 测试失败", /* 27 */ "无效的测试地址范围\n有效的网卡地址为 0x%08X-0x%08X,不包括 0x%08X-0x%08X", /* 28 */ "DMA:获得 0x%08X,在 0x%08X。预期为 0x%08X", /* 29 */ "不支持的 PhyId %04X:%04X", /* 30 */ "文件中指定的寄存器太多,最大数量为 %d", /* 31 */ "无法写入 VPD 存储器", /* 32 */ "VPD 数据错误,获得 %08X,在 0x04X 处,预期为 %08X", /* 33 */ "无良好链路!检查回送插件", /* 34 */ "无法发送数据包!", /* 35 */ "请求发送 %d。仅发送 %d", /* 36 */ "预期收到 %d 个数据包。仅收到 %d 个正常数据包\n收到 %d 个未知数据包。\n收到 %d 个坏数据包。", /* 37 */ "%c%d 是无效测试", /* 38 */ "EEPROM 校验和错误", /* 39 */ "读取 WOL/PXE 时出错", /* 40 */ "写入 WOL/PXE 时出错", /* 41 */ "未检测到外部存储器", /* 42 */ "DMA 缓冲区 %04X 很大,大小必须小于 %04X", /* 43 */ "文件大小 %d 太大,最大值为 %d", /* 44 */ "无效的 %s", /* 45 */ "无法将 0x%x 写入 0x%x", /* 46 */ "", /* 47 */ "不明确的命令", /* 48 */ "未知命令", /* 49 */ "无效选项", /* 50 */ "在芯片运行时无法执行任务。(需要驱动程序)", /* 51 */ "无法打开寄存器定义文件,或者内容错误", /* 52 */ "ASF“复位”位未自清除", /* 53 */ "ATTN_LOC %d 无法映射至 %cX CPU 事件位 %d", /* 54 */ "复位后 %s 寄存器未清零", /* 55 */ "无法启动 poll_ASF 定时器", /* 56 */ "确认后 poll_ASF 位未复位", /* 57 */ "时间戳计数器不计数", /* 58 */ "%s 定时器不工作", /* 59 */ "无法清除 %cx CPU 事件寄存器中的位 %s", /* 60 */ "无效的 "EEPROM_FILENAME" 文件大小,预期大小为 %d,但只能读取 %d 个字节", /* 61 */ "%s 中的 magic 值无效,预期为 %08x,但找到 %08x", /* 62 */ "无效的制造商修订版,预期为 %c,但找到 %c", /* 63 */ "无效的引导代码修订版,预期为 %d.%d,但找到 %d.%d", /* 64 */ "无法写入 EEPROM", /* 65 */ "无法从 EEPROM 中读取", /* 66 */ "无效的校验和", /* 67 */ "无效的 Magic 值", /* 68 */ "无效的 MAC 地址,预期为 %02X-%02X-%02X-%02X-%02X-%02X", /* 69 */ "插槽错误,预期在位置 %02X:%02X:00 处找到 UUT", /* 70 */ "测试块 0x%08x-0x%08x 时,相邻存储器损坏\n获得 0x%08x,在地址 0x%08x 处。预期为 0x%08x", /* 71 */ "此芯片不支持该功能", /* 72 */ "收到数据包但出现 CRC 错误", /* 73 */ "MII 错误位设置:%04x", /* 74 */ "CPU 不能正确地初始化 MAC 地址寄存器", /* 75 */ "无效的固件文件格式", /* 76 */ "使发送 CPU 复位失败", /* 77 */ "使接收 CPU 复位失败", /* 78 */ "无效的 MAC 地址", /* 79 */ "Mac 地址寄存器未正确初始化", /* 80 */ "EEPROM Bootstrap 校验和错误",
请阅读所有限制和免责声明。