Skip to main content

LSI Firmware Update

DISCLAIMER: The information in this guide is provided "as is" without any guarantee of completeness, accuracy, timeliness, or of the results obtained from the use of this information. The author assumes no responsibility for any errors or omissions in the content. It is meant for general information purposes only and should not be used as a substitute for professional advice. The author is not responsible for any damages caused by the use of this information. By using this guide, you agree to hold the author harmless from any and all claims, damages, or expenses that may arise from your use of the information.


Introduction

This guide covers updating the LSI 9300-xx firmware to version 16.00.12.00. This version resolves performance issues causing the controller to reset when using SATA HDDs. This guide was used to flash an LSI 9300-8i from IR to IT mode.

After working with Broadcom, we’ve come up with a firmware update that is not available on their website that should resolve these controller reset issues...

Please Note: This problem applies only to firmware versions below 16.00.12.00 and Only affects SATA drives. SAS drives are not affected.

SOURCE: JoshDW19 (https://www.truenas.com/community/resources/lsi-9300-xx-firmware-update.145/)


Requirements

  • Download Rufus. We'll rufus to create a freedos bootable USB later in this guide.
  • Download the firmware .zip file (9300_8i_Package_P16_IR_IT_FW_BIOS_for_MSDOS_Windows.zip). This contains the sas3flash that will be used later in this guide.
  • Download the custom firmware .zip file (SAS3_FW_Phase16.0-16.00.12.00_Firmware.zip). This contains the custom firmware that will be used later in this guide.

Prepare a Bootable USB

Create a FreeDOS USB

Launch Rufus and use the configurations in the screenshot below. FAT32 is used in this example, because it works with DOS and EFI.

image.png


Copy Necessary Files to the USB

  1. Extract files from 9300_8i_Package_P16_IR_IT_FW_BIOS_for_MSDOS_Windows.zip. Copy ...\9300_8i_Package_P16_IR_IT_FW_BIOS_for_MSDOS_Windows\sas3flash_dos_rel\sas3flsh.exe file to the root of the FreeDOS USB.

    The sas3flsh.exe utility from the 9300_8i_Package_P16_IR_IT_FW_BIOS_for_MSDOS_Windows.zip can also be used for other compatible HBA cards, such as the LSI 9300-16i.


  2. Extract files from SAS3_FW_Phase16.0-16.00.12.00_Firmware.zip. Copy ...\SAS3_FW_Phase16.0-16.00.12.00_Firmware\9300-8i\SAS9300_8i_IT.bin file to the root of the FreeDOS USB.

    Afterwards, the FreeDOS USB should have the following:

    image.png

Boot the FreeDOS USB

  1. List all available LSI devices and review the information provided carefully:
    sas3flsh.exe -listall
  2. Clean flash (erase everything except for the manufacturing area) the LSI HBA firmware:
    sas3flsh.exe -c CARD_ID -o -e 6

    The CARD_ID is generally 0. However, if this isn't the case, run sas3flsh.exe -listall to list all cards and respective ID. After acquiring the CARD_ID, sas3flsh.exe -c -CARD_ID -list will retrieve further card details.


  3. Install/Update the LSI HBA firmware:

    In this section SAS9300_xx_IT.bin is used to reference the firmware file, however when using FreeDOS, the short name (8.3 convention) may have to be referenced instead - use the DIR command when booted into FreeDOS to get the short name. Use the short name in place of SAS9300_xx_IT.bin.


    • If the LSI card has one chip:
      sas3flsh.exe -o -f SAS9300_xx_IT.bin
    • If the LSI card has two or more chips, use one of the two commands:

      • Flash a specific chip:
        sas3flsh.exe -c <num> -o -f sas9300_xx_IT.bin

        Use sas3flsh.exe -listall to get the value for <num>.

      • Flash all chips:
        sas3flsh.exe -fwall -o -f sas9300_xx_IT.bin

Sources

 

KB Change/Issue Log

yyyy/mm/dd - Title

Issue

N/A

Solution

N/A


KB Meta

Page Includes @9#bkmrk-callout-danger-NoResponsibilityDisclaimer-5wod5ufe