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

            Broadcom Network Controller Firmware Upgrade Utility
                for Windows Vista 32/64 bit, Windows 2000,
                    XP 32/64 bit, 2003 Server 32/64 bit

                Copyright (c) 2002-2008 Broadcom Corporation
                            All rights reserved.
                               Mar 06, 2008



Version 6.0.55 (Mar 06, 2008)
---------------------------------

   Fixes:
   =====
   1. Problem: CQ33992
                The "Failed to read NVRAM" error was displayed by FWUPG
                when "dir" command was issued at the first time.  The
                subsequent "dir" command did not display the error.
      Cause:
                The error message was displayed when FWUPG tried to
                determine the NVRAM size.  This was done when the first
                "dir" commmand was issued.
      Change:
                There is no error encountered and the error message is
                removed.
      Impact:
                BCM5764/BCM5784 adapters.

   Enhancements:
   =============
   1. Request:
               Support BCM5761 adapter.
      Change:
               Added code to support BCM5761 adapter.
      Impact:
               BCM5761 adapter.


Version 6.0.54 (Feb 14, 2008)
---------------------------------

   Fixes:
   =====
   1. Problem: CQ33619
                The "upgrade -mba" command can not upgrade
                the PXE from 3.2.1 to 3.2.2 for BCM5701.
      Cause:
                The PXE image file for 3.2.2 does not have
                a configuration bit set that was introduced
                in version 8.2.0.
                The FWUPG returns error if the configuration
                bit is not set in the PXE image file.
      Change:
                The FWUPG will return error only if the
                configuration bit is not set in the PXE image
                file and the PXE image file is v8.2.0 or later.
      Impact:
                The "upgrade -mba" command with PXE image file
                that was released before v8.2.0.


Version 6.0.53 (Jan 23, 2008)
---------------------------------

   Enhancements:
   =============
   1. Request: CQ33594
               Update the Release.txt to comply requirements.
      Change:
               The Release.txt is updated to comply requirements.
      Impact:
               None.

   Fixes:
   =====
   1. Problem:
                The version string for ASF Init firmware is
                not displayed correctly for BCM5764M NIC.
      Cause:
                The BCM5764M version string was not processed
                correctly to display on the adapter list.
      Change:
                The BCM5764M version string is now processed
                correctly to display on the adapter list.
      Impact:
                The "dir" command for BCM5764-based adapter.


Version 6.0.52 (Jan 18, 2008)
---------------------------------

   Enhancements:
   =============
   1. Request:
               Added support for BCM5764M/BCM5784M NIC.
      Change:
               Added support for BCM5764M/BCM5784M NIC.
      Impact:
               BCM5764M-based and BCM5784M-based adapters.


Version 6.0.51 (Nov 30, 2007)
---------------------------------

   Fixes:
   =====
   1. Problem:  CQ32600
                FWUPG tool overwrites the iSCSI configuration data
                when restoring NVRAM data from an image file without
                the user specifying to do so.
      Cause:
                The FWUPG tool overwrites the iSCSI configuration
                data without checking the "config" option in the
                "restorenvram" command. 
      Change:
                The FWUPG tool will preserve the iSCSI configuration
                data if the "config" option in the "restorenvram"
                command is not specified.
      Impact:
                The "restorenvram" command.

   Enhancements:
   =============
   1. Request: CQ32612
                Allow image file to be restored to the NVRAM with
                larger size.  Previously, the size of the image file
                has to be the same as the size of NVRAM.
      Change:
                Allow image file to be restored to the NVRAM with
                larger size.
      Impact:
                The "restorenvram" command.


Version 6.0.50 (Nov 08, 2007)
---------------------------------

   Fixes:
   =====
   1. Problem:  CQ25942
                Make the commands and options for FWUPG utility to be
                case sensitive.  However, the MAC address to identify
                the adapter in the "Command line mode" command should
                be case insensitive.
      Cause:
                The case sensitive restriction of MAC address was
                inposed in Release v6.0.48. 
      Change:
                The commands and options for FWUPG utility is case
                sensitive.  The MAC address to identify the adapter
                in the "Command line mode" command is case insensitive.
      Impact:
                All commands in "Command line mode" with MAC address
                for NetXtreme adapters.


Version 6.0.49 (Oct 30, 2007)
---------------------------------

   Enhancements:
   =============
   1. Request: CQ27858
               Added an option in "cfg" command to display the settings
               of current configuration.
      Change:
               The "-show" option is added to the "cfg" command.
      Impact:
               The "cfg" command for NetXtreme adapters.


