***************** Using the Windows Firmware Download Utility ****************** This document provides information for the Windows Firmware Download Utility v1.3.0. It contains a feature and description section. * * * * * * * * * * * Feature * * * * * * * * * * * * * * o Supports host adapter selection for performing operations on specific adapters o Supports Firmware download and upload operations (update and backup) o Supports BIOS download and upload operations (update and backup) o Supports driver update * * * * * * * * * * Description * * * * * * * * * * * * * This utility allows you to update the LSI Logic MPT BIOS and firmware, as well as the LSI Logic Windows driver. Adapters based on the following LSI Logic chips are supported: LSI53C1030, LSI53C1020, LSI53C929, LSI53C919, LSI53C929X, LSI53C919X, LSI53C1064, LSI53C1068. In addition, this utility supports updating the LSI Logic Windows driver for adapters based on a LSI53C810, LSI53C815, LSI53C825, LSI53C825A, LSI53C875, LSI53C876, LSI53C885, LSI53C895, LSI53C895A, LSI53C896, LSI53C1000, LSI53C1010 chip. The LSI53C909 is not supported. The utility is labeled WIN_FDU.EXE and is distributed on the web or SDMS CD-ROM. There is also a library labeled LSIFWD.DLL that is distributed with the utility. This library must be placed in the same directory as the utility or an error message will be displayed and the utility will not execute. These two files may be placed on a floppy disk, or on any hard disk attached to the system to be updated. System Requirements: Windows NT 4.0 Service Pack 3 or greater Internet explorer 4 or greater Windows 2000 Any Service Pack level Windows XP Any Service Pack level Only supports x86 processors Windows Server 2003 Any Service Pack level Only supports x86 processors To use the utility, execute it from its installed location by double clicking on the program executable, or by invoking the program using a command Window. Once the program is running, chose a menu option to proceed. The command line options are: /? Or /h - Display the runtime help popup example: win_fdu /? /a - The number of the adapter to update. This is a two digit number, and does not work unless an operation is included on the command line. Example: win_fdu /a 02 /b - The filename or path + filename of the BIOS image to be downloaded. If either the path or filename contains spaces or special characters, enclose all of the text in quotes ("). example: win_fdu /b a:\mptpsim.rom or win_fdu /b "c:\firmware images\new bios.rom" /d - The filename or path + filename of the firmware image to be downloaded. If either the path or filename contains spaces or special characters, enclose all of the text in quotes ("). example: win_fdu /d a:\im_rb0.bin or win_fdu /d "c:\firmware images\new firmware.bin" /e - The filename or path + filename of the BIOS image to be uploaded (backup operation). If either the path or filename contains spaces or special characters, enclose all of the text in quotes ("). example: win_fdu /e a:\backup.rom or win_fdu /e "c:\firmware images\old bios.rom" /i - Driver INF filename. This is the filename or path + filename of the OEMSETUP.INF file. The driver should be placed in the same directory as the INF file, and it will be installed in the system, replacing the current driver. If either the path or filename contains spaces or special characters, enclose all of the text in quotes ("). This may result in a system reboot to apply the changes. example: win_fdu /i a:\oemsetup.inf /l - Log filename. This is the filename or path + filename of the log file. If either the path or filename contains spaces or special characters, enclose all of the text in quotes ("). example: win_fdu /l c:\fdu_log.txt /s - Silent operation. This switch will cause the utility to suppress all user interaction. The log file will contain all output, along with a status code of success (zero) or failure (non-zero) code. There will still be passive output to the display. The system will not reboot, so check the log file after all driver upgrades. example: win_fdu /s /u - The filename or path + filename of the firmware image to be uploaded (backup operation). If either the path or filename contains spaces or special characters, enclose all of the text in quotes ("). example: win_fdu /u a:\backup.bin or win_fdu /u "c:\firmware images\old firmware.bin" Firmware upgrades: The firmware will be loaded from a file, and will be checked for validity. The first checks are a checksum of the file and a proper read of the signature from the firmware header. If either of these checks fail, it is assumed that the firmware is invalid and the utility fails the download. Next the driver is checked to ensure that it is at least v 1.04.00, which is the oldest driver that supports firmware download operations correctly. Also, the firmware is checked to ensure that the product types match. First, it makes sure that the firmware being loaded is intended for the hardware being updated, preventing 1030 B.0 firmware from being flashed to a 1030 A.0 controller, or to something else. Second, it tests the firmware type. This will ensure that IME, IS, and IO firmware types are replaced with the same type of firmware. Changing RAID firmware to another type of firmware can corrupt the volumes on those drives. The force flag is not intended for use by end users due to the damage it can cause. Finally, if the controller if of SAS family, the FW is checked for valid NVDATA. The NVDATA in the new FW image is compared with the current FW NVDATA for matching product and vendor types. The NVDATA version must be greater than 1E.00 or the validation fails. The NVDATA validation cannot be overridden with the force flag. Once the firmware image is determined to be valid, it is downloaded to the part. First, the utility will attempt to write each firmware image to the flash part. If this fails on any controller, the utility will try to write the firmware using the firmware download boot algorithm. This involves updating the firmware in driver cache, and then having the driver download the firmware to the controller and restart the firmware. Note that in the firmware download boot case, the firmware will be out of date again after a system reboot. The system BIOS needs to be upgraded in this case. In either case, a diagnostic reset will be issued to the updated controllers once the firmware download has completed. This will result in a pause of one to two seconds in the IO activity on each controller. Firmware downloads do not require a system reboot. The slight pause in IO activity is all that is noticed by the end user. The driver is fully able to reinitialize the controller after the new firmware is loaded. In addition, Windows will automatically reissue the outstanding IOs. Windows takes ten seconds to timeout IOs, at which point they will be retried without any errors, but possibly a few warnings, reported. Firmware backups: The firmware will be loaded from the flash part and saved in a file specified by the user. This image has a basic check performed on it before the save. It is possible to use the utility to restore an image that was saved by the utility at a previous point. This should only be used with the GUI or with the /a command line option. BIOS upgrades: The SCSI BIOS can be upgraded by the utility just as the firmware. The BIOS will be written to the controller, but there will not be a diagnostic reset to load the BIOS since BIOSes are not used under Windows. The new BIOS version will take effect on the next reboot. The BIOS upgrade is subject to many of the same checks as the firmware upgrade. This includes a version check to ensure that the BIOS is not being downgraded, and a check of IME / IS / IO capabilities. It is not possible to upgrade the BIOS in a firmware download boot situation since this will require a system BIOS upgrade. The utility also support BIOS Ready/Modify/Write operation. This allows the utility to upgrade any of the components of BIOS (x86 BIOS, FCode, EFI) either as a individual image or in combination of the different image types. For example, if the controller currently has [x86 BIOS] and the new BIOS image has [x86 BIOS + FCode], the x86 BIOS is replaced with the new one, and FCode flashed along with it. Since the versions of the different image types are different, the BIOS validation process compares only between the same image type, and the BIOS is not upgraded even if one of the image type validation fails. BIOS backups: The BIOS will be loaded from the flash part and saved in a file specified by the user. This image has a basic check performed on it before the save. It is possible to use the utility to restore an image that was saved by the utility at a previous point. Currently this option should only be used with the GUI or with the /a command line option. Driver upgrades: For the driver to be upgraded, the OEMSETUP.INF file and the driver file SYMMPI.SYS need to be placed in the same directory. This can be on a floppy disk or on the hard drive. Reboots: It is possible to use the utility to update both a driver and the firmware at the same time. These operations will affect all relevant cards at once. When the driver is updated, the utility will attempt to avoid the need for a reboot. If the driver being updated (SYMMPI.SYS) is the driver for the boot path, the pagefile, or the system directory, the system will require a reboot to load the new driver. Also, under Windows NT 4.0, a reboot is unavoidable during the driver upgrade process. The utility also will not be able to load new firmware if the system requires a reboot to load the driver. This is because some older driver versions do not have the necessary features required by a firmware upgrade operation. Windows determines whether or not a reboot is required during the driver upgrade process, and then reports this back to the utility. If the driver is up to date, the firmware or BIOS upgrade will take place before the driver is updated, allowing multiple simultaneous upgrades. nd then reports this back to the utility. If the driver is up to date, the firmware or BIOS upgrade will take place before the driver is updated, allowing multiple simultaneous upgrades. .