User can run b44diag in two different modes, Manufacturing mode and Engineering mode. In manufacture 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) 7. -r <num> : Input radix 8. -n : Run in manufacture loop 9. -e : Run program in engineering mode 10. -m : Program mac address 11. -f<filename> : Program eeprom content from bin before test 12. -mac : Program MAC address from command line 13. -fmac <filename> : Program MAC address from text file through command line. 14. -b <num> : Enable/Disable BootRom; 0 = disable; 1 = 16KB, 2 = 32KB, 3 = 64KB, 4 = 128KB. 15. -lbm : Option to specify number of packets in Mac Loopback test; 16. -lbp : Option to specify number of packets in Phy Loopback test; 17. -lbh : Option to specify number of packets in 100BT External Loopback test; 18. -lbt : Option to specify number of packets in 10BT External Loopback test; 19. -info : Option to display Dev ID Ven ID SVen ID SSystem ID 20. -mc <filename> : Force to only accept full length (6 bytes) Mac address with prefix matches with prefix provided in input file. 21. -elog : Produces a log file with only error information 22. -ppxe : Program PXE from file (B0 only) 23. -x : Force to search device by using Vendor ID Example: >b44diag -e XXXXXX -c 0 -f eeprom.bin -fmac macaddr.txt -b 3 -t abc -e: enter password XXXXXX: Password. -c: card select -f: program srom with eeprom.bin. Basic information will be loaded to the srom. Mac address will not be updated. Error if file name missing. -fmac: program MAC address from Mac address file. Only Mac address will be updated. Error if file name missing. -b: enable 64KB Boot Rom. 0 = disable; 1 = 16KB, 2 = 32KB, 3 = 64KB, 4 = 128KB. -t: disable Test Group A, B and C. After programming srom with the bin file (-f option is entered), no long need to power cycle the system to have the new SROM configuration loaded. Software will run all tests after SROM being programmed. Mac address programming option: Instead of entering -fmac option, Mac address in the srom can also be programmed by entering either -m and -mac options. By entering -m option, user will be asked to enter Mac address. In order to use -mac option, user need to provide the Mac address after entering -mac option. Example: b44diag -e XXXXXX -c 0 -f eeprom.bin -mac 001018112240 -b 3 > b44diag -e XXXXX -c 0 -fmac macaddr.txt XXXXX = password. If password is valid, mac address will be programmed according to the mac address range specified in macaddr.txt > b44diag -e XXXXX -m XXXXX = password. If password is valid, user will be prompted to enter 6 bytes mac address. Nic card will be programmed with new mac address before running any test. > b44diag -e XXXXX -mc prefix.txt XXXXX = password. prefix.txt will provide matching prefix. Please see PREFIX.txt for ref. If password is valid, user will be prompted to enter 6 bytes mac address. Software will only accept full length mac address. If the 6 byte input mac address matches the prefix with the prefix.txt, Nic card will be programmed with new mac address before running any test. > b44diag -e XXXXX -f eeprom.bin Nic card will be programmed with new content from eeprom.bin before test. > b44diag -l test.log -c 1 -I 2 -t A3 > b44diag -l test.log -c 1 -I 2 -t A3 -lbm 3000 -lbp 3000 -lbh 3000 -lbt 3000 > b44diag -info -t abc This will display information stored in SPROM Information included Mac address, Vender ID, SubSystem Vendor ID, SubSystem Device ID and bootrom size. > b44diag -e XXXXXX -c 0 -ppxe b44pxe.lom In order to program pxe, SPROM should have valid pxe enable and pxe boot rom size. -ppxe and -f CANNOT be used at the same time. After SPROM being programmed, system need to reboot before PXE can be program. It may take a few minutes to complete programming. > b44diag -b44eng -x When the Device ID gets changed to something unrecognized, -x option switch allow b44diag to search device by vendor ID. 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 A5. CAM Read/Write 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. C3. External Loopback Test 100BT. C4. External Loopback Test 10BT. C5. PHY Loopback Test w/ CAM Enabled. C6. External Loopback Test 100BT w/ CAM Enabled. C7. External Loopback Test 10BT w/ CAM Enabled. C8 MIB MAC 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 A5 CAM Read/Write Test Command: camtest Function: This test will run the CAM Read/Write Test. 48 Bit patterns will be written to 64 entries of the CAM space. Test will read back the 64 entries and check. It will be tested against 5 patterns such as FFFF, 0000, 5555, AAAA, 55AA, AA55. 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 verifies 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 -m Function: Transmits a 2000 or specified by -lbm option of 1514-byte packets with incrementing data pattern, and checks tx and rx flags and data integrity. Default: Enabled C2 Phy Loopback Test Command: lbtest -p Function: This test is same as C1. Mac Loopback Test except, the data is routed back via physical layer device. Default: Enabled C3 External Loopback Test 100BT Command: lbtest -e Function: This test is same as C1. Mac Loopback Test except, the data is routed back via loopback device. Default: Disabled C4 External Loopback Test 10BT Command: lbtest -a Function: This test is same as C1. Mac Loopback Test except, the data is routed back via loopback device. Default: Disabled C5 Phy Loopback Test with CAM Enabled Command: camlbtest -p Function: This test is same as C2. Phy Loopback Test except, the data is routed back via physical layer device with CAM matching enabled. Default: Enabled C6 External Loopback Test 100BT with CAM Enabled Command: camlbtest -e Function: This test is same as C5. Phy Loopback Test except, the data is routed back via loopback device with CAM matching enabled. Default: Disabled C7 External Loopback Test 10BT with CAM Enabled Command: camlbtest -a Function: This test is same as C5. Phy Loopback Test except, the data is routed back via loopback device with CAM matching enabled. Default: Disabled C8 MIB MAC Loopback Test Command: mibtest Function: Test each bit of the MIB counters. By mac looping back a back to test if MIB counter bit will get incremented. Default: Enabled By default, all tests except C3, C4, C6 and C7 will be covered in manufacture 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. lbtest cmd: lbtest Syntax: lbtest [n|c|t] [m|p|a|e|] 'n' = iteration. 'c' = max packet count. 't' = packet type: 0 = all 0s, 1 = all 1s, 2 = 5555, 3 = AAAA, 4 = 0F0F, 5 = F0F0, 6 = FF00, 7 = 00FF, 8 = FFFF0000, 9 = 0000FFFF, 10 = Inc, 11 = Random 'm' = Mac Loopback 'p' = Phy Loopback 'e' = 100BT External Loopback. 'a' = 10BT External Loopback. Default max packet count = 2000 Default iteration = 1 Default pattern = inc. Example: 0:>lbtest -e -n=10 -c=2500 -t=3 (10 times external loopback test with 2500 packets and pattern is AAAA) camlbtest cmd: camlbtest Syntax: camlbtest [n|c|t] [m|p|a|e|] 'n' = iteration. 'c' = max packet count. 't' = packet type: 0 = all 0s, 1 = all 1s, 2 = 5555, 3 = AAAA, 4 = 0F0F, 5 = F0F0, 6 = FF00, 7 = 00FF, 8 = FFFF0000, 9 = 0000FFFF, 10 = Inc, 11 = Random 'p' = Phy Loopback 'e' = 100BT External Loopback. 'a' = 10BT External Loopback. Default max packet count = 40 Default iteration = 1 Default pattern = inc. Example: 0:>camlbtest -e -n=10 -t=3 (10 times external loopback test with 2500 packets and pattern is AAAA) phyctrl cmd: phyctrl Description: Configure Speeds/Duplex of PHY Syntax: phyctrl [s][h][r][f] 's' = 0:10 Mbps, 1:100 Mbps 'h' = half duplex 'r' = reset phy 'c' = force 'f' = write phy initialization scripts Example: 0:> phyctrl -s=0 -h (10Mbps half duplex) initialization scripts 0:> phyctrl -s=1 -h -c (force 100 BT half duplex) loadd cmd: loadd Description: Load default chip setting before blast Syntax: loadd blast cmd: blast Description: Blast Packets in Poll Mode Syntax: blast [t|r|h] [n] [l] [i] [e] 't' = tx 'r' = rx 'h' = host loop back ( with min 17.6 usec ipg with random packet size; 14.6 usec ipg with Max packet size ) 'H' = host loop back with optimized performance. ( with min 17 usec ipg with random packet size; 14 usec ipg with Max packet size ) 'n' = number of packets to transmit. 'l' = transmit packets size (min = 60) 'i' = increment transmit packets length 'e' = Upper Limit of Tx buffer in incremental packet size 'p' = packet type: 0 = all 0s, 1 = all 1s, 2 = 5555, 3 = AAAA, 4 = 0F0F, 5 = F0F0, 6 = FF00, 7 = 00FF, 8 = FFFF0000, 9 = 0000FFFF, 10 = Inc, 11 = Random 'd' = Interpacket GAP in microseconds Default pattern = inc. Press ESC Key to stop. Example: 0:> blast -t -r -p=11 -l=1514 (RX and TX packet with 1514 bytes of random data) 0:> blast -t -n=10000 -l=1514 (TX 10000 packets with size of 1514 bytes of default pattern) 0:> blast -t -n=10000 -l=1514 -p=3 (TX 10000 packets with size of 1514 bytes of AAAA pattern) 0:> blast -t -n=10000 -i -e=1514 (TX 10000 packets with inc size of default pattern) 0:> blast -t (TX packets with size of 64 bytes of default pattern until stop) 0:> blast -r (RX packets until stop) 0:> blast -h (host loop back with min 14.6 usec ipg) 0:> blast -H (host loop back with optimized performance, with min 14 usec ipg) * When software is running in host loop back mode, user need to provide enough IPGs or else packets will be dropped or result in interrupt errors. * When software is running optimized performance host loop back mode, on-screen countes will not be updated. User can use 'qstat' or 'nicstat' to read counters. * blast cmd will not reset the chip. User needs to use "reset" cmd to reset chip. * User also needs to use "loadd" cmd to set up the chip to default state before run blast Example: 0:> reset (reset chip) 0:> loadd (set chip to default state) 0:> do abc.do (run script or write register if needed) 0:> blast -t -r -p=11 -l=1514 (RX and TX packet with 1514 bytes of random data) To stop, press Esc key. nicstats cmd: nicstats Description: Display NIC Statistics Syntax: nicstats [c] 'c' = reset counters Example: 0:> nicstats (display NIC statistics) 0:> nicstats -c (reset counters) woltest cmd: woltest Description: Setup chip to wake up from wake on lan packet Syntax: woltest Example: 0:> woltest intptest cmd: intptest Description: Setup chip to wake up from interesting packet Syntax: intptest Example: 0:> intptest setest cmd: setest Description: Serial EEPROM read write test. Serial EEPROM test dumps the contents of the serial EEPROM to the screen and verifies 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 camtest cmd: camtest Description: This test will run the CAM Read/Write Test. 48 Bit patterns will be written to 64 entries of the CAM space. Test will read back the 64 entries and check. It will be tested against 5 patterns such as FFFF, 0000, 5555, AAAA, 55AA, AA55. Syntax: camtest [iteration] Example: 1. Display Help. 0:> camtest ? Usage : camtest [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) (08) $ = 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) (08) $ = 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 Description: Exit Syntax: q exit cmd: exit Description: Exit Syntax: exit help cmd :help Description: 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: Running 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> Example: 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> 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=Disable, 1=16KB, 2=32KB, 3=64KB, 4=128KB 'm'= program mac addr 'v'= program subvenID 's'= program subdevID 'C'= check_crc 'c'= fix crc 'd'= just dump 'w'= program word; location in hex; word in hex; 'f'= out put image to eeprom.bin and eeprom.txt or filename.bin and filename.txt. Example: sromutil -b=1 (Enable 16KB bootrom) sromutil -b1 (Enable 16KB bootrom) sromutil -m=xxxxxxxxxxxx (Program mac addr) sromutil -mxxxxxxxxxxxx (Program mac addr) sromutil -v=xxxx (Program sub vendor ID) sromutil -vxxxx (Program sub vendor ID) sromutil -s=xxxx (Program sub device ID) sromutil -sxxxx (Program sub device ID) sromutil -C (Check crc) sromutil -c (Fix crc) sromutil -d (Dumping data to screen) sromutil -f<filename> (Dumping data to screen, eeprom.bin and eeprom.txt or filename.bin and filename.txt) sromutil -w 35 1235 (Write 0x1234 to offset 0x35) setbit cmd: setbit Description: Set Bit of Generic Memory Syntax: setbit [!|S|X|#|m|$|l|s|x]<addr> <bit#> [<bit#>] .... ! = Configuration space (address range: 0x00 – 0xFF) (32) S = Configuration space (address range: 0x00 – 0xFF) (16) X = Configuration space (address range: 0x00 – 0xFF) (08) $ = Serial EEPROM m = MII Registers l = direct access (dword) s = direct access (word) x = direct access (byte) clearbit cmd: clearbit Description: Clear Bit of Generic Memory Syntax: clearbit [!|S|X|#|m|$|l|s|x]<addr> <bit#> [<bit#>] .... ! = Configuration space (address range: 0x00 – 0xFF) (32) S = Configuration space (address range: 0x00 – 0xFF) (16) X = Configuration space (address range: 0x00 – 0xFF) (08) $ = Serial EEPROM m = MII Registers l = direct access (dword) s = direct access (word) x = direct access (byte) seprg cmd: seprg Description: The function reads data from file and program into seeprom. The file name must be specified in the parameter. Mac address will remain unchanged. Syntax: seprg <f><file name> [|o] [|l] 'f' = filename 'o' = offset of serial eeprom 'l' = length in bytes (Default = size of input file) Example: seprg -f=c:\eeprom.bin pxeprg cmd: pxeprg Description: The function reads data from file and program into pxe expansion rom. The file name must be specified in the parameter. Syntax: pxeprg <f><file name> [|o] [|l] 'f' = filename Example: 0:>pxeprg -f=c:\b44pxe.lom chkpxe cmd: chkpxe Description: The function reads data pxe expansion rom and exam checksum. Syntax: chkpxe Example: 0:>chkpxe do cmd : do Description: Execute command from a script file Syntax: do <filename.do> Script file example: reset linkstatus mwrite 0 8000 sleep 1000 mread 02Download 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.