Version 6.0.48 (Oct 29, 2007)
---------------------------------

   Enhancements:
   =============
   1. Request: CQ25942
               Make the commands and options for FWUPG utility to be
               case sensitive.
      Change:
               The commands and options for FWUPG utility is case sensitive.
      Impact:
               All commands and options for NetXtreme adapters.

   Fixes:
   =====
   1. Problem:  CQ26241
                When "double quote" was used to specify the file path in
                the Interactive mode, the FWUPG utility could not process
                it correctly.  This feature does work in the Command line
                mode.
      Cause:
                The "double quote" was handled by the Windows Command Shell
                in the Command line mode before the file path was passed to
                the FWUPG utility.  In the Interactive mode, the FWUPG
                utility did not handle the "double quote" correctly.
      Change:
                The FWUPG utility will handle the "double quote" character
                used in the file path in the Interactive mode.
      Impact:
                All commands with "double quote" in the file path.


Version 6.0.47 (June 27, 2007)
---------------------------------

   Enhancements:
   =============
   1. Request: CQ29609
               Add the ability to configure the 'L1 ASPM debounce' feature.
      Change:
               The feature is added in 'cfg' command.
      Impact:
               All NetXtreme adapters that support 'L1 ASPM debounce' feature.

   Fixes:
   =====
   1. Problem:  CQ26904
                'winfwupg -all upgrade -F ump <ump file> <backup file>'
                returned an error if a non-UMP device was present as
                device 0 in FWUPG utility.
      Cause:
                When detecting the UMP devices, the FWUPG utility is always
                checking device 0 due to a bug.
      Change:
                When detecting the UMP devices, the FWUPG utility will scan
                all the devices in the system.
      Impact:
                UMP firmware upgrade operation.


Version 6.0.46 (May 29, 2007)
---------------------------------

   Enhancements:
   =============
   1. Request: CQ29559
               Added the ability to do "First time install" of iSCSI
               boot in the field through 'prg' and 'restorenvram' for
               selective NetXtreme adapters.
      Change:
               The 'prg' command can program iSCSI boot firmware
               into the NVRAM.
               The 'restorenvram' command is able to pick up an
               image file that contains the iSCSI boot firmware
               and restore them into the NVRAM of an identical device
               that did not have the iSCSI boot firmware previously.
      Impact:
               Selective NetXtreme adapters.


Version 6.0.45 (May 15, 2007)
---------------------------------

   Fixes:
   =====
   1. Problem:  CQ29502
                The 'idmatch' option for 'restorenvram' command does
                not work with '-all' option.
      Cause:
                The 'idmatch' option in 'restorenvram' command was not
                parsed when the '-all' option was specified.
      Change:
                The 'idmatch' option in 'restorenvram' command is parsed
                when the '-all' option is specified.
      Impact:
                All NetXtreme adapters.


Version 6.0.44 (May 8, 2007)
---------------------------------

   Fixes:
   =====
   1. Problem:  CQ29289
                The 'restorenvram' command displayed an error message
                "error: no valid VPD header found and invalid firmware
                type" for 5906/5906M.
      Cause:
                The VPD data was not copied to the buffer that was used
                for validation.
      Change:
                The VPD data is copied to the buffer that is used for
                validation.
      Impact:
                BCM5906/5906M-based adapters.


Version 6.0.43 (April 30, 2007)
---------------------------------

   Enhancements:
   =============
   1. Request: CQ27416
               Added a '-noreset' option in 'upgrade' command and a
               new 'reset' command in Command Line Mode.
      Change:
               Implemented code for the new features.
               The '-noreset' option in 'upgrade' command wil request
               the FWUPG not to reset the NIC after upgrade is complete.
               The 'reset' command will request the FWUPG to reset
               the selected NIC.
               Both features are valid only in Command Line Mode.
      Impact:
               All NetXtreme adapters.

   Fixes:
   =====
   1. Problem:  CQ29251
                The 'restorenvram' command restored the NVRAM content
                even the 'idmatch' option was not spelled correctly.
      Cause:
                The 'restorenvram' command restored the NVRAM content
                by using the default setting if the 'idmatch' option
                was spelled wrong or absent.  Actually, the FWUPG will
                restore the NVRAM content with the default setting if
                any option keyword is not spelled correctly.
      Change:
                The 'restorenvram' command will not restore the NVRAM
                content if any option keyword is spelled wrong.  An
                error message is displayed to user.
      Impact:
                All NetXtreme adapters.


