                        ============================
                         R E L E A S E    N O T E S
                        ============================

            Broadcom Network Controller Firmware Upgrade Utility
               for Windows NT 4.0, Windows 2000, XP 32/64 bit
                           2003 Server 32/64 bit
                               Version 6.0.36

                Copyright (c) 2002-2006 Broadcom Corporation
                            All rights reserved.
                              November 1, 2006



Version 6.0.36 (November 1, 2006)
---------------------------------

   Fixes:
   ======
   1. Problem: CQ27217  
               Previous release showed error 20 when executed.               
      Cause:
               The message was newly added in last release to indicate
               any error returned from BmapiInitDiag() when this tool 
               trying to gain the initial access to an adapter. 
               Error 20 here indicated that the device driver was
               not loaded.
      Change:
               To print the reported message only for debug mode.
      Impact:
               The reported message should only be seen for debug mode.


Version 6.0.35 (October 20, 2006)
---------------------------------

   Fixes:
   ======
   1. Problem: CQ27077  
               winfwupg does not run properly on Windows Vista 5728.              
      Cause:
               WinFwUpg required to run with NDIS driver 9.81 or later 
               in previous release, while the driver version on Vista
               was 9.31.
      Change:
               To remove the above driver requirement.
      Impact:
               Vista should be able to run winfwupg.

   2. Problem: CQ26975  
               Firmware Upgrade utility display incorrrect PXE version
               info.
      Cause:
               The 'dir' command used a 16bits mask to get the PXE
               version offset. When its offset exceeded 0x10000, the 
               retrieved version information was then incorrect.
      Change:
               Fixed the related routine to use 32-bit mask.
      Impact:
               PXE version should be reported correctly by the 'dir' 
               command.

   3. Problem: CQ27005  
               Able to program ASF and overwrite IPMI on a 5721 and
               5704s/c.
      Cause:
               The error case was not handled in previous release. 
      Change:
               Added error case handling for the reported problem. 
               ASF/IPMI firmware can only be loaded on a NIC with  
               previous existent ASF/IPMI firmware respectively.
      Impact:
               'upgrade' and 'seprg' (deprecated) commands.

   4. Problem: CQ27006  
               Misleading "Wrong Firmware Image version" message is 
               displayed when downgrading bootcode.
      Cause:
               Previous release sent out the above message when 
               1) In the command mode, downgrading the firmware using 
                  the 'upgrade' command without '-F' option.
               2) In the interactive mode, answering 'n' at the 
                  "Continue downgrading ...(y/n)" prompt.
      Change:
               Enhanced the error handling for the reported scenarios.
               1) "Supplied firmware has the same or older version.
                   '-F' option is recommended." will be reported.
               2) "No downgrade!" will be reported.
      Impact:
               Output messages for the reported scenarios.


Version 6.0.34 (October 3, 2006)
---------------------------------

   Fixes:
   ======
   1. Problem: CQ26967  
               'cfg -mac' got into infinite loop. This was only              
               observed on Windows with the released version.
      Cause:
               Using incorrect data type casting to store values 
               returned from sscanf() caused stack corruption.
      Change:
               Ensured correct data types are used to store
               values returned from sscanf().
      Impact:
               'cfg -mac' should not cause infinite loop.

   2. Problem: CQ26898  
               Downgrading UMP w/o -F shows up as red text and should
               be on a new line.
      Cause:
               The reported output line should have been fixed with
               correct cursor color in previous release.
      Change:
               Fixed the reported message with correct cursor color.
      Impact:
               Output messages.


Version 6.0.33 (September 29, 2006)
---------------------------------

   Fixes:
   ======
   1. Problem: CQ26921  
               Unable to restore NVRAM when using two self boot devices 
               of different size. 
      Cause:
               The image checksum verification routine expects the 
               selfboot image to be in little endian format while the
               supplied selfboot image previously generated by 
               'dumpnvram' is in big endian format. This caused the
               'restorenvram' command to fail because of incorrect
               checksum. 
      Change:
               Fixed the image checksum verification routine.
      Impact:
               Use case scenario around the bug.

   2. Problem: CQ26893  
               PXE can be enabled when not present in NVRAM w/o warning.
      Cause:
               An incorrect parameter passing caused the code to
               slip through the error checking and always got PXE
               to be enabled/disabled.
      Change:
               Fixed the related routine to pass correct parameter.
      Impact:
               PXE can be enabled/disabled only when the PXE firmware
               is present in the selected adapter.

   3. Problem: CQ26894  
               Enable/Disable Management firmware lacks error messages 
               on Self-boot devices.
      Cause:
               No errors were sent for this case in previous release.
      Change:
               Added error messages to handle the reported scenario.
      Impact:
               The error message FWUPG_UNSUPPORTED_FEATURE indicating 
               "Feature not supported" should be seen in this case.

   4. Problem: CQ26898  
               Downgrading UMP w/o -F shows up as red text and should
               be on a new line.
      Cause:
               A couple of output messages were not ended with "\r\n".
               Another one was not using the correct cursor color to
               output.
      Change:
               Appended "\r\n" to the related output messages, and 
               also ensured that messages are in correct cursor colors.
      Impact:
               Output messages.


