回到內容

DOS 診斷程式使用手冊

本章提供以下資訊:

簡介

先決條件

功能清單

功能說明

診斷程式測試

錯誤訊息


簡介

本文件所提供的資訊將說明如何在 Broadcom NetXtreme™ Ethernet Controller 上,使用 DOS 診斷程式公用程式。

可由 DOS 提示或指令行介面 (CLI) 提示,輸入所有的指令。若在沒有參數下執行程式,會進入 CLI 模式。否則,系統會將相關參數當成要執行的指令來使用,完成後就會離開程式。

在 CLI 模式下,假設系統內有三個裝置,而各裝置的資訊一律都在每個提示之前顯示,如下所示:

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 或開機碼

dir

顯示 NVRAM 中的檔案目錄

setwol

啟用 / 停用 WOL

setpxe

啟用 / 停用 PXE

setasf

啟用 / 停用 ASF

setmba

啟動 Multiple Boot Agent

nictest

執行一組網路卡測試

exit

結束程式

device

顯示或切換裝置

version

顯示程式版本

help

顯示可用的指令

dos

執行 DOS 指令

reset

重設晶片

cls

清除畫面

asfprg

為 NVRA 設計 ASF 韌體程式


回到頁首


功能說明

upgfrm

指令: upgfrm

說明:從檔案更新 PXE 或開機碼。

語法:upgfrm [-options]

這個指令會從檔案讀取開機碼,並將其設計為 pxe 或開機區域的程式。必須指定程式設計目標 pxe 或 boot 和檔案名稱這兩個參數。

選項:

 

-f <string>

輸入檔案

-p

升級 PXE 碼

-b

升級開機碼

-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 [ -options]

      選項:

       

      -e

      啟用 WOL

      -d

      停用 WOL


setpxe

指令: set pxe

說明:啟用 / 停用 PXE 和設定 PXE 速度。

語法:setpxe [ -options]

選項:

 

-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 [-options]

選項:

 

-e

啟用 ASF

-d

停用 ASF


setmba

指令: setmba

說明:啟用 / 停用 Multiple Boot Agent。

語法:setmba [ -options]

選項:

 

-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

說明:執行一組網路卡測試。

語法:nictest [test list]

範例:如果需要測試說明的詳細資料,請參閱診斷程式測試

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 [ -options]

選項:

 

-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 或開機碼

      dir

      顯示 NVRAM 中的檔案目錄

      setwol

      啟用 / 停用 WOL

      setpxe

      啟用 / 停用 PXE

      setasf

      啟用 / 停用 ASF

      nictest

      執行一組網路卡測試

      exit

      結束程式

      device

      顯示或切換裝置

      version

      顯示程式版本

      help

      顯示可用的指令

      dos

      執行 DOS 指令

      reset

      重設晶片

      cls

      清除畫面

      asfprg

      為 NVRA 設計 ASF 韌體程式


dos

指令: dos

說明:執行 DOS 指令。

語法:dos <dos command>

如果沒有輸入參數,則會進入 DOS shell。

reset

指令: reset

說明:重設晶片。

語法:reset

選項:

 

-c
模擬冷開機。
-w
等候韌體識別
-t
顯示由重新設定至韌體轉換識別的時間

cls

指令: cls

說明:清除畫面。

語法:cls

asfprg

指令: asfprg

說明:為 NVRAM 設計 asf 韌體程式

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

預設檔案名稱為 asfinit.bin、asfcpua.bin 和 asfcpub.bin,都可由參數覆寫。

選項:

 

-v<HEX>

Verbose leverl (0、1、2) (預設值=00000001)

 

回到頁首


診斷程式測試

測試分為四大組別:暫存器測試、記憶體測試、雜項測試及資料測試。並分別以 A、B、C 及 D 來分組。

測試名稱

A 組

      A1.間接式暫存器測試
      A2.控制暫存器測試
      A3.中斷測試
      A4.BIST
      A5.PCI Cfg 暫存器測試

B 組

      B1.封包臨時組合及拆解測試
      B2.BD SRAM 測試
      B3.DMA SRAM 測試
      B4.MBUF SRAM 測試
      B5.MBUF SRAM 透過 DMA 的測試
      B6.外部 SRAM 測試

C 組

      C1.EEPROM 測試
      C2.CPU 測試
      C3.DMA 測試
      C4.MII 測試
      C5.VPD 測試
      C6.ASF 測試
      C7.ROM 擴充測試

D 組

      D1.Mac 迴圈測試
      D2.實體迴圈測試
      D3.RJ-45 迴圈測試
      D4.MII 雜項測試
      D5.MSI 測試
 

測試說明

A1.間接式暫存器測試

    指令: regtest -i

    功能:採用間接式定址法,將增加的資料寫入 MAC 雜湊暫存器 (hash register) 表中,並再讀取這些資料,以作驗證。增加測試資料時,已進行了 100 次記憶體的讀取 / 寫入動作。

    預設:啟用測試

