Knowledgebase

Question:

Flashing firmware and BIOS on LSI SAS HBAs

Answer:

There are several flash methods available.
 

  1. sas2flash/sas3flash
    1. sas2flash for LSI SAS 6 Gb/sec HBAs (Windows/Linux/EFI)
      1. Cannot be used to flash to older firmware
      2. Cannot be used to flash from IT to IR firmware or from IR to IT firmware
      3. Can be used to flash the controller BIOS and/or EFI
    2. sas2flsh for LSI SAS 6 Gb/sec HBAs (DOS)
      1. Can be used to flash to older firmware
      2. Can be used to flash from IT to IR firmware or from IR to IT firmware
    3. sas3flash for LSI SAS 12 Gb/sec HBAs (Windows/Linux/EFI)
      1. Cannot be used to flash to older firmware
      2. Cannot be used to flash from IT to IR firmware or from IR to IT firmware
      3. Can be used to flash the controller BIOS and/or EFI
    4. sas3flsh for LSI SAS 12 Gb/sec HBAs (DOS)
      1. Can be used to flash to older firmware
      2. Can be used to flash from IT to IR firmware or from IR to IT firmware

_______________________________________________
Note:  The DOS version of sas2flsh (sas3flsh for 12 Gb/sec HBAs) requires that the motherboard support the BIOS32 service directory feature.  If the BIOS32 service directory feature isn't supported, when DOS is booted and sas2flsh.exe is run, an error message "ERROR:  Failed to initialize PAL.  Exiting program." will be displayed.  You can either use the UEFI version of sas2flsh (called sas2flash.efi for 6 Gb/sec, or sas3flash.efi for 12 Gb/sec), or contact the motherboard vendor and ask if it is possible to add BIOS32 service directory support to the motherboard (most likely via a motherboard BIOS update).

Notes: 
1.  When using sas2flash.efi or sas3flash.efi, but sure to put all of the files (the firmware file, BIOS file, and sas2flash.efi/sas3flash.efi) in the root directory.   Otherwise you might see a 'Could not open file:' error.
2. Some of the scenarios below ( ) involved erasing the controller firmware first with the '-o -e 6' command line option, then flashing it back.  Doing this erases the EFI BSD.  If the EFI BSD is erased, then when the controller has IR firmware and the motherboard is in UEFI mode, then the SAS HBA will not be able to be configured in BIOS.  Also the UEFI BSD version will be displayed as 'N/A' with the sas2flash (or sas3flash) -c 0 -list command. 
You can flash the UEFI BSD firmware to resolve this.



<bios> =mpt2sas.rom for 6 Gb/sec SAS HBA
<bios> =mpt3sas.rom for 12 Gb/sec SAS HBA
 

Table for using sas2flsh/sas2flash/sas3flsh/sas3flash
 Case Flash From Flash To Motherboard used SAS2Flash/SAS3Flash OS version  Command
(example shows sas2flsh/sas2flash; use sas3flsh/sas3flash if using 12 Gb/sec SAS)
 1 Older IT firmware Newer IT Firmware  Any except SMX9  DOS/EFI/
Windows/
Linux/
Solaris
(DOS): sas2flsh -o -f <firmware>
(All other OS): sas2flash -o -f <firmware> -b <bios>
 2  Older IT firmware and BIOS  Newer IT Firmware and BIOS  Any except SMX9  DOS/EFI/
Windows/
Linux/
Solaris
(DOS): sas2flsh -o -f <firmware> -b <bios>
(All other OS): sas2flash -o -f <firmware> -b <bios>
example: sas2flsh -o -f 2118it.bin -b mpt2sas.rom
 3  Newer IT Firmware and BIOS  Older IT firmware and BIOS  Any except SMX9  DOS or EFI     (DOS):
sas2flsh -o -e 6
 sas2flsh -o -f <firmware> -b <bios>

sas2flsh -o -f <UEFI BSD firmware>
4a Older IR firmware  Newer IR Firmware  Any except SMX9 DOS/EFI/
Windows/
Linux/
Solaris
 (DOS): sas2flsh -o -f <firmware>
(All other OS): sas2flash -o -f <firmware> -b <bios>
 4b  Older IR firmware and BIOS  Newer IR Firmware and BIOS  Any except SMX9  DOS/EFI/
Windows/
Linux/
Solaris
(DOS): sas2flsh -o -f <firmware> -b <bios>
(All other OS): sas2flash -o -f <firmware> -b <bios>
 5 Newer IR Firmware and BIOS Older IR firmware and BIOS Any except SMX9  DOS or EFI  (DOS): sas2flsh -o -f <firmware> -b <bios>
(All other OS): sas2flash -o -f <firmware> -b <bios>
 6*  Any version IT firmware Any version IR firmware  Any except SMX9   DOS or EFI   (DOS):
sas2flsh -o -e 6
 sas2flsh -o -f <firmware> -b <bios>

sas2flsh -o -f <UEFI BSD firmware>
 7* Any version IR firmware Any version IT firmware   Any except SMX9   DOS or EFI    (DOS):
sas2flsh -o -e 6
 sas2flsh -o -f <firmware> -b <bios>

sas2flsh -o -f <UEFI BSD firmware>
 8  Older IT firmware  Newer IT firmware SMX9 EFI/
Windows/
Linux/
Solaris
 sas2flash -o -f <firmware> -b <bios>
 9 Older IT firmware and BIOS Newer IT firmware and BIOS  SMX9  EFI/
Windows/
Linux/
Solaris
 sas2flash -o -f <firmware> -b <bios>
 10  Newer IT firmware  Older IT firmware   SMX9  EFI  sas2flash.efi -o -f <firmware> -b <bios>
 11  Any BIOS  Any BIOS  SMX9 Windows/
Linux/
Solaris
 sas2flash -o -b <bios>
 12  Older IR firmware Newer IR firmware SMX9  Windows/
Linux/
Solaris
 sas2flash -o -f <firmware> -b <bios>
 13 Newer IR firmware  Older IR firmware  SMX9  EFI sas2flash.efi -o -f <firmware> -b <bios>
       

 

*When flashing an 12G HBA (SAS 9300 family) with IR mode firmware provided in the same package, named 9311, SAS3Flash returns the following error:
 
ERROR: NVDATA Image does not match Controller Subsystem ID!
ERROR: No compatible NVDATA Image(s) found!
Firmware Image Validation Failed!

 
Resolution:
Using DOS or EFI SAS3Flash version 10.00.00.01 or higher with following command string

sas3flsh –o –e -6
sas3flsh –o –f <firmware> -b <bios> -nossid

EFI:
sas3flash –o –f <UEFI BSD firmware> -nossid


Keywords:

flash firmware
upgrade firmware
downgrade firmware
SMX9 = Supermicro X9 motherboards

sas2flash.efi
https://docs.broadcom.com/docs/Installer_P20_for_UEFI.zip

sas3flash.efi
https://docs.broadcom.com/docs/Installer_P14_for_UEFI.zip

 

 

Data Categories:

None

Supporting Documents: