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

                  Broadcom NetXtreme Firmware Upgrade Tool
                                 for Linux
                         
                Copyright (c) 2005-2007 Broadcom Corporation
                            All rights reserved.
                              June 29, 2007



Version 1.0.29 (June 29, 2007)
---------------------------------

   Enhancements:
   =============
   1. Request: CQ27417
               Use the libstdc++ as a static library in lnxfwupg.
      Change:
               Link the libstd++ as a static library in lnxfwupg,
               instead of as a shared library.
      Impact:
               All NetXtreme adapters.


Version 1.0.28 (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
                'lnxfwupg -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 1.0.27 (May 29, 2007)
---------------------------------

   1. Request: CQ29694
               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 1.0.26 (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 1.0.25 (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 1.0.24 (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 1.0.23 (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.

   3. Problem: CQ28960
               FWUPG crashed when upgraded bootcode on BCM5700/5701.
      Causes:
               FWUPG tried to read NVRAM_CONFIG1_REG that is not available
               in BCM5700/5701.               
      Change:
               FWUPG will not try to read from NVRAM_CONFIG1_REG if
               BCM5700/5701 is identified.
      Impact:
               BCM5700/5701-based NetXtreme adapters.


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

   Enhancements:
   =============
   1. Request: CQ27206
               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 1.0.21 (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 1.0.20 (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.
      Note:
               Power PC platform was not tested.

   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 1.0.19 (February 23, 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 Linux.

      Note:
               Power PC platform is not tested.


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

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

      Note:
               Power PC platform is not tested.

   Fixes:
   ======
   1. Problem: CQ28285  
               Lnxfwupg utility does not process the version of PXE
               image file correctly in PPC platform.
      Cause:
               In previous lnxfwupg for PPC, the function to check
               PXE file version did not work correctly in PPC platform.
      Change:
               The function to check the PXE file version was modified
               to make sure it worked on both x86 and PPC platforms.
      Impact:
               The tool should be able to process PXE file version
               correctly on both x86 and PPC platforms via the
               "upgrade -mba" command.


Version 1.0.17 (January 5, 2007)
---------------------------------

   Fixes:
   ======
   1. Problem: CQ27724  
               Lnxfwupg utility does not update PXE code in PPC.
               Reported the "PXE binary is for PCIe" error message
               when the PXE binary file was for PCI/PCIX adapter.
      Cause:
               In previous lnxfwupg for PPC, the routine to program
               PXE code did not handle the byte order properly when
               checking the Flags word in Vendor Data region.
      Change:
               Fixed the related routine to handle byte order correctly
               when examining the Flags word in Vendor Data region on PPC.
      Impact:
               The tool should be able to upgrade PXE code on PPC via 
               the "upgrade -mba" command.


Version 1.0.16 (December 5, 2006)
---------------------------------

   Fixes:
   ======
   1. Problem: CQ27724  
               Lnxfwupg utility does not update PXE code in PPC.              
      Cause:
               In previous lnxfwupg for PPC, the routine to program
               PXE code did not handle the byte order properly when
               checking the device id. 
      Change:
               Fixed the related routine to handle byte order correctly
               when examining the device id on PPC.
      Impact:
               The tool should be able to upgrade PXE code on PPC via 
               the "upgrade -mba" command.
              

Version 1.0.15 (November 30, 2006)
---------------------------------

   Enhancements:
   =============
   1. Request:  
               To add a "Disclaimer" section in Readme.txt.
      Change:
               Added the "Disclaimer" section in Readme.txt
               with statements provided by Marketing.
      Impact:
               "Disclaimer" section in Readme.txt.

   Fixes:
   ======
   1. Problem:   
               To remove bcm5700 driver support.               
      Cause:
               Previous releases mistakenly allowed adapters loaded 
               with bcm5700 driver.
      Change:
               Removed the bcm5700 driver support as requested.
      Impact:
               The tool should not work on any adapters loaded with
               bcm5700 driver.

   2. Problem: CQ27122 
               Lib64 search path for lnxfwupg-ppc needs to be fixed.
      Cause:
               The linker specified in previous releases caused the 
               wrong loader path to be hard coded in the ELF file.
      Change:
               Rework Makefile to use the system default compilers and
               linker with proper CFLAGS and LFLAGS options.
      Impact:
               The reported message "bad ELF interpreter" should not 
               be seen when running lnxfwupg on any PPC platform.

               Readme.txt has been updated to remove this from 
               "Known Limitations" section.
              

Version 1.0.14 (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 above message only for debug mode.
      Impact:
               The reported message should only be seen for debug mode.

   2. Problem: CQ27318  
               PPC Firmware Update tool under Linux doesn't show same 
               info. 'dir' command in previous lnxfwupg for PPC only  
               showed version information, i.e. v3.41, while others all
               append version id to the device information string, i.e.
               5704s-v3.41.
      Cause:
               In previous lnxfwupg for PPC, the 'dir' command was not
               handling the byte order properly when retrieving the 
               device version string on PPC.
      Change:
               Fixed the related routines to handle byte order correctly
               when examining the device version string on PPC.
      Impact:
               'dir' command in lnxfwupg for PPC.


Version 1.0.13 (October 20, 2006)
---------------------------------
   Fixes:
   ======
   1. 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.

   2. 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.

   3. 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 1.0.12 (October 3, 2006)
---------------------------------
     - Need bmapilnx version 6.3.28 or above.
     - Need tg3 version 1.3.58 or above.

   Enhancements:
   =============
   1. Request:  
               To add 'cfg' command to configure MAC address
               for all supported NetXtreme devices.
      Change:
               Implemented 'cfg' command to configure MAC address
               as requested.
      Impact:
               New command 'cfg' is added. 'cfg -mac <mac address>' 
               can be used to configure MAC address for the selected
               NetXtreme adapter.

   2. 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.

   3. 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: 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.

   3. 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. 

   4. Problem: CQ26414  
               Attempting to program firmware with invalid bootcode 
               name results in segmentation 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.

   5. 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.

   6. 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.

   7. 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.

   8. Problem: CQ26674 
               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.

   9. 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.

  10. 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.

  11. 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.

  12. 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.

  13. 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.

  14. 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:
               Ensured the supplied selfboot file image to be in little 
               endian format before invoking the checksum verification 
               routine.
      Impact:
               Use case scenario around the bug.

  15. 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.

  16. 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.

  17. 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.

  18. 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.


Version 1.0.11 (July 14, 2006)
---------------------------------

   Fixes:
   ======
   1. 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.
               
   2. Problem: CQ25449  
               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.
               
   3. Problem: CQ25852  
               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. 
               
               
Version 1.0.10 (July 11, 2006)
---------------------------------
     - Need bmapilnx version 6.3.27 or above.
     - Need tg3 version 1.3.58 or above.

   Fixes:
   ======
   1. Problem: CQ25483  
               Corruption occurred when updating bootcode on a 5714/5715
               using a ST MP45PE10 flash. 
      Cause:
               As reported in CQ25116 where boot code prior to v3.27 
               was not done correctly for a Hamilton device with ST 
               MP45PE10 flash and caused the tg3 driver unable to 
               program nvram.
      Change:
               If a 5714/5715/5780 with ST MP45PE10 flash and bootcode 
               version < 3.27 attempts to program its nvram image, 
               the changes will stop its attempt with error code 
               FWUPG_SPECIAL_UPGRADE_REQUIRED and the following message:

               "Due to an incompatible boot code in NVRAM, the DOS User 
                Diagnostics must be used to upgrade the boot code to 
                v3.27 or later."
      Impact:
               lnxfwupg will not program nvram for a 5714/5715/5780
               with ST MP45PE10 flash and bootcode version earlier 
               than 3.27.  Such 5714/5715/5780 can only be handled by
               the DOS User Diagnostics.
               
   2. Problem: CQ25797  
               "Winfwupg [MAC|GUID] seprg -a [ASF File] [save_image]" 
               results in bad nvram backup image
      Cause:
               The code that initializes NVRAM size was 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.
               
   3. Problem: CQ25699  
               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 1.0.9 (July 7, 2006)
---------------------------------

   Fixes:
   ======
   1. Problem: CQ25706  
               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 1.0.8 (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 1.0.7 (June 23, 2006)
--------------------------------

   Fixes:
   ======
   1. Problem: CQ25129  
               Slow read/write access for 5751 LOM on AT24C512N flash.
      Cause:
               Original code mistakenly sent the NIC to sleep for
               100 seconds.
      Change:
               Modified the code to use correct function and time value 
               to pause.
      Impact:
               NICs with serial eeprom should not show slow read/write
               time.

   2. Problem:  
               -w option to set Wol does not take effect after setting.
      Cause:
               Original code did not reset the NIC after -w was set.
      Change:
               Fixed the code to reset the driver upon exit if wol was 
               set.
      Impact:
               -w option to set wol.

   
Version 1.0.6 (June 21, 2006)
--------------------------------

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

   1. Request:  
               Check for image mis-match with 'restorenvram' command.
      Change:
               Rolled over applicable changes from Windows WinFWUpg 
               v6.0.20 to filter out the devices if there is an
               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 for 'restorenvram' command.
      Change:
               Rolled over applicable changes from Windows WinFWUpg 
               v6.0.20 to do family based device-id matching.
      Impact:
               'dumpnvram'/'restorenvram' with/without -all option.

   Fixes:
   ======
   1. Problem: To roll over applicable fixes for CQ25359 submitted to
               Windows WinFWUpg v6.0.20.
               CQ25359: WinFWUpg: While doing a nvram restore on a 5786/
                        5787 selfboot, the MAC does not get restored.
      Cause:
               The condition was reserved and handled incorrectly in 
               previous version.
      Change:
               Rolled over the applicable fixes from Windows WinFWUpg 
               v6.0.20 to reverse the checks.
      Impact:
               'upgrade' command on self-boot.

   
Version 1.0.5 (June 15, 2006)
--------------------------------

   1. Problem: CQ25197  
               IPMI Version not reported for 5704c on RH4.0 PPC.
      Cause:
               Previous verison did not handle byte order properly 
               when reading the IPMI directory information on PPC64.
      Change:
               Corrected byte order handling when reading directory
               information on PPC64.
      Impact:
               The 'dir' command.

   2. Problem: CQ25338  
               Update "Installation" in Readme.txt for lnxfwupg package.
      Cause:
               Revised marketing requirement.
      Change:
               Updated "Installation" in Readme.txt for the requested
               packaging.
      Impact:
               Readme.txt.


Version 1.0.4 (June 14, 2006)
--------------------------------

   Fixes:
   =============
   1. Problem: To roll over applicable fixes for CQ24995 submitted to
               Windows WinFWUpg v6.0.19.
               CQ24995: WinFWUpg: Disable/Enable wol corrupts selfboot 
                        firmware and resets MAC address
      Cause:
               Prior to the change, the code was not setup to do
               disable/enable wol for selfboot firware types.
      Change:
               Rolled over the applicable fixes from Windows WinFWUpg 
               v6.0.19 to do disable/enable wol correctly now.
      Impact:
               -w command option.

   2. Problem: CQ25361  
               5786 Self Boot -- Unable To Restore Dumped NVRAM Image
               with error showing "Device ID in NVRAM image error"
      Cause:
               The code did not have the support for the mentioned
               device.
      Change:
               Rolled over the applicable fixes for CQ25243 from 
               Windows WinFWUpg v6.0.19 to get the needed device
               information.
      Impact:
               All commands/devices.
 
   3. Problem: To roll over applicable fixes for CQ25325 submitted to
               Windows WinFWUpg v6.0.19.
               CQ25325: 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:
               Rolled over the applicable fixes from Windows WinFWUpg 
               v6.0.19 to reverse the check to identify 5754M before 
               5754.
      Impact:
               Use cases around the bug.                    

   4. Problem: CQ25217  
               Unable to Program ASF Firmware on the Dell Heiden 
               (5754-A2) LOM
      Cause:
               The code wrongly assumed that ASF is not supported
               on all of the NICs whose ASIC version is 5787.
      Change:
               Rolled over the applicable fixes for CQ25194 from 
               Windows WinFWUpg v6.0.19. 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' command with -asf option. 

   5. Problem: To roll over applicable fixes for CQ25289 submitted to
               Windows WinFWUpg v6.0.19.
               CQ25289: WinFWUpg: System locks up during bootcode 
                        upgrade using lnxfwupg on 5700.
      Cause:
               The code was incorrectly trying to read the 
               flash config register on 5700 & 5701 devices.
      Change:
               Rolled over the applicable fixes from Windows WinFWUpg 
               v6.0.19. It checks to see if flash is supported before
               trying to read the flash config register.
      Impact:
               All.                          
  
   6. Problem: CQ25337       
               lnxfwupg asking for "BMAPI 6.180388626435.24 or later".
      Cause:
               This output message was clobbered on 64-bit platform.
      Change:
               Corrected the output format for the message. 
      Impact:
               Message text.

   7. Problem: CQ25363       
               lnxfwupg does not check for current tg3 driver as 
               minimum version.
      Cause:
               The checking was missing in some paths.
      Change:
               Checked the required driver version in all paths. 
      Impact:
               The tool should require tg3 driver version >= 3.58. 

         
Version 1.0.3 (June 12, 2006)
--------------------------------

   Enhancements:
   =============
   1. Request: CQ13580, CQ25205
               Request field FW upgrade utility with -all option.
      Change:
               Rolled over applicable changes for CQ22863 from WinFWUpg
               v6.0.17.
      Impact:
               upgrade/restorenvram commands.

   2. Request: 
               Request to have Firmware Upgrade Utility to only work on
               devices that it supports.
      Change:
               Rolled over applicable changes for 24073 from WinFWUpg
               v6.0.17.
      Impact:
               All

   Fixes:
   =============
   1. Problem: To roll over applicable fixes for the following CQs
               submitted to Windows WinFWUpg.
               CQ25026: WinFWUpg: able to upload Teton MBA/PXE to 
                        Legacy cards.
               CQ25092: WinFWUpg: incorrect checksum/nvram image when 
                        saving image for 5786.
      Cause:
               CQ25026: 
               The code didn't validate against the default device id 
               contained in the firmware image file.

               CQ25092: 
               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:
               Rolled over the applicable fixes from Windows WinFWUpg 
               v6.0.17 and v6.0.18.
      Impact:
               All

   2. Problem: CQ25183       
               User is able to downgrade boot code without being warned.
      Cause:
               The code did not have the support for the requested
               logic.
      Change:
               Rolled over applicable fixes for CQ25028 from WinFWUpg
      Impact:
               All

   3. Problem: CQ24859       
               Version command from the command line causes 
               "initialization failure".
      Cause:
               Internal error handling.
      Change:
               Re-worked the error handling to return 
               "Can not identify adapter from specified parameter <%s>".
      Impact:
               Command line interface.

   4. Problem: CQ25222
               Failed to upgrade boot code on 5703 copper with error 
               showing "Device ID from image file does not match NIC".
      Cause:
               In previous version, the code was setup to do a strict 
               device id matching against the firmware file we are about
               to upgrade to. 
      Change:
               Rolled over applicable fixes for CQ24976 from WinFWUpg.
      Impact:
               All

   5. Problem: CQ24718       
               Message incorrectly indicates "driver is not loaded".
      Cause:
               This message only applies to Windows but not Linux.
      Change:
               Report "Interface is not up!" instead. 
      Impact:
               Message text.

   6. Problem: CQ25128       
               Logging option does not capture console out on 64-bit
               systems.
      Cause:
               This is caused by a known problem in the glic library 
               function vsprintf() on 64-bit systems.
      Change:
               Document it in "Known Limitations" in Readme.txt with
               instructions to capture a screen log.
      Impact:
               Readme.txt.

   7. Problem: CQ25139       
               tg3 driver sub-revision not reported.
      Cause:
               Previous release did not report sub-revision.
      Change:
               Report sub-revision as requested. 
      Impact:
               Sub-revision for tg3 should be reported.

   8. Problem: CQ25181       
               Link to /opt/powerpc64/lib64/ld64.so.1 is missing
               on a Redhat 4.0 ppc64 system.
      Cause:
               The system does not have /opt/powerpc64 installed.
      Change:
               Document it in "Known Limitations" in Readme.txt with
               instructions to resolve this.
      Impact:
               Readme.txt.

   9. Problem: CQ25219       
               Help command shows support for iSCSI boot.
      Cause:
               Help text was not updated.
      Change:
               Remove iSCSI boot support from the help text. 
      Impact:
               Help text and Readme.txt.

           
Version 1.0.2 (May 31, 2006)
--------------------------------
     - Initial release of lnxfwupg for ppc64.
       This tool is to provide firmware upgrade capability for all 
       supported NetXtreme NICs for ppc64.
     - Need bmapilnx version 6.3.24 or above.
     - Need tg3 version 1.3.58 or above.
     - Document Readme.txt to include sections for 
       1. Introduction
       2. Requirements
       3. Installation
       4. Command Usage
       5. Exit Codes
       6. Known Limitations

  Notes:
       1. On ppc64 platform, the 'upgrade' command only supports '-bc' 
          option for bootcode and '-ipmi' option for ipmi image.  
       2. '-all' option is not available in this release.


Version 1.0.1 (May 19, 2006)
--------------------------------
     - Initial release of lnxfwupg for x86 and x86_64.
       This tool is to provide firmware upgrade capability for all 
       supported NetXtreme NICs including 5754, 5755, and 5787.
     - Need bmapilnx version 6.3.23 or above.
     - Need tg3 version 1.3.57 or above.
     - Document Readme.txt to include sections for 
       1. Introduction
       2. Requirements
       3. Installation
       4. Command Usage
       5. Exit Codes
       6. Known Limitations

