Update LSI9300-8i SAS3008 HBA controller BIOS and firmware

You may occasionally need to update the BIOS and firmware on your servers' HBA controllers. Below is a sample process that can be followed for the LSI9300-8i SAS3008 series of HBA controllers when you don't have a lot of cards to update.

NOTE: There is the potential with some HBA controllers that you could brick the unit if the flash is not performed correctly or if you're using an incorrect firmware/BIOS version. Use the below procedure at your own risk.

1) Download desired firmware from HBA MFR or OEM website and copy new firmware/BIOS images and DOS flash utility to the DOS-booting USB stick's top directory.

2) List the HBA controller(s) that is/are present. Take down the Num, Ctlr, FW Ver, NVDATA, x86-BIOS ver and PCI Addr for later comparison.
sas3flsh.exe -listall

3) Upload to USB disk the complete contents of the current flash on the HBA controller. The wording in the quick ref guide is a bit confusing because you're actually downloading current flash contents of the controller to your USB disk to save in case you biff something. You can also use the -ubios, -ufirmware, -ufwbackup and -unvdata flags to retrieve the individual items.
sas3flsh.exe -o -uflash current.rom

4) Flash the new BIOS image to the HBA controller.
sas3flsh.exe -b mptsas3.rom

5) Flash the new firmware to the HBA controller.
sas3flsh.exe -o -f NEWFW.bin

6) Re-run this command to confirm updated versions. Note the changed info.
sas3flsh.exe -listall

7) Remove your USB stick and reboot the server to confirm the updated HBA BIOS/FW operates as expected. If any issues, use your current.rom flash backup to restore the HBA to its original state.

Reference: Flashing firmware and BIOS on LSI SAS HBAs: https://www.broadcom.com/support/knowledgebase/1211161501344/flashing-firmware-and-bios-on-lsi-sas-hbas