Questo capitolo fornisce le seguenti informazioni:
Questo documento fornisce le informazioni su come utilizzare il programma di utilità di diagnostica per DOS su Broadcom NetXtreme Ethernet Controller.
È possibile immettere tutti i comandi dal prompt di DOS o CLI (Command Line Interface). Quando un programma viene eseguito senza parametri, viene inserita la modalità CLI. In caso contrario, il parametro verrà usato come comando che deve essere eseguito e al completamento esce dal programma.
In modalità CLI, supponendo che nel sistema vi siano tre periferiche, tutte le informazioni sulle periferiche vengono visualizzate prima di ogni prompt, come illustrato nel seguente esempio:
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
|
OS: |
DOS 6.22 |
|
Software: |
b57udiag.exe |
Per accedere all'Elenco delle funzioni, immettere il comando "b57udiag -cmd".
cmd
Funzioni
Upgrade PXE o Boot Code (codice di avvio) da un file
Visualizza la directory in NVRAM
Abilita/Disabilita WOL
Abilita/Disabilita PXE
Abilita/Disabilita ASF
Abilita MBA (Multiple Boot Agent)
Esegue una serie di test sulla scheda NIC
Esce dal programma
Mostra o alterna la periferica
Visualizza la versione del programma
Visualizza i comandi disponibili
Esegue un comando DOS
Ripristina il chip
Elimina le informazioni visualizzate
Programma il firmware ASF nella NVRAM
upgfrm
cmd: upgfrm
Descrizione: upgrade di PXE o Boot Code (codice di avvio) da un file.
Sintassi: upgfrm [-opzioni]
Questo comando legge il codice da un file e lo programma nell'area di avvio o pxe. Entrambi i parametri, il target di programmazione "pxe" o "boot" e il nome del file, devono essere specificati.
Opzioni:
-f <stringa>
File di input
-p
Upgrade codice PXE
-b
Upgrade Boot Code (codice di avvio)
-d
Non eseguire verifica periferica
dircmd: dir
Descrizione: visualizza la directory in NVRAM.
Esempio:
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.7setwol
cmd: set wol
Descrizione: abilita/disabilita WOL.
Sintassi: setwol [ -opzioni]
|
Opzioni: |
|
|
-e |
Abilita WOL |
|
-d |
Disabilita WOL |
setpxe
cmd: set pxe
Descrizione: abilita/disabilita PXE e imposta velocità PXE.
Sintassi: setpxe [ -opzioni]
Opzioni:
-e
Abilita PXE
-d
Disabilita PXE
-s<DEC>
Specifica velocità PXE (predefinito = 0)
Velocità: 0 = auto
1 = 10 HD
2 = 10 FD
3 = 100 HD
4 = 100 FD
setasf
cmd: setasf
Descrizione: abilita/disabilita ASF.
Sintassi: setasf [-opzioni]
Opzioni:
-e
Abilita ASF
-d
Disabilita ASF
setmba
cmd: setmba
Descrizione: abilita/disabilita MBA (Multiple Boot Agent).
Sintassi: setmba [ -opzioni]
Opzioni:
-e<DEC>
Specifica protocollo MBA
Protocollo: 0 = pxe
1 = rpl
2 = bootp-d
Disabilita MBA
-s<DEC>
Specifica velocità MBA (predefinito = 0)
Velocità: 0 = auto
1 = 10 HD
2 = 10 FD
3 = 100 HD
4 = 100 FD
nictest
cmd: nictest
Descrizione: esegue una serie di test sulla scheda NIC.
Sintassi: nictest [elenco test]
Esempio: Per una descrizione più dettagliata dei test, vedere Test diagnostici.
abcd
Esegue tutti i test
b
Esegue tutti i test nel gruppo b
a3 b1
Esegue solo i test a3 e b1
a124b2
Esegue i test a1, a2, a4 e b2
Se non viene inserito alcun elenco di test, viene utilizzata l'impostazione diagcfg.
Opzioni:
-n <DEC>
Iterazione
-e
Esegue anche la verifica NVRAM
exit
cmd: exit
Descrizione: esce dalla modalità CLI.
Sintassi: exit
Esempio:
b57udiag> exit
cmd: device
Descrizione: mostra o cambia la periferica.
Sintassi: device [ -opzioni]
|
Opzioni: |
|
|
-n <HEX>
|
Numero periferica (predefinito = 00000000) |
|
-r
|
Elimina tutte le periferiche correnti e rianalizza le periferiche disponibili. |
|
-s
|
Modalità silenziosa: non visualizza le periferiche |
version
cmd: version
Descrizione: visualizza la versione del software.
Sintassi: version
Esempio:
C:\>b57udiag –version
Copyright (c) 2000, 2001 Broadcom Corporation, all rights reserved
Broadcom NetXtreme User Diagnostic 3.09 (06/14/02)
help
cmd: help
Descrizione: visualizza i comandi di aiuto disponibili.
Sintassi: help
Esempio:
C:\>b57udiag –help
Copyright (c) 2000, 2001, 2002 Broadcom Corporation, all rights reserved
Broadcom NetXtreme User Diagnostic 3.09 (06/14/02)
|
cmd |
Funzioni |
|
Upgrade PXE o Boot Code (codice di avvio) da un file |
|
|
Visualizza la directory in NVRAM |
|
|
Abilita/Disabilita WOL |
|
|
Abilita/Disabilita PXE |
|
|
Abilita/Disabilita ASF |
|
|
Esegue una serie di test sulla scheda NIC |
|
|
Esce dal programma |
|
|
Mostra o alterna la periferica |
|
|
Visualizza la versione del programma |
|
|
Visualizza i comandi disponibili |
|
|
Esegue un comando DOS |
|
|
Ripristina il chip |
|
|
Elimina le informazioni visualizzate |
|
|
Programma il firmware ASF nella NVRAM |
dos
cmd: dos
Descrizione: esegue un comando DOS.
Sintassi: dos <dos command>
Se non viene inserito alcun parametro, viene inserita la shell di DOS.
cmd: reset
Descrizione: ripristina il chip.
Sintassi: reset
|
Opzioni: |
|
|
-c
|
Simula ripristino a freddo |
|
-w
|
Attende la firma del firmware |
|
-t
|
Visualizza l'intervallo di tempo tra il ripristino e la firma invertita del firmware |
cmd: cls
Descrizione: elimina le informazioni visualizzate.
Sintassi: cls
asfprg
cmd: asfprg
Descrizione: programma il firmware ASF nella NVRAM.
Sintassi: asfprg [init_img [rx_img [tx_img]]]
I nomi dei file predefiniti sono asfinit.bin, asfcpua.bin e asfcpub.bin, che possono essere sovrascritti dai parametri.
Opzioni:
-v<HEX> Livello di dettaglio (0,1,2) (def=00000001)
I test sono divisi in quattro gruppi: test di registro, test di memoria, test vari e test dei dati. Vengono riuniti in gruppi A, B, C e D.
Gruppo A.
A1. Test di registro indiretto
A2. Test registro di controllo
A3. Test di Interrupt
A4. BIST
A5. Test registro Cfg PCI
Gruppo B.
B1. Scratch Pad Test
B2. Test BD SRAM
B3. Test DMA SRAM
B4. Test MBUF SRAM
B5. Test MBUF SRAM mediante DMA
B6. Test SRAM esterna
Gruppo C.
Gruppo D.
A1. Test di registro indiretto
Comando: regtest -i
Funzione: utilizza il metodo dell'indirizzamento indiretto, scrive dati incrementali nella tabella del registro di hashing MAC ed esegue la rilettura dei dati per verifica. La lettura/scrittura della memoria viene effettuata 100 volte incrementando i dati del test.
Predefinito: abilitato
A2. Test registro di controllo
Comando: regtest
Funzione: ogni registro specificato nella configurazione definisce i bit di sola lettura e i bit di lettura/scrittura. Il test scrive zero e uno nei bit del test per garantire che i bit di sola lettura non vengano cambiati e che i bit di lettura/scrittura vengano cambiati di conseguenza.
Predefinito: abilitato
Tabella di registro predefinita
Il test cercherà di leggere il file di configurazione del registro ctrlreg.txt per le definizioni del registro. Se il file non esiste, verranno usati un offset di registro predefinito e bit di maschera.
Offset R/O Mask R/W Mask
0x00000400 0x00000000 0x007fff8c
0x00000404 0x03800107 0x00000000A3. Test di Interrupt
Comando: intrtest
Funzione: questo test verifica la funzionalità di interrupt. Consente un interrupt, attende per 500 ms il suo verificarsi e riporta un errore nel caso in cui non riesca a generare l'interrupt.
Predefinito: abilitato
A4. BIST
Comando: bist
Funzione: test automatico incorporato dell'hardware (BIST) Questo test inizializza il BIST (Hardware Built-In-Self-Test) e attende il risultato restituito dall'hardware.
Predefinito: a causa di errori occasionali, attualmente questo test è disabilitato per impostazione predefinita.
A5. Test registro Cfg PCI
Comando: pcicfg
Funzione: questo test verifica l'integrità di accesso dei registri di configurazione PCI.
B1. Scratch Pad Test
Comando: memtest -s
Funzione: questo test verifica la Scratch Pad SRAM sulla scheda. Vengono eseguiti i seguenti test:
Test dei modelli di dati: scrive dati di prova nella SRAM ed esegue la rilettura per verificarne la correttezza. I dati di prova utilizzati sono 0x00000000, 0xffffffff, 0xaa55aa55 e 0x55aa55aa.
Test dei modelli di dati alternativi: scrive dati di prova nella SRAM. Scrive dati di prova complementari nell'indirizzo successivo. Esegue la rilettura di entrambi i dati per verificarne la correttezza. Dopo il test, il programma rilegge i dati un'altra volta per verificare che i dati siano rimasti corretti. I dati di prova utilizzati sono 0x00000000, 0xffffffff, 0xaa55aa55 e 0x55aa55aa.
Test dell'indirizzo: scrive ogni indirizzo con dati incrementali unici. Esegue la rilettura dei dati per verificarne la correttezza. Dopo aver compilato l'indirizzo interno con i dati unici, il programma esegue nuovamente la rilettura dei dati per verificare che rimangano uguali.
Test di bit WalkingOne: per ogni indirizzo vengono scritti i dati uno, quindi viene eseguita la rilettura per verifica. Quindi sposta di un bit i dati rimasti, cosicché i dati diventano due e riesegue il test. Ripete la procedura 32 volte finché il bit del test viene spostato al di fuori dell'indirizzo del test. Lo stesso test viene ripetuto per l'intera gamma.
Test dei dati pseudo-causale: utilizza set di dati pseudo-casuali precalcolati per scrivere dati unici in ogni RAM di test. Dopo che i primi superano il test, il programma rilegge i dati un'altra volta per verificare che siano rimasti corretti.
Predefinito: abilitato
B2. Test BD SRAM
Comando: memtest -b
Funzione: questo test verifica la BD SRAM. Esegue la stessa modalità di test Scratch Pad Test descritta in B1.
Predefinito: abilitato
B3. Test DMA SRAM
Comando: memtest -d
Funzione: verifica la SRAM del DMA eseguendo il test Scratch Pad Test descritto in B1.
Predefinito: abilitato
B4. Test MBUF SRAM
Comando: memtest -m
Funzione: verifica la SRAM del DMA eseguendo il test Scratch Pad Test descritto in B1.
Predefinito: abilitato
B5. Test MBUF SRAM mediante DMA
Comando: memtest -x
Funzione: vengono utilizzati otto modelli di test di dati. Per questo test viene utilizzato un buffer dati 0x1000. Prima di ogni test dei modelli, il buffer viene inizializzato e compilato con il modello di test. Quindi esegue la trasmissione DMA 0x1000 dal buffer dell'host alla memoria MBUF della NIC. Verifica l'integrità dei dati nella MBUF rispetto alla memoria host e ripete il DMA per l'intero buffer MBUF. Quindi esegue la ricezione DMA dalla NIC all'host. Il buffer di test 0x1000 byte viene portato a zero prima di ogni ricezione DMA. Dopo la verifica dell'integrità dei dati, il test viene ripetuto per l'intera gamma MBUF SRAM. I modelli di test sono descritti di seguito.
Modello di test
Descrizione
16 00 e 16 FF
Riempie l'intero buffer DMA dell'host con 16 byte di 00 e quindi con 16 byte di FF.
16 FF e 16 0
Riempie l'intero buffer DMA dell'host con 16 byte di 00 e quindi con 16 byte di FF.
32 00 e 32 FF
Riempie l'intero buffer DMA dell'host con 32 byte di 00 e quindi con 32 byte di FF.
32 00 e 32 FF
Riempie l'intero buffer DMA dell'host con 32 byte di FF e quindi con 32 byte di 00.
00000000
Riempie l'intero buffer DMA dell'host con tutti zeri.
FFFFFFFF
Riempie l'intero buffer DMA dell'host con tutti FF.
AA55AA55
Riempie l'intero buffer DMA dell'host con dati 0xAA55AA55.
55AA55AA
Riempie l'intero buffer DMA dell'host con dati 0xAA55AA55.
Predefinito: abilitato
B6. Test SRAM esterna
Comando: memtest -e
Funzione: verifica la SRAM del DMA eseguendo il test Scratch Pad Test descritto in B1.
Predefinito: disabilitato
C1. Test EEPROM
Comando: setest
Funzione: in questo test vengono utilizzati dati di test incrementali. Compila i dati del test nella gamma di test ed esegue la rilettura per verificare il contenuto. Dopo il test, riempie la gamma dei test con zero per cancellare la memoria.
Predefinito: abilitato
C2. Test CPU
Comando: cputest
Funzione: questo test apre il file cpu.bin. Se il file esiste e il contenuto è valido, carica il codice per ricevere e trasmettere CPU e verifica l'esecuzione CPU.
Predefinito: abilitato
C3. Test DMA
Comando: dmatest
Funzione: vengono testate le priorità alta e bassa del DMA. Sposta i dati dalla memoria host alla SRAM della NIC, verifica i dati e quindi li sposta nuovamente nella memoria host per verificare i dati.
Predefinito: abilitato
C4. Test MII
Comando: miitest
Funzione: la funzione è identica al Test registro di controllo, A2. Ogni registro specificato nella configurazione definisce i bit di sola lettura e i bit di lettura/scrittura. Il test scrive zero e uno nei bit del test per garantire che i valori dei bit di sola lettura non vengano cambiati e che i bit di lettura/scrittura vengano cambiati di conseguenza.
Predefinito: abilitato
Tabella di registro predefinita
Il test cerca di leggere il file di configurazione del registro miireg.txt per le definizioni del registro. Se il file non esiste, viene utilizzata la tabella seguente:
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 0xffffC5. Test VPD
Comando: vpdtest
Funzione: salva il contenuto della VDP prima di eseguire il test. Quindi scrive uno dei cinque modelli di dati del test, 0xff, 0xaa, 0x55, dati incrementali o decrementali, nella memoria VPD. Per impostazione predefinita, viene utilizzato il modello di dati incrementali. Scrive ed esegue la rilettura dei dati per l'intera gamma del test, quindi ripristina il contenuto originale.
Predefinito: disabilitato
C6. Test ASF
Comando: asftest
Funzione: m
Impostazione bit di ripristino, polling per la cancellazione automatica. Verifica valore di ripristino dei registri.
Impostazione dei bit SMB_ATTN. Modificando i bit ASF_ATTN LOC, verifica i bit di mapping nei bit evento TX_CPU o RX_CPU.
C7. Test espansione ROM
Comando: romtest
Funzione: questa funzione verifica la capacità di abilitare/disabilitare/accedere alla ROM di espansione della periferica.
D1. Test Mac Loopback
Comando: pkttest -m
Funzione: questo è un test di trasmissione/ricezione dati di loopback interno. Inizializza il MAC in modalità loopback interno e trasmette 100 pacchetti. Il dati devono essere reinstradati al canale di ricezione e ricevuti dalla routine di ricezione, che verifica l'integrità dei dati. Per questo test viene utilizzata una velocità di 100 megabit, a meno che sia abilitata la velocità Gigabit.
Predefinito: abilitato
D2. Test Phy Loopback
Comando: pkttest -p
Funzione: questo test è uguale al Test Mac Loopback, D1, ma i dati vengono reinstradati mediante Physical Layer Device. Per questo test viene utilizzata una velocità di 100 megabit, a meno che sia abilitata la velocità Gigabit.
Predefinito: abilitato
D3. Test PHY Loopback
Comando: pkttest -e
Funzione: questo è un test di loopback esterno. Dal punto di vista UUT, non viene configurata nessuna modalità loopback. I dati vengono reinstradati dal connettore di loopback RJ-45. Per questo test viene utilizzata una velocità di 100 megabit, a meno che sia abilitata la velocità Gigabit.
Predefinito: disabilitato
D4. Test MII vari
Comando: nessuno
Funzione: questa funzione verifica le capacità di auto-polling e di phy-interrupt. Queste sono funzioni del PHY.
Predefinito: abilitato
D5. Test MSI
Comando: msitest
Funzione: questa funzione verifica le capacità di Message Signal Interrupt (MSI) della periferica. Per la definizione dell'MSI, consultare le specifiche PCI (versione 2.2).
Predefinito: disabilitato
/* 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",
Leggere tutte le limitazioni e la clausola esonerativa.