User can run b44diag in two different modes, Mamufacturing 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\n"); 16. -lbp : Option to specify number of packets in Phy Loopback test\n"); 17. -lbh : Option to specify number of packets in 100BT External Loopback test\n"); 18. -lbt : Option to specify number of packets in 10BT External Loopback test\n"); Example: >b44diag -e XXXXXX -c 0 -f eeprom.bin -fmac macaddr.txt -b 3 -t abc -e: enter engineering mode. XXXXXX: Password. -c: card select -f: program srom with eeprom.bin. Basic information will be loaded to the srom. Mac address will remain the same. 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. Boot Rom status will remain unchanged if -b option is not entered. -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: In stead 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 > b44diag -e XXXXX -m XXXXX = password. If password is valid, user will be prompted to enter 12 bytes mac address. 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 > b44udiag -l test.log -c 1 -I 2 -t A3 -lbm 3000 -lbp 3000 -lbh 3000 -lbt 3000 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. C3. External Loopback Test 100BT. C4. External Loopback Test 10BT. 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 -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 D1. 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 D1. 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 D1. Mac Loopback Test except, the data is routed back via loopback device. Default: Disabled By dedefault, all tests except C3 and C4 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) 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 runnign 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 will not reset the chip. User need to use "reset" cmd to reset chip. * User also need 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) Kit "Esc" to stop nicstats cmd: nicstats Description: Display NIC Statistics Syntax: nicstats [c] 'c' = reset counters Example: 0:> nicstats (display NIC statistics) 0:> nicstats -c (reset counters) 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) (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 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> 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 addr: macaddr subvenID 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 -m xxxxxxxxxxxx xxxx xxxx (Enable 16KB bootrom; Program addr) sromutil -m xxxxxxxxxxxx xxxx xxxx (Boot rom status remain unchanged; Program addr) sromutil -b 0 (Disable bootrom); sromutil -b 1 (Enable 16KB bootrom); sromutil -C (Check crc) sromutil -c (Fix crc) sromutil -d (Dumping data to screen) sromutil -d -f<filename> (Dumping data to screen, eeprom.bin and eeprom.txt or filename.bin and filename.txt) sromutil -w 35 1235 (Program word) 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 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 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.