Version 6.0.42 (April 19, 2007)
----------------------------------

   Fixes:
   =====
   1. Problem: CQ29195
               The 'upgrade ?' command does not display iSCSI boot
               usage syntax.
      Causes:
               The information is not included in the display context.               
      Change:
               The iSCSI boot usage syntax is added to the context.
      Impact:
               All NetXtreme adapters.

   2. Problem: CQ29203
               FWUPG shows 'unknown' for iSCSI CFG1.
      Causes:
               The 'iSCSI CFG1' type was not recognized by FWUPG.               
      Change:
               The 'iSCSI CFG1' type is now recognized by FWUPG.
      Impact:
               All dual-port NetXtreme adapters.


Version 6.0.41 (April 18, 2007)
----------------------------------

   Enhancements:
   =============
   1. Request: CQ29157
               Support CLP image file in 'upgrade' command.
      Change:
               Implemented code to upgrade CLP image file as PXE.
      Impact:
               All NetXtreme adapters.

   Fixes:
   =====
   1. Problem: CQ27739
               The VPD information block was overwritten during the
               boot code upgrade.
      Causes:
               The VPD information from boot code image file was written
               to the NVRAM.               
      Change:
               The VPD information in NVRAM is preserved now.
      Impact:
               All NetXtreme adapters.


Version 6.0.40 (March 28, 2007)
----------------------------------

   Enhancements:
   =============
   1. Request: CQ28258
               Added checksum support for Code Directory (0x14-0x73)
               in NVRAM at offset 0x75.
      Change:
               Implemented code to add the checksum for Code Directory.
      Impact:
               All NetXtreme adapters.


Version 6.0.39 (March 07, 2007)
----------------------------------

   Enhancements:
   =============
   1. Request: CQ27344
               Added capability to upgrade iSCSI boot firmware.
      Change:
               Implemented code to support the capability to
               upgrade iSCSI boot firmware.
      Impact:
               All NetXtreme adapters.

   2. Request: CQ27910
               Added 'idmatch' option in 'restorenvram' command to
               check vendor_id, device_id, subsystem_vendor_id, and
               subsystem_device_id between the dump image file and
               the device before restoring the NVRAM from the file.
      Change:
               Implemented code to support the 'idmatch' option in
               'restorenvram' command.
      Impact:
               All NetXtreme adapters.

   Fixes:
   ======
   1. Problem: CQ28723  
               Boot code revision was not displayed correctly during
               upgrading process.
      Cause:
               The leading 0 of minor revision was not displayed.
      Change:
               Make sure the leading 0 of minor revision is displayed as 0.
      Impact:
               All NetXtreme adapters.


Version 6.0.38 (February 26, 2007)
----------------------------------

   Enhancements:
   =============
   1. Request:  
               To support the BCM5722-based adapter.
               To support the BCM5756ME-based adapter.
      Change:
               Implemented code to support BCM5722/BCM5756ME adapter.
      Impact:
               The BCM5722 and BCM5756ME adapters are supported by
               Firmware Upgrade tool for Windows.


   2. Problem: CQ27887  
               The commands, "help", "version", "dev", do not need a device
               parameter to be specified in the command line mode.
      Change:
               For "help", "version", and "dev" commands, the winfwupg can
               process the commands with or without a specified device.
      Impact:
               All adapters

   Fixes:
   ======
   1. Problem: CQ28575  
               Winfwupg has no support of 5756ME.               
      Cause:
               The 5756ME adapter is not supported in Winfwupg.
      Change:
               Functions are added to support 5756ME in Winfwupg.
      Impact:
               The BCM5756ME-based adapter


   2. Problem: CQ26896  
               Winfwupg does not recognize 5722.               
      Cause:
               The 5722 adapter is not supported in Winfwupg.
      Change:
               Functions are added to support 5722 in Winfwupg.
      Impact:
               The BCM5722-based adapter


   3. Problem: CQ28511  
               Winfwupg does not display the version of boot
               code correctly for 5906.  It does not downgrade
               the boot code properly either.
      Cause:
               The patch revision was not displayed by Winfwupg.
               The Upgrade function did not check the revision
               of the boot code.
      Change:
               Both boot and patch revisions are now displayed by Winfwupg.
               The revision of boot code is now checked by the Upgrade
               function and downgrade is done after confirmation from user.
      Impact:
               The BCM5906-based adapter


Version 6.0.37 (February 12, 2007)
---------------------------------

   Enhancements:
   =============
   1. Request:  
               To support the BCM5906-based adapter.
      Change:
               Implemented code to support BCM5906-based adapter.
      Impact:
               The BCM5906-based adapter is supported by Firmware
               Upgrade tool for Windows.


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 an OEM machine.
      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
               the (5754-A2) LOM.
      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.