Version 6.0.32 (September 22, 2006)
---------------------------------
- Require network adapter driver 9.81 or later.
- Require BMAPI version 7.5.12 or later.

   Enhancements:
   =============
   1. Request: CQ24703, CQ24810 
               To allow user to enable/disable management firmware.
      Change:
               Added the requested capability to the 'cfg' command.
      Impact:
               'cfg -asf 1' command to enable asf firmware and
               'cfg -asf 0' command to disable asf firmware.
               'cfg -ipmi 1' command to enable ipmi firmware and
               'cfg -ipmi 0' command to disable ipmi firmware.
               'cfg -ump 1' command to enable ump firmware and
               'cfg -ump 0' command to disable ump firmware.

   2. Request: CQ24810 
               To allow user to enable/disable PXE.
      Change:
               Added the requested capability to the 'cfg' command.
      Impact:
               'cfg -mba 1' command to enable pxe firmware and
               'cfg -mba 0' command to disable pxe firmware.

   Fixes:
   ======
   1. Problem: CQ26558  
               Red text should be used for error messages only. 
      Cause:
               Some messages were not sent with designated cursor
               colors.
      Change:
               Ensured all output messages are sent with appropriate 
               cursor colors.
      Impact:
               Output messages.

   2. Problem: CQ26568  
               Upgrade -F not enforced when upgrading management
               firmware (ASF/IPMI/UMP) to the same version.
      Cause:
               Previous release only sent out warning message
               when downgrading management firmware to an earlier 
               version.
      Change:
               A warning message will be prompted if upgrading 
               management firmware to the same version or an
               earlier version.
      Impact:
               A warning message should be seen when upgrading 
               management firmware (ASF/IPMI/UMP) to the same 
               version or an earlier version.

   3. Problem: CQ26614  
               Remove driver version displayed from 'dir' command. 
      Cause:
               The driver version information was shown in previous
               releases.
      Change:
               Removed the driver version information as requested.
      Impact:
               Driver version information should not be seen from
               'dir' command.

   4. Problem: CQ26557  
               Improper error message/format when programming from
               selfboot to old NVRAM format. 
      Cause:
               Some internal coding errors in the image checksum 
               verification routine caused the observed messages to be 
               sent when the board contained selfboot image while the 
               supplied file had regular bootcode format.
      Change:
               Fixed the image checksum verification routine.
      Impact:
               Use case scenario around the bug.

   5. Problem: CQ25577  
               Possible misleading errors for user mistakes. 
      Cause:
               Error handlings implemented in previous releases.
      Change:
               Enhanced some error handlings to address the 
               reported scenarios.
      Impact:
               Use case scenario around the reported cases.

   6. Problem: CQ26864  
               Improperly displays help information on "dir ?"
               and "upgrade ?". 
      Cause:
               Handling of help information in previous releases.
      Change:
               Enhanced handling of help information in related
               routines.
      Impact:
               Proper help information should be displayed at
               all times.


Version 6.0.31 (September 08, 2006)
---------------------------------

   Fixes:
   ======
   1. Problem: Cont00026674 
               Winfwupg: 5756ME shows up when should not be supported
      Cause:
               We do not support this device with this tool yet. But
               the tool claimed otherwise. 
      Change:
               Just do not list the device in the list of supported 
               device as part of the 'dev' command.
      Impact:
               5755 family of products.
               
               
Version 6.0.30 (August 31, 2006)
---------------------------------

   Enhancements:
   =============
   1. Request:  
               Not to run the application on the non-administrator
               privilege user
      Change:
               Added manifest file to "requireAdministrator" so that
               the application will run under administrator privilege only
      Impact:
               Windows Vista or later


Version 6.0.29 (August 25, 2006)
---------------------------------

   Enhancements:
   =============
   1. Request:  
               To support'prg' command with valid image file containing
               ONLY bootcode.
      Change:
               Implemented 'prg' support as requested.
      Impact:
               'prg' command will program NVRAM with image file
               containing ONLY valid bootcode with no other firmware
               directories.

               Any file containing multiple firmware directories will
               be rejected with error code 75 indicating 
               "Not a valid bootcode file."

   2. Request:  
               To support'cfg' command for all NetXtreme devices.
      Change:
               Implemented 'cfg' support as requested.
      Impact:
               'cfg' command should work for all NetXtreme devices.