A2.控制暫存器測試

    指令: regtest

    功能:組態內容中所指定的每個暫存器,都會定義唯讀位元及讀取 / 寫入的位元。本測試會將零及壹值寫入測試位元中,以確保不會變動唯讀位元,而讀取 / 寫入位元能作出相應的變動。

    預設:啟用測試。

    預設的暫存器表

    本測試會嘗試讀取暫存器的組態檔 ctrlreg.txt,以便暫存器進行定義的工作。若檔案不存在,那麼就會採用預設的暫存器位移遮罩位元。

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

A3.中斷測試

指令: intrtest

功能:本測試可檢查中斷功能。這會啟用中斷,並等待 500 ms 發生中斷,如果沒有產生中斷會回報一個錯誤訊息。

預設:啟用

A4.BIST

    指令: bist

    功能:硬體內建自我測試 (BIST) 功能。本測試會啟動 BIST,並等待由硬體傳回的測試結果。

    預設:由於間歇性的失敗,本測試目前是預設為停用狀態。

A5.PCI 組態暫存器測試

    指令: pcicfg

    功能:本測試檢查 PCI 組態暫存器的存取完整性。

B1.封包臨時組合及拆解測試

指令: memtest -s

功能:本測試可檢驗內建 SRAM 的封包臨時組合及拆解功能。會進行以下的測試:

預設:啟用

B2.BD SRAM 測試

指令:memtest -b

功能: 本測試可測驗 BD SRAM。本測試的執行方式與 B1 描述的封包臨時組合及拆解測試相同。

預設:啟用

B3.DMA SRAM 測試

指令: memtest -d

功能:本測試是以 B1 描述的封包臨時組合及拆解測試的方式,來檢驗 DMA SRAM。

預設:啟用

B4.MBUF SRAM 測試

指令: memtest -m

功能:本測試是以 B1 描述的封包臨時組合及拆解測試的方式,來檢驗 DMA SRAM。

預設:啟用

B5.MBUF SRAM 透過 DMA 測試

指令: memtest -x

功能:使用八種資料測試型態。本測試會使用一個 0x1000 大小的資料緩衝器。進行每種型態的測試前,會先初始化緩衝器,並將測試型態填入緩衝器。然後就會進行 0x1000 大小的傳送動作,將 DMA 由主機緩衝器傳送至網路卡的 MBUF 記憶體。依據主機記憶體來檢驗 MBUF 內的資料完整性,然後為整個 MBUF 緩衝器重覆該 DMA。接著就會從網路卡接收 DMA 至主機。每次接收 DMA 前,都會先將 0x1000 位元組的測試緩衝器歸零。檢查資料的完整性後,並為整個 MBUF SRAM 範圍而重覆本測試。測試型態說明如下。

測試型態

說明

16 00 與 16 FF

先以 00 的 16 位元組,再以 FF 的 16 位元組來填滿整個主機的 DMA 緩衝器。

16 FF 與 16 0

先以 00 的 16 位元,再以 FF 的 16 位元來填滿整個主機的 DMA 緩衝器。

32 00 與 32 FF

先以 00 的 32 位元組,再以 FF 的 32 位元組來填滿整個主機的 DMA 緩衝器。

32 00 與 32 FF

先以 FF 的 32 位元組,然後以 00 的 32 位元組填滿整個主機的 DMA 緩衝器。

00000000

完全以零來填滿整個主機的 DMA 緩衝器。

FFFFFFFF

完全以 FF 來填滿整個主機的 DMA 緩衝器。

AA55AA55

以 0xAA55AA55 來填滿整個主機的 DMA 緩衝器。

55AA55AA

以 0xAA55AA55 來填滿整個主機的 DMA 緩衝器。

預設:啟用

B6.外部 SRAM 測試

指令: memtest -e

功能:本測試是以 B1 描述的封包臨時組合及拆解測試的方式,來檢驗 DMA SRAM。

預設:停用

C1.EEPROM 測試

指令: setest

功能:EEPROM 測試是採用增量測試的資料。本測試會將測試資料填入至測試範圍,然後再讀取這些資料,以檢驗其內容。測試後,資料會填入零值,以便清除記憶體。

預設:啟用

C2.CPU 測試

指令: cputest

功能:本測試會開啟 cpu.bin 檔案。如果檔案存在且內容為正確,會將密碼載入 Rx 與 Tx CPU 並確認 CPU 的執行。

預設:啟用

C3.DMA 測試

指令: dmatest

功能:同時測試擁有高低優先權的 DMA。測試時,資料會由主機記憶體傳送至網路卡的 SRAM,並對資料進行檢驗。然後資料會送回主機記憶體,並再次對資料進行檢驗。

預設:啟用

C4.MII 測試

指令: miitest

