

          Broadcom NetXtreme II Gigabit Ethernet Diagnostic Tool
                           For Microsoft DOS

              Copyright (c) 2001-2008 Broadcom Corporation
                          All rights reserved.



Updated: 
- August 15, 2008: Modified for 5716.
- January 16, 2008: Refresh the NVRAM programming for new NIC/LOM to 
  support 5709. 

Setup Notes
===========

1, Create a directory for installing this Diagnostic; and then copy
   the install.zip to that directory.
2, Use "pkunzip.exe -d" or any tool alike to unzip the install.zip
   file with the option to preserve the directory structure.
3, After the uncompression, there will be two new sub-directories 
   "diagfw" and "fw" created, which are to store all the firmwares
   used by the diagnostic.
4, Now ready to enjoy the NetXtreme II diagnostic tool by invoking 
   the executable "xdiag". Type "xdiag -help" for usage.


Programming Non-volatile Memory for New NIC/LOM
===============================================

Perform the steps below only with a board that has nothing in the flash
memory. Otherwise, your existing configuration will be erased. 

Bootcode installation setup (A user needs to familiarize oneself with
some basic DOS commands):

0. Once booted to DOS, change directory to where the diagnostic tool
   resides. (Use "cd" command).
1. Start the diagnostics in engineering mode (Type "xdiag -b06eng").
2. Make sure the first 1.5 kB of flash content are zeroes. Type
   "nvm fill 0 0x600 0".
3. Upgrade the boocode: Type "nvm upgrade -bc <filename>" at the 
   prompt. 
      - The <filename> can include directory path in which the file is 
        found. Contrary to the DOS convention, make sure to use forward 
        slashes for path separators.
      - For 5716 chip, please use 5709C boot code.
4. Configure device with the command "nvm cfg".
   - At the new prompt, type "default" to restore default configuration.
   - Then, at the next prompt, type "16=10" to select the 32M BAR size.
     However, skip if you have 5716.
   - Then, at the next prompt, type "1=00:10:18:xx:xx:xx" to program 
     the primary MAC address for that particular board.
   - Then, at the next prompt, type "33=00:10:18:yy:yy:yy" to program 
     the iSCSI MAC address for that particular board. This step is not
     necessary for 5716 chip.
   - Then, type "save" to exit "nvm cfg" command.
5. Repeat step 4 on the secondary device if you have 5709/16.
6. Power cycle (not just a reboot) the system and then restart xdiag 
   in engineering mode.
7. Verify the BAR setting.
   - Type "nvm cfg".
   - Check entry 16 to make sure it indicates the size of 32M for
     5706/08/09. The size is 256k for 5716.
   - Check the same entry 16 setting for the secondary device if you
     have 5709/16.
   - Type "cancel" to exit.
8. Terminate the xdiag session by typing "exit".


-----------------------------------------------------------------------------

Restoring corrupted NIC/LOM
===========================

There may be times where the flash contents are corrupted due to 
improper programming or other reasons. As a result, the device may not 
appear as a proper device in xdiag (it usually shows the device with a 
message about "Invalid NVRAM content"). When this occurs, follow the 
steps below.

1. Boot to DOS and invoke xdiag to engineering mode (type "xdiag 
   -b06eng).
2. Again, the device will have an "Invalid NVRAM content" message.
3. Type "pci scan" to locate the corrupted device. Particularly, check
   on the vendor ID (0x14e4) and device ID.
4. Once located, jot down the domain/bus/device/function numbers of  
   that device.
5. Type "pci setdut <domain> <bus> <device> <function>" where the <> 
   parameters are from the information gathered in step #4. 
6. Now, the device is selected as a generic PCI device.
7. Type "pcicfg write 0x68 0x88" to make sure we can access the internal
   registers of the device.
8. Type "initNVM" to configure the NVRAM block of the chip.
9. Type "writeNVM 0 0" to disable the boot code completely.
10.Power cycle (NOT just a ctrl-alt-del reboot) the entire system.
11.Re-enter the engineering mode of xdiag (see step #1). The device
   should now be visible to xdiag (i.e. no more "Invalid NVRAM content"
   message). Now, follow the steps in "Programming Non-volatile Memory 
   for New NIC/LOM" section above to re-program the device properly.