Version 6.0.28 (August 23, 2006)
---------------------------------
- Require network adapter driver 9.77 or later.
- Require BMAPI version 7.5.12 or later.

   Enhancements:
   =============
   1. Request:  
               To exclude 'prg' command support for 5786.
      Change:
               Implemented 'prg' support as specified by the MRD.
      Impact:
               'prg' command will support 5754/5755/5787 devices.
               'cfg' command will support 5754/5755/5787/5786 devices.
   Fixes:
   ======
   1. Problem: CQ26457  
               Program crash and exit when running 'cfg -mac <MAC>'. 
      Cause:
               The crash occurred when the program tried to close a 
               file with an invalid file handle.
      Change:
               Modified the program to ensure only valid file handle
               will be passed to close() a file.
      Impact:
               The program should never crash when running the above
               command.

   2. Problem: CQ26459  
               Extra non-necessary error message is shown when 
               downgrading. 
      Cause:
               The described messages should only be used for debug
               mode.
      Change:
               Modified the program to sent the debugging messages 
               only for debug mode.
      Impact:
               The described messages should not be seen when 
               downgrading.

   3. Problem: CQ26128  
               FwUpg utility's help description is not user friendly.
      Cause:
               No usage scenarios or examples were shown in Readme.txt. 
      Change:
               Modified Readme.txt to update "Command Usage" section.
               In addition, "Examples" section and "Scope" section 
               were added.
      Impact:
               "Command Usage", "Examples", "and "Scope" sections in
               Readme.txt.


Version 6.0.27 (August 18, 2006)
---------------------------------

   Fixes:
   ======
   1. Problem: CQ26419  
               Sequence during Upgrade of FW Should Validate Bootcode 
               File First When Using FW Upgrade Utility
      Cause:
               The internal validation sequence implemented in previous
               release did not validate file first.
      Change:
               Modified the internal program flow so as to validate
               file first before taking further actions.
      Impact:
               The program should terminate immediately when a non
               existing file is specified. 

   2. Problem: CQ26414  
               Attempting to Program Firmware with Invalid Bootcode 
               Name Results in Winfwupg.exe Fault.
      Cause:
               The related routine did not exit correctly causing
               an invalid data to be accessed.
      Change:
               Fixed the related routine to handle the error case
               correctly.
      Impact:
               An error should be reported when specifying a non
               existent file.

   3. Problem: CQ26413  
               Properties for WinFWUpg.exe v6.0.26 - shows 6.0.25.
      Cause:
               Previous release did not update the associated resource
               file. 
      Change:
               Updated the resource file as required.
      Impact:
               Properties for WinFWUpg.exe should show correct version.

   4. Problem: CQ25968  
               Upgrade -F not enforced for same version.
      Cause:
               Previous release only sent out warning message
               when downgrading FW to an earlier version.
      Change:
               A warning message will be prompted if upgrading to
               the same version or an earlier version.
      Impact:
               A warning message should be seen when upgrading FW
               to the same version.
                               

Version 6.0.26 (August 14, 2006)
---------------------------------

   Enhancements:
   =============

   1. Request:  
               To prgram bootcode on a blank NVRAM for 5754/5755/5786/
               5787 devices.
      Change:
               1. Implemented 'prg' command to program bootcode on a
                  blank NVRAM for the requested devices.
               2. Implemented 'cfg' command to configure MAC address
                  for the requested devices.
      Impact:
               'prg' and 'cfg' commands.

   Fixes:
   ======
   1. Problem: CQ25968  
               Upgrade -F not enforced for same version.
      Cause:
               Previous release only sent out warning message
               when downgrading FW to an earlier version.
      Change:
               A warning message will be prompted if upgrading to
               the same version or an earlier version.
      Impact:
               A warning message should be seen when upgrading FW
               to the same version.
                               
   2. Problem: CQ26094  
               Wrong program name string was used in an error message.
      Cause:
               'winfwupg' was mistakely reported when the program
               name string of 'lnxfwupg' was expected.
      Change:
               Corrected the program name string.
      Impact:
               Program name string should be refereced correctly.