功能:本功能與 A2 中的「控制暫存器測試」相同。組態內容中所指定的每個暫存器,都會定義唯讀位元及讀取 / 寫入的位元。本測試會將零及壹值寫入測試位元中,以確保不會變動唯讀位元值,而讀取 / 寫入位元能作出相應的變動。

預設:啟用測試。

預設的暫存器表

本測試會嘗試讀取暫存器的組態檔 miireg.txt,以便暫存器進行定義的工作。若該檔案不存在,便會使用下表:

位移		R/O 遮罩	R/W 遮罩
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 測試

指令: vpdtest

功能:進行測試前,會先儲存 VPD 的內容。儲存好後,就會將五種型態測試資料 (0xff、0xaa、0x55、增量資料或減量資料) 之一種寫入 VPD 記憶體內。預設是使用增量資料型態。整個測試範圍的資料會寫入及再讀取,然後恢復原來的內容。

預設:停用

C6.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 次的計數。檢查是否在數完 50 次時已設定好 PL_TO。繼續計數,直到進行至 200 次為止。檢查是否已設定好所有的 TO 位元,並檢查「時間戳記計數器」是否已增量。

C7.ROM 擴充測試

指令: romtest

功能:本功能測試啟用 / 停用 /存取裝置上的擴充 ROM 的功能。

D1.Mac 迴圈測試

指令: pkttest -m

功能:本測試是針對內部迴圈資料傳送 / 接收的功能。本測試會將 MAC 初始化,並將其轉為內部迴圈模式,然後傳送 100 個封包。接收的例行程序會引導相關資料返回接收通道,並檢查資料的完整性。除非啟用 Gigabit,否則本測試會使用 100 megabit 的速率。

預設:啟用

D2.實體迴圈測試

指令: pkttest -p

功能:此測試和 D1 描述的 Mac 迴圈測試相同,但是這項測試將透過實體層裝置回傳資料。除非啟用 Gigabit,否則本測試會使用 100 megabit 的速率。

預設:啟用

D3.RJ-45 迴圈測試

指令: pkttest -e

功能: 此為外部迴圈測試。以 UUT 的觀點而言,不會設定迴圈模式。RJ45 迴圈接頭預期會引導相關資料返回。除非啟用 Gigabit,否則本測試會使用 100 megabit 的速率。

預設:停用

D4.MII 雜項測試

指令:

功能:本功能測試自動輪詢和實體中斷功能。這些是實體 (PHY) 的功能。

預設:啟用

D5.MSI 測試

指令: msitest

功能:本功能測試設備的「訊息訊號中斷」能力。請參照 PCI 規格 2.2 版的 MSI 定義。

預設:停用

 

回到頁首


錯誤訊息


/* 0 */ 	"通過",
/* 1 */ 	"已取得 0x%08X @ 0x%08X。預期 0x%08x",
/* 2 */ 	"晶片執行時無法執行工作",
/* 3 */ 	"無效的網路卡裝置",
/* 4 */ 	"在位移為 0x%X 的條件下寫入零值後,變更唯讀位元 %s",
/* 5 */ 	"在位移為 0x%X 的條件下寫入壹值後,變更唯讀位元 %s",
/* 6 */ 	"在位移為 0x%X 的條件下寫入零值後,無法清除讀取 / 寫入位元 %s",
/* 7 */ 	"在位移為 0x%X 的條件下寫入零值後,無法設定讀取 / 寫入位元 %s",
/* 8 */ 	"BIST 失敗",
/* 9 */ 	"無法產生中斷功能",
/* 10 */ 	"使用者中止",
/* 11 */ 	"Tx DMA:已取得 0x%08x @ 0x%08x。預期 0x%08x",
/* 12 */ 	"Rx DMA:已取得 0x%08X @ 0x%08X。預期 0x%08x",
/* 13 */ 	"Tx DMA 失敗",
/* 14 */ 	"Rx 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 資料錯誤,已在 0x04X 取得 0x08X,預期 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 */ 	"無法 Tx 封包!",
/* 35 */ 	"已要求 Tx %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 value),預期 %08x,但找到 %08x",
/* 62 */ 	"無效的生產修訂,預期 %c,但找到 %c",
/* 63 */ 	"無效的開機代碼修訂,預期 %d. %d,但找到 %d.%d",
/* 64 */ 	"無法寫入 EEPROM",
/* 65 */ 	"無法讀取 EEPROM",
/* 66 */ 	"無效的總和檢查",
/* 67 */ 	"無效的神奇值",
/* 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 */ 	"重設 TX CPU 失敗",
/* 77 */ 	"重設 RX CPU 失敗",
/* 78 */ 	"無效的 MAC 位址",
/* 79 */ 	"未正確初始化 MAC 位址暫存器",
/* 80 */ 	"EEPROM 啟動載入程式總和檢查錯誤",

回到頁首

回到內容


請閱讀所有的限制與免責聲明