User can run b44diag in two different modes, Mamufacturing mode and Engineering mode.
In manufacturing mode, user can have the following options.
1. -l <file> :Log data to file.
2. -c <num> :Specify the card to be tested.
3. -I <num> :Iteration number
4. -t <id> :Disable tests
5. -T <id> :Enable tests
6 -com <value> :Comm port enable (internal use only)
Example:
> b44diag -l test.log -c 1 -I 2 -t A3
There are 3 groups of test. Each group has a few sub tests.
Group A
A1. Indirect Control Register Test
A2. Direct Control Register Test
A3. Interrupt test
A4. Built In Self Test
Group B
B1. LEDs test
B2. EEPROM Test
B3. MII Test
B4. Link Status Test
Group C
C1. MAC Loopback Test
C2. PHY Loopback Test.
Test Descriptions
A1.
Indirect Register Test
Command: regtest -i
Function: Each Register specified in the configuration contents read only bit and
read/write bit defines. The test writing zero and one by using indirect addressing method into the test bits to insure the read
only bits are not changed, and read/write bits are changed accordingly.
Default: Enabled
A2
Control Register Test
Command: regtest
Function: Each Register specified in the configuration contents read only bit and
read/write bit defines. The test writing zero and one into the test bits to insure the read
only bits are not changed, and read/write bits are changed accordingly.
Default: Enabled
A3
Interrupt Test
Command: intrtest
Function: This test verifies the interrupt functionality. It enables interrupt and waits for
interrupt to occur. It waits for 500ms and reports error if could not generate interrupts.
Default: Enabled
A4
Built In Self Test
Command: bist
Function: This test will run the Built In Self Test
Default: Enabled
B1
LED Test
Command: ledtest
Function: Tests forcing of the link state for each link speed/duplex.
Default: Enabled
B2
EEPROM Test
Command: setest
Function: Reads Serial Prom and varifies integrity by checking CRC.
Default: Enabled
B3
MII Test
Command: miitest
Function: Each Register specified in the configuration contents read only bit and
read/write bit defines. The test writing zero and one into the test bits to insure the
read only bits value are not changed, and read/write bits are changed
accordingly.
Default: Enabled
B4
Command: linkstatus
Function: Report current link status.
Default: Enabled
C1
Mac Loopback Test
Command: lbtest 0
Function: Transmits a 128-byte packet with incrementing data pattern, and
checks tx and rx flags and data integrity.
Default: Enabled
C2
Phy Loopback Test
Command: lbtest 1
Function: This test is same as D1. Mac Loopback Test except, the data is routed
back via physical layer device.
Default: Enabled
By dedefault, all tests will be covered in manufacturing mode unless disabled by user.
User can select Engineering mode by option -b44eng
Example:
> b44diag -b44eng
When the program is in engineering mode, it prompts user to enter commands.
All commands are covered below.
setest
cmd: setest
Description: Serial EEPROM read write test. Serial EEPROM tests dumps the
contents of the serial EEPROM to the screen and varifies the data with a CRC
check.
Syntax: setest [iteration]
Example:
1. Display Help.
0:> setest ?
Usage : setest [iteration]
Description:
The default iteration is 1. 0 means run forever
mread
cmd: mread
Description: Read PHY registers via MII
Syntax: mread <begin_addr>[ | <len>]
Address range: 0x00 – 0x1F
Example:
1. Read MII register 0
0:> mread 0
00: 1100
2. Read MII registers 0 to 10
0:> mread 0-10
00: 1100 7949 0020 6051 01e1 0000 0004 2001
08: 0000 0300 0000 0000 0000 0000 0000 3000
10: 0002
3. Read 5 MII registers start from register
0:> mread 0 5
00: 1100 7949 0020 6051 01e1
mwrite
cmd: mwrite
Description: Write PHY registers via MII
Syntax: mwrtie <addr > <value>
Address range: 0x00 – 0x1F
Example:
1. Write 0x15 to MII register 2
0:> mwrite 2 15
miitest
cmd: miitest [itereation]
Description: PHY registers read write test
Syntax: miitest
read
cmd: read
Description: Generic Memory Read
Syntax: read [!|S|X|#|m|$|l|s|x]<begin_addr> [- end_addr | num_bytes]
! = Configuration space (address range: 0x00 – 0xFF) (32)
S = Configuration space (address range: 0x00 – 0xFF) (16)
X = Configuration space (address range: 0x00 – 0xFF) (16)
$ = Serial EEPROM
m = MII Registers
l = direct access (dword)
s = direct access (word)
x = direct access (byte)
write
cmd: write
Description: Generic Memory Write
Syntax: write [!|S|X|#|$|l|s|x]<begin_addr> [- end_addr ] <value>
! = Configuration space (address range: 0x00 – 0xFF) (32)
S = Configuration space (address range: 0x00 – 0xFF) (16)
X = Configuration space (address range: 0x00 – 0xFF) (16)
$ = Serial EEPROM
l = direct access (dword)
s = direct access (word)
x = direct access (byte)
intrtest
cmd: intrtest
Description: Interrupt Test
Syntax: intrtest
regtest
cmd: regtest
Description: MAC registers read write test.
Syntax: regtest [<iteration>]
pciscan
cmd: pciscan
Description: Scan for all PCI Devices
Syntax: pciscan
Example:
0:> pciscan
Scanning PCI devices ...
Bus Dev Func Vendor ID Device ID Class Base/IO Address IRQ
=== === ==== ========= ========= ========== ================= ===
0 0 0 8086 7190 06:00:00 00000000:F8000008 0
0 1 0 8086 7191 06:04:00 00000000:00000000 0
0 7 0 8086 7110 06:01:00 00000000:00000000 0
0 7 1 8086 7111 01:01:80 00000000:00000000 0
0 7 2 8086 7112 0C:03:00 00000000:00000000 9
0 7 3 8086 7113 06:80:00 00000000:00000000 0
0 14 0 12AE 0003 02:00:00 00000000:F4000004 10
1 0 0 1002 4742 03:00:00 00009001:F5000000 11
dos
cmd: dos
Description: Enter to Dos shell
Syntax: dos
Example:
0:> dos
pciinit
cmd: pciinit
Description: Initialize PCI configuration registers
Syntax: pciinit
Example:
0:misc> pciinit
Initializing PCI Configuration Space
Bus Number : 0
Device/Funtion : 14/0
Base Address : 0xf4000004
q
cmd: q
Discription: Exit
Syntax: q
exit
cmd: exit
Discription: Exit
Syntax: exit
help
cmd :help
Discription: Display help
Systax: help
log
cmd : log
Description: Log data to file
Syntax: log <filename>
Example:
0:> log test.log
started logfile 'test.log'
nolog
cmd : nolog
Description: Close current log file
Syntax: nolog
Example:
0:> nolog
logfile closed at Mon Mar 4 15:25:11 2002
reset
cmd : reset
Description: Reset chip
Syntax: reset
Example:
0:> reset
teste
cmd : teste
Description: Enable tests in test configuration
Syntax: teste <group><tests index>
Example:
0:> teste A23
Enabled Tests:
A2 Control Register Test
A3 Interrupt Test
testd
cmd : testd
Description: Disable tests in test configuration
Syntax: testd <group><tests index>
Example:
0:> testd A23
Disabled Tests:
A2 Control Register Test
A3 Interrupt Test
nictest
cmd : nictest
Description: Run tests in configuration
Syntax: nictest
cls
cmd : cls
Description: Clear screen
Syntax: cls
loop
cmd : loop
Description: Runing cmd n times
Syntax: loop [iteration] <cmd> [<parameter> ...]
Enample:
0:> loop 3 miitest (run miitest 3 times)
mrloop
cmd : mrloop
Description: This is special test routine for MII read.
It loops on MII register read until user abort or if value is zero
Syntax: mrloop <addr>
Enample:
0:> mrloop 02 (Loop on MII read at reg 02)
inp
cmd : inp
Description: Read port input
Syntax: inp <addr>
outp
cmd : outp
Description: Write to port
Syntax: outp <addr> <data>
linkstatus
cmd : linkstatus
Description: Report link status
Syntax: linkstatus
sleep
cmd : sleep
Description: Suspense process for Execute command from a file
Syntax: sleep <ms>
version
cmd : version
Description: Display current software version
Syntax: version
dev
cmd : dev
Description: Display and select device
Syntax: dev <device index>
do
cmd : do
Description: Excute command from a script file
Syntax: do <filename.do>
Script file example:
reset
linkstatus
mwrite 0 8000
sleep 1000
mread 02
sromutil
cmd: sromutil
Description: Provide SROM access.
Syntax: sromultil [b<n>] [m <macaddr> <devID> <vedID> <subID>] [c|C|d] [w<location> <value>]
'b'= Enable bootrom, size encoding: 0=16KB, 1=32KB, 2=64KB, 3=128KB
'm'= program addr: macaddr devID venID subID
'C'= check_crc
'c'= fix crc
'd'= just dump
'w'= program word; location in hex; word in hex;
Example:
sromutil -b 1 -m xxxxxxxxxxxx 4401 xxxx xxxx (Enable 32KB bootrom; Program addr)
sromutil -m xxxxxxxxxxxx 4401 xxxx xxxx (Disable bootrom; Program addr)
sromutil -C (Check crc)
sromutil -c (Fix crc)
sromutil -d (Dumping data)
sromutil -w 35 1235 (Program word)
Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.