Version 6.0.25 (July. 14, 2006)
---------------------------------

   Fixes:
   ======
   1. Problem: Cont00025449 
               WinFWUpg report incorrecty reports version of pxe on 
               2nd port(5780B1) of a Fujitsu Seimens TX2200
      Cause:
               There is partially a driver issue which seem to 
               have vanished with driver v9.71. For performance
               reasons we cache the EEPROM info internally until 
               a subsequent write operation. In the dual port case,
               if we upgraded the NVRAM using the secondary port the
               primary port cached EEPROM info was not set dirty. 
               So, a subsequent "dir" or "crc" command will be 
               operating with both old cached information and any
               other newly read information. This results in corrupted
               display with the "dir" command (and so forth).
      Change:
               When any write/upgrade happens using one of the port,
               we now set the dirty bit on the cached information on 
               the second port. This way, when the user switches to 
               the second port after an upgrade operation on the first
               port, the EEPROM information will be re-queried and the 
               cache information will be updated.  
      Impact:
               All operations on dual port NIC/LOM.
               
   2. Problem: Cont00025852 
               Winfwupg: Unable to upgrade PXE versions lower \
               than 8.2.0 on PCI-Ex Cards
      Cause:
               Older PXE image files did not have the bus type
               field. The code was assuming the presence of 
               this information all the time. Hence the bug.
      Change:
               We now check the image file to see if it has 
               a valid bus type information. If not, we just
               validate the default device id information in the
               PXE image file and go through the rest of the
               operation.
      Impact:
               Use case scenario around the bug. 
               
   3. Problem: CQ25835  
               5715s can be flashed with 5715c bootcode.
      Cause:
               The boot code start address was handled incorrectly when 
               reading the device string information in the nvram.
      Change:
               Fixed the related function to get correct boot code 
               start address when reading the device string information.
      Impact:
               "upgrade -bc" should not proceed when the device id or 
               the media type from the image file does not match that
               of actual NIC.               
               
               
Version 6.0.24 (July. 11, 2006)
---------------------------------

   Fixes:
   ======
   1. Problem: Cont00025797 
               "Winfwupg [MAC|GUID] seprg -a [ASF File] [save_image]" 
               results in bad nvram backup image
      Cause:
               The code that initializes NVRAM size was not 
               never hit in the use case scenario as in this
               bug. Hence the size of the dump file comes out 
               to be zero.
      Change:
               The fix is to make sure that the correct NVRAM
               size is initialized before we do the dump of 
               the NVRAM to a backup file.
      Impact:
               Use case scenario around the bug.
               
   2. Problem: Cont00025699 
               Winfwupg: GUID of a non-broadcom NIC gives parameter 
               after GUID as wrong device
      Cause:
               Wrong command parameter index was used to output
               the error message.
      Change:
               Decremented the parameter index by one to pick
               up the right parameter and give meaningful error
               information.
      Impact:
               Use case scenario around the bug. 
               
               
Version 6.0.23 (July. 07, 2006)
---------------------------------

   Fixes:
   ======
   1. Problem: Cont00025706 
               Winfwupg: 5781 gets Device ID Mismatch 
               Error when upgrading boot code
      Cause:
               Because of the order of device id check, 5781
               was identified as 5753. 
      Change:
               Checking for 5781 before 5753 addresses the 
               problem.
      Impact:
               Upgrade operation with 5753, 5751, 5781 NICs
               
               
Version 6.0.22 (June. 30, 2006)
---------------------------------

   Fixes:
   ======
   1. Problem: CQ25623  
               Unable to upgrade 5751F with lnxfwupg.
      Cause:
               The functions to detect 5751F devices were not done
               correctly in previous version. 
      Change:
               Fixed the related functions to detect 5751F devices.
      Impact:
               This tool should be able to handle 5751F.

   2. Problem: CQ25513  
               Able to install ASF on a 5702-5 which did not have ASF 
               before.
      Cause:
               Previous version mistakenly allowed to install ASF  
               to a NIC without ASF images in its nvram.
      Change:
               Fixed the related functions to stop the operation with
               an error when trying to install ASF images to a NIC
               without ASF images in its nvram.
      Impact:
               Any fresh installation is not allowed.

   3. Problem: CQ25138  
               'upgrade' Option Incorrectly Saves or Restores NVRAM - 
               Results in Corrupted BootCod      
      Cause:
               The boot code start address and boot code length were
               handled incorrectly if the input file is a dump file.
      Change:
               Fixed the related function to get correct boot code 
               start address and boot code length before programming
               the image to nvram.
      Impact:
               "upgrade" with -bc option should be able to program
                nvram with a correct boot code binary image or a
                generated nvram dump file. 
                
                
Version 6.0.21 (June. 21, 2006)
---------------------------------

   Fixes:
   ======
   
  1. Problem:  Cont00025460
               WinFWUpg online help needs to be in a uniform format
      Cause:
               Request for re-formatting.
      Change:
               Reformatted the help information display.
      Impact:
               Help information display.
               
  2. Problem:  Cont00025440
               Winfwupg, winfwnx2, Linux FWupg should not allow 
               duplicate MAC addresses NICs
      Cause:
               We didn't capture this condition previously.
      Change:
               Now we error out in such a scenario.
      Impact:
               'restorenvram' command.
               
  3. Problem:  Cont00025428, Cont00025469
               winfwupg: unable to restore nvram image on 
               self boot 5786 and 5787
      Cause:
               The code was not setup right to deal with 
               both an image dump and a boot code upgrade 
               file. These two formats differs because one
               is in little endian (bootcode file) and the
               other is in big endian (dump) format.
      Change:
               Changed the code to deal properly with both
               the usage scenario.
      Impact:
               'restorenvram' & 'upgrade' commands with/without
               sw-self-boot with/without -all option.
               
  4. Problem:  Cont00025411
               "winfwupg -all restorenvram imagefile" should have 
               numerous read/write statements like 
               "winfwupg [MAC] restorenvram imagefile"
      Cause:
               Prior to this fix, -all option usage was not 
               considered as a command mode operation.
      Change:
               Made changes to treat -all option as a command
               mode operation.
      Impact:
               '-all' option with 'restorenvram' and 'upgrade' 
               commands.               
               
               
Version 6.0.20 (June. 16, 2006)
---------------------------------

   Fixes:
   ======
   
  1. Problem:  Cont00025359
               WinFWUpg: While doing a nvram restore on a 
               5786/5787 selfboot, the MAC does not get restored
      Cause:
               The condition was reversed. That is, when
               the MAC option was not specified, the code
               was overwriting it and vice-versa.
      Change:
               Reversed the checks.
      Impact:
               'upgrade' command on self-boot.

   2. Problem:  Cont00025386
               Winfwupg: can onlt restore nvram image using 
               -all command on 1st device
      Cause:
               When filtering devices for restoring the 
               NVRAM with -all option, the code was trying
               to get the ASF version number even though 
               ASF is supported on the device. This failure 
               to get the ASF version number resulted in the code 
               identifying the scenario as device mis-match and 
               hence filtered out the device for the restore
               operation.
      Change:
               Changed the code to not flag device mis-match in
               such a scenario.
      Impact:
               'upgrade/restorenvram' with -all option.

   Enhancements:
   =============

   1. Request:  
               Check for image mis-match with restorenvram
               command.
      Change:
               We now filter out the devices if there is a
               image mis-match with the restorenvram command.
      Impact:
               'dumpnvram/restorenvram' with/without -all option.

   2. Request:  
               We do not do strict device-id matching when
               filtering out devices with the -all option 
               when used with restorenvram command.
      Change:
               We now do family based device-id matching.
      Impact:
               'dumpnvram/restorenvram' with/without -all option.


Version 6.0.19 (June. 13, 2006)
---------------------------------

   Fixes:
   ======
   
  1. Problem:  Cont00024995
               WinFWUpg: Disable/Enable wol corrupts selfboot 
               firmware and resets MAC address
      Cause:
               Prior to the change, the code was setup to do
               disable/enable wol for selfboot firware types.
      Change:
               We do disable/enable wol correctly now.
      Impact:
               -w command option.
               
  2. Problem:  Cont00025243
               WinFWUpg: Jade Lite 5786 Self Boot - Unsupported Device
      Cause:
               The bond-id field used for device/image matching was 
               wrong. 
      Change:
               We now get the bond-id masking in the WinFwUpg tool 
               instead of relying on BMAPI.
      Impact:
               All commands/devices.
               
  3. Problem:  Cont00025325
               WinFWUpg: Unable to upgrade bootcode on a 5754M A2 nic
      Cause:
               During device/image matching, we first check to see 
               if the NIC is of a 5754 type (which includes 5754M).
               If so, we fail to identify the "M" part. Following 
               this check is the check to identify if it is a 
               5754M type. Because of the checking order, we identify
               5754M type as 5754. Hence the bug.  
      Change:
               Reversed the check to identify 5754M before 5754.
      Impact:
               Use cases around the bug.                    
               
  4. Problem:  Cont00025194
               WinFWUpg: Unable to upgrade/install asf fw on Dell Heiden
      Cause:
               The code wrongly assumed that ASF is not supported
               on all of the NICs whoose ASIC version is 5787.
               Hence the bug.
      Change:
               The code now reports that ASF not supported
               only if the NIC type is 5786 or it is a selfboot
               when dealing with 5787 family of NICs.
      Impact:
               upgrade -asf option.
               
  5. Problem:  Cont00025289
               System locks up during bootcode upgrade using 
               linux firmware upgarde util. on 5700
      Cause:
               The code was incorrectly trying to read the 
               flash config register on 5700 & 5701 devices.
      Change:
               Check to see if flash is supported before 
               trying to read the flash config register.
      Impact:
               All.                 
               
               
Version 6.0.18 (June. 06, 2006)
---------------------------------

   Fixes:
   ======
   
  1. Problem:  Cont00024976
               WinFwUpg 6.0.16: Cannot upgrade bootcode for 5702
      Cause:
               Prior to the change, the code was setup to do
               a strict device id matching against the firmware
               file we are about to upgrade to. This approach 
               would probably not work all the time (as is 
               evident from the bug case).
      Change:
               We do family based device-id/part matching 
               (just like in DOS).
      Impact:
               All.
               
  2. Problem:  Cont00025174
               Winfwupg crashes when using -all with missing parameters
      Cause:
               Prior to the change, the code was not setup to
               capture missing/invalid parameters for the 
               'upgrade'/'restorenvram' commands when used with
               the '-all' option.
      Change:
               We now report error for cases as described in the bug.
      Impact:
               "-all" option.
               
  3. Problem:  Cont00025026
               WinFWupg: able to upload Teton MBA/PXE to Legacy cards
      Cause:
               Prior to the change we weren't validating against the
               default device id contained in the firmware image 
               file. 
      Change:
               We now report error if a NetXtremeII MBA/PXE image file was
               used to upgrade PXE/MBA on NetXtreme device. We also 
               check against the default device id contained in the 
               PXE/MBA firmware file for NetXtreme.
      Impact:
               'upgrade' command.  
               
  4. Problem:  Cont00025092
               Winfwupg: incorrect checksum/nvram image when 
               saving image for 5786
      Cause:
               The flash type detection logic was not fully propagated
               properly in all the relevant places. This logic was 
               missing when we do in-memory crc check on the dump
               that we are about to restore.
      Change:
               We now detect the flash type correctly and do the 
               right thing when doing checksum verification on 
               the dump file that we are about to restore.
      Impact:
               All.                             

  5. Problem:  Cont00025027
               WinFWUpg: Legacy cards unable to overwrite Teton 
               nvram saveimage files.
      Cause:
               NetXtremeII dump files are read-only. So, when 
               dumping from NetXtreme, we failed to overwrite.
      Change:
               We now remove the read-only attribute before 
               deleting the existing dump file (pretending
               overwrite).
      Impact:
               'dumpnvram' command. 
               
  6. Problem:  Cont00022363
               WinFwUpg: Need UMP upgrade support in WinFWUpg 6.0.17
      Cause:
               The current UMP config version information that
               was maintained in the code was out-dated and 
               needed to be updated.
      Change:
               Updated the current UMP config version information.
      Impact:
               'upgrade -ump' command option. 
               
  7. Problem:  Cont00025028
               WinFWUpg: upgrade command does not check the 
               version of the firmware (no need for -F parameter).
      Cause:
               The code did not have the support for the requested
               logic.
      Change:
               Added support for detecting downgrade conditions 
               and doing the right thing.
      Impact:
               'upgrade' command. 

Version 6.0.17 (May. 30, 2006)
---------------------------------

   Enhancements:
   =============

   1. Request: Cont00024073
               Request to have Frm Upgrade Utility to only 
               work on devices that it recognizes
      Cause:
               This is an enhancment request.
      Change:
               Added support to list only the supported devices
               that the commands can operate on.
      Impact:
               All
                              
   2. Request: Cont00022863
               Request field FW upgrade utility winfwupg with 
               -firmall option
      Cause:
               This is an enhancment request.
      Change:
               Added support for the -all option as part of the
               upgrade command.
      Impact:
               upgrade/restorenvram commands.
               
   Fixes:
   ======
   
  1. Problem: Cont00024908
               WinFwUpg 6.0.16 - Incorrect version (6.0.15) 
               shown when executed.
      Cause:
               Failed to update the version information for
               the previous release.
      Change:
               For this release updated the version information
               in all the required places.
      Impact:
               all
               
  2. Problem: Cont00024933
               Winfwupg 6.0.16: Crashes when uploading dummy MBA nic FW
      Cause:
               Uninitialized variable.
      Change:
               Initialized the uninitialized variable and checking
               against the invalid initialization value during 
               checksum verification.
      Impact:
               upgrade command.
               
  3. Problem: Cont00024981
               WinFwUpg 6.0.16: ISCSI should not be allowed or mentioned
      Cause:
               Support for ISCSI bootcode upgrade was recently added 
               but was later agreed to be dropped for this release.
      Change:
               Removed the -ib option from the upgrade command.
      Impact:
               upgrade command. 
               
Version 6.0.16 (May. 18, 2006)
---------------------------------

   Enhancements:
   =============
   1. Request:
               Added UMP/iSCSI support. 
      Change:
               Enhancements.
      Impact:
               All.
               Different flash types as well.
               
   Fixes:
   ======
   1. Request: Cont00022363
               Need UMP upgrade support in WinFWUpg
      Cause:
               The code now has support for UMP upgrade.
      Change:
               Added Support.
      Impact:
               all
               
               
Version 6.0.15 (May. 12, 2006)
---------------------------------

   Enhancements:
   =============
   1. Request:
               Added support for 5787 and 5754 chips.
               Added selfboot support as well.
      Change:
               Enhancements.
      Impact:
               All
               
   Fixes:
   ======
   1. Request: CQ24046
               WinFWUpg:Bootcode fails checksum when you run sechksum
      Cause:
               The code now has support for 5754 chips.
      Change:
               Added Support.
      Impact:
               all
               
               
Version 6.0.13 (Oct. 7, 2005)
---------------------------------

   Fixes:
   ======
   1. Request: CQ13651
               WinFWupg utility prompts for confirmation in command
               line mode
      Cause:
               The codes does not check whether it is executed under
               shell mode or command mode when propmpts for answer.
      Change:
               Don't prompt when it is executed under command mode.
      Impact:
               all


Version 6.0.12 (Jun. 22, 2005)
---------------------------------

   Enhancements:
   =============
   1. Request:
               Added support to PCI and PCI-E PXE firmware
               programming.
      Change:
               PCI and PCI-E devices will use different PXE firmware
               image.
      Impact:
               PXE firmware programming

   2. Request:
               Sync. up with latest b57diag software
      Change:
               The codes are based on b57diag v8.11.
      Impact:
               all


Version 6.0.11 (Feb. 22, 2005)
---------------------------------

   Enhancements:
   =============
   1. Request:
               Support TPM NVRAM lockout feature.
      Change:
               Sync. up the lockout feature with b57diag.
      Impact:
               Shasta C0 and Baxter


Version 6.0.10 (Feb. 16, 2005)
---------------------------------

   Enhancements:
   =============
   1. Request: 
               Support Baxter and Hamilton chips.
      Change:
               Add ASIC rev. and codes to support Baxter and
               Hamilton.
      Impact:
               All
      Note:
               The implementation REQUIRES that NVRAM size and TPM
               size are configured properly.
               'erase' command does not support NVRAM address
               lock-out feature for Baxter yet.

   2. Request: 
               Support Hot-Plug configuration for Baxter and Shasta
               C0.
      Change:
               Add Hot-Plug configuration support for Baxter and
               Shasta C0.
      Impact:
               'upgfrm' and 'secfg' commands.


Version 6.0.9 (Jan. 25, 2005)
---------------------------------

   Fixes:
   ======
   1. Request: CQ11793
               WinFWUpg does not run on MoW Win2003-IA64
      Cause:
               The way to detect non-buffered flash may cause the
               problem.
      Change:
               Detect no-buffered flash properly.
      Impact:
               all
      Note:
               Due to a driver bug regarding NVRAM access, driver
               v7.102 or later and v8.15 or later is required for
               5700, 5701, 5702, 5703, 5704 and 5705 devices.


Version 6.0.8 (Dec. 14, 2004)
---------------------------------

   Enhancements:
   =============
   1. Request: 
               When doing '-w' command, if the driver version is
               earlier than v8.13, unload and lod the driver after
               NVRAM is updated.
      Change:
               Unload and load driver after NVRAM is updated if
               driver version is earlier than v8.13.
      Impact:
               '-w' command.
      Note:
               If driver version is earlier than v8.13, please close
               all appliocations before do '-w' command. If possible,
               also stop background process such as ASF IP monitoring
               Service and Power Management Service.
               IF ANY APPLICATION IS ACCESSING DRIVER WHILE THE
               FIRMWARE UPGRADE UTILITY IS TRING TO UNLOAD AND LOAD
               DRIVER, THE UNLOAD AND LOAD ACTION MAY FAIL.
               If the action failed, please manually use Device
               Manager make sure the driver is loaded and to reload
               the driver or reboot the system.


Version 6.0.7 (Nov. 22, 2004)
---------------------------------

   Enhancements:
   =============
   1. Request: CQ11144
               Window Upgrade Firmware - Support to enable / disable
               WOL
      Change:
               Add '-w <value>' command to enable/disable WOL.
      Impact:
               none

   2. Request: 
               Link with BMAPIa.dll for AMD64/EM64T 64-bit Wondows
      Change:
               Use BMAPIa.dll instead of BMAPI.dll for AMD64/EM64T
               64-bit Wondows
      Impact:
               AMD64/EM64T 64-bit Wondows

   3. Request: 
               Support new flash devices.
      Change:
               Support new NVRAM size configuration in NVRAM
               (0xf0-0xf3).
      Impact:
               a. Required NVRAM size configuration set in NVRAM
                  (0xf0-0xf3)
               b. Required driver support for new flash devices.


Version 6.0.6 (May. 27, 2004)
---------------------------------

   Enhancements:
   =============
   1. Request: CQ10205
               Need better ouput in WinFWUpg
      Change:
               It is resolved as suggested to detect whether the
               program is in command mode or not. If it is in
               command mode, the output string with '\b' will be
               supressed.
      Impact:
               output information at command mode

   2. Request: CQ10204
               Need better support for online IPMI upgrade in
               WinFWUpg
      Change:
               New option to save current entire NVRAM image is
               added.
      Impact:
               'seprg -a' command

   3. Request: 
               Support BroadSafe feature.
      Change:
               nvram programming related functions
      Impact:
               all

   4. Request: 
               Sync. up with b57diag 7.31 source codes.
      Change:
               All functions port from b57diag
      Impact:
               all

Version 6.0.5 (Apr. 29, 2004)
---------------------------------

   Fixes:
   ======
   1. Request: CQ9994
               WinFWUpg: Cannot load PXE images bigger than 64K
      Cause:
               The program is using old firmware image size cap.
      Change:
               Change the new cap to be the same as b57diag.
      Impact:
               PXE upgrade

Version 6.0.4 (Feb. 9, 2004)
---------------------------------

   Fixes:
   ======
   1. Request: CQ9473
               WinFWUpg fails when teaming is configured
      Cause:
               The program use current MAC address instead of
               permanent MAC address to identify the target NIC when
               input from command prompt.
      Change:
               Use permanent address to identify the target NIC.
      Impact:
               command prompt input parameter

   Enhancements:
   =============
   1. Request: 
               Support for new ASF 2.0 data.
      Change:
               Upadte to latest ASF table.
      Impact:
               ASF related functions.

   2. Request: 
               Use 'seprg -a' to program ASF firmare.
      Change:
               Implement 'seprg -a' command.
      Impact:
               none

Version 6.0.3 (Jan. 15, 2004)
---------------------------------

   Enhancements:
   =============
   1. Request: 
               Support for ASF 2.0.
      Change:
               Modify all ASF related functons.
      Impact:
               1. asfprg command.
               2. Require BMAPI v6.3.7 or later

   2. Request: 
               Support for ASF 2.0.
      Change:
               Modify all ASF related functons.
      Impact:
               1. asfcfg command.
               2. Require BMAPI v6.3.7 or later

   3. Request: 
               Support for 575x new LED modes.
      Change:
               Modify LED mode related settings and secfg related
               functions.
      Impact:
               1. secfg command.
               2. Require BMAPI v6.3.7 or later

   4. Request: 
               Support for AMD64 platform.
      Change:
               Re-compile for AMD64 machine.
      Impact:
               AMD64 platform.

Version 6.0.2 (Dec. 19, 2003 )
---------------------------------

   Enhancements:
   =============
   1. Request: 
               Support for 575x devices
      Change:
               Recognize and support 575x based chip.
      Impact:
               All OS.



Revision History
================

6.0.1:
- Fix CQ7103: Unable to upgrade ASF firmware (non-interactive mode)
  eventhough NDIS driver version is greater than 3.28.
  The problem is caused by the WinFWUpg not getting driver version
  number in non-interactive mode. It is fixed in this version.

6.0.0:
- Support .NET Server 2003 32/64 bit environment.
- 'asfprg' command requires driver 3.28 or later.

1.0.7:
- Support ASF on 5705.

1.0.6:
- Require BMAPI v3.0.3.
- Support ASFCFG version 5.
- Fix:
  4938: WinFWUpg help menu needs correction on certain words.

1.0.5:
- Fix:
  4931: WinFwUPG does not check for file before erasing current ASF firmware
  4932: WinFWUpg does NOT upgrade bootcode when the firmware upgrade process
  requires NVRAM gap cleaning routine.

1.0.4:
- Add MAC address as one of method to select target adapter from command
  line parameters.
- 'restorenvram' accepts option to restore complete image except MAC address.
- Fix:
  4887: sechksum command needs to allow user to correct (update) EEPROM
  checksum as stated in the help menu.
  4885: 'Following' and 'complete' are misspelled as 'Fowllowing' and
  'compelete' in help menu..

1.0.3:
- Take out commands (erase, seread, sewrite) that are for development
  purposes.
- Parameters of 'seread' and 'sewrite' are changed to all hexdecimal.

1.0.2:
- Require network adapter driver 2.78 or later.
- Add to support command line for 'upgfrm', 'asfprg', 'dumpnvram' and
  'restorenvram'.
- Add exit code definition. Please refer to 'General Information' section.


Initial Release
------------------
- Require BMAPI v2.2.19 or later.
- Support Broadcom 570x network adapters only.
- Require network adapter driver 2.67 or later.
- Support boot code and PXE upgrade. ASF firmware update is not supported.




