How to upgrade an LSI HBA firmware using Unraid


Recommended Posts

Best to use the DOS or UEFI tools to do any crossflashing and/or other more advanced options, e.g., for some reason erasing the BIOS doesn't work with the Linux version, but if you just need to update firmware it can be easily done with Unraid.

 

Download the MSDOS firmware package form Broadcom's support site (https://www.broadcom.com/support/download-search), for example for the 9300-8i it currently is this one:

9300_8i_Package_P16_IR_IT_FW_BIOS_for_MSDOS_Windows

Note: Downloads for SAS2 HBAs like for example the 9211-8i are usually under "Legacy Products" and then "Legacy Host Bus Adapters".

 

Now download the Linux Installer, also from the firmware section, again for the 9300-8i it currently is:

Installer_P16_for_Linux

From the DOS package we only need the firmware:

9300_8i_Package_P16_IR_IT_FW_BIOS_for_MSDOS_Windows\Firmware\SAS9300_8i_IT\SAS9300_8i_IT.bin

Optional: if the HBA has a BIOS installed and we want to updated it also copy the BIOS file:

9300_8i_Package_P16_IR_IT_FW_BIOS_for_MSDOS_Windows\sasbios_rel\mptsas3.rom

 

From the installer package we only need sas3flash (sas2flash for SAS2 models):

Installer_P16_for_Linux\sas3flash_linux_x64_rel\sas3flash

 

Copy both files to your Unraid server, you can copy them to flash first but still need to copy them elsewhere since the executable can't be run from the flash drive, we also don't want them in the array since it should be stopped before flashing.

 

For this example I first copied both files to folder called "lsi" in the flash drive then copied them to a temp folder I created called /lsi (this folder will be stored in RAM and gone after a reboot), use the console and type:

mkdir /lsi
cp /boot/lsi/* /lsi 

After copying the files navigate to that directory, in this case:

cd /lsi

We now need to make sas3flash executable with:

chmod +x sas3flash

Before flashing we can confirm the adapter (or adapters) are being detected and check what is the firmware currently installed:

./sas3flash -listall
Avago Technologies SAS3 Flash Utility
Version 17.00.00.00 (2018.04.02)
Copyright 2008-2018 Avago Technologies. All rights reserved.

        Adapter Selected is a Avago SAS: SAS3008(C0)

Num   Ctlr            FW Ver        NVDATA        x86-BIOS         PCI Addr
----------------------------------------------------------------------------

0  SAS3008(C0)  16.00.01.00    0e.01.00.07    08.37.00.00     00:01:00:00
1  SAS3008(C0)  16.00.01.00    0e.01.00.07    08.37.00.00     00:02:00:00

Make sure the array (and any UD devices using the HBA) is stopped and unmounted and now we can proceed with the upgrade, just use the standard sas3flash command, but remember that Linux is case sensitive, e.g.:

./sas3flash -o -f SAS9300_8i_IT.bin

Optional: if you also want to flash the BIOS use

./sas3flash -o -f SAS9300_8i_IT.bin -b mptsas3.rom

After it's done confirm the new firmware (and bios if also flashed) is installed:

./sas3flash -listall
Avago Technologies SAS3 Flash Utility
Version 17.00.00.00 (2018.04.02)
Copyright 2008-2018 Avago Technologies. All rights reserved.

        Adapter Selected is a Avago SAS: SAS3008(C0)

Num   Ctlr            FW Ver        NVDATA        x86-BIOS         PCI Addr
----------------------------------------------------------------------------

0  SAS3008(C0)  16.00.10.00    0e.01.00.07    08.37.00.00     00:01:00:00
1  SAS3008(C0)  16.00.01.00    0e.01.00.07    08.37.00.00     00:02:00:00

If there are multiple adapters like in this case only the first one will be flashed, to flash the other one use -c to specify the adapter#, e.g.:

 

./sas3flash -c 1 -o -f SAS9300_8i_IT.bin
./sas3flash -listall
Avago Technologies SAS3 Flash Utility
Version 17.00.00.00 (2018.04.02)
Copyright 2008-2018 Avago Technologies. All rights reserved.

        Adapter Selected is a Avago SAS: SAS3008(C0)

Num   Ctlr            FW Ver        NVDATA        x86-BIOS         PCI Addr
----------------------------------------------------------------------------

0  SAS3008(C0)  16.00.10.00    0e.01.00.07    08.37.00.00     00:01:00:00
1  SAS3008(C0)  16.00.10.00    0e.01.00.07    08.37.00.00     00:02:00:00

        Finished Processing Commands Successfully.
        Exiting SAS3Flash.

Now both are updated.

 

P.S. to see more detailed info from an adapter we can use:

./sas3flash -list
Avago Technologies SAS3 Flash Utility
Version 17.00.00.00 (2018.04.02)
Copyright 2008-2018 Avago Technologies. All rights reserved.

        Adapter Selected is a Avago SAS: SAS3008(C0)

        Controller Number              : 1
        Controller                     : SAS3008(C0)
        PCI Address                    : 00:02:00:00
        SAS Address                    : 500605b-0-0b1c-2d00
        NVDATA Version (Default)       : 0e.01.00.07
        NVDATA Version (Persistent)    : 0e.01.00.07
        Firmware Product ID            : 0x2221 (IT)
        Firmware Version               : 16.00.10.00
        NVDATA Vendor                  : LSI
        NVDATA Product ID              : SAS9300-8i
        BIOS Version                   : 08.37.00.00
        UEFI BSD Version               : 06.00.00.00
        FCODE Version                  : N/A
        Board Name                     : SAS9300-8i
        Board Assembly                 : H3-25573-00H
        Board Tracer Number            : SP60700521

        Finished Processing Commands Successfully.

If there's more than one we can again use -c, e.g.:

./sas3flash -c 1 -list

 

 

 

 

 

  • Like 6
  • Thanks 11
  • Confused 2
  • Upvote 1
Link to comment
  • 2 weeks later...
17 minutes ago, hawihoney said:

Go to that site:

 

https://www.broadcom.com/support/download-search

 

Product Group: Storage Adapters, Controllers, and ICs

Product Family: SAS/SATA/NVMe Host Bus Adapters

--> Now select your HBA under Product Name (e.g. SAS 9300-8i or SAS 9300-8e, etc)

 

 

Thanks so much for responding. I have tried that. There are 721 firmware files that come up for the SAS3008

 

I dont really know which one to pick and I dont want to kill the SAS controller.

Link to comment
  • 2 months later...
  • 4 weeks later...

Hey all, first time poster here. I'm building my take on the Snafu and picked up an HBA from Ebay. Was supposed to be the SAS9201-8i, and the order details state as much, but I received a 9220-8i in the mail. Can't find a whole lot of info about the 9220, but seems it's an OEM model.

 

Since the firmware doesn't show up on Broadcom's site, does anyone know if I can use a different firmware? Would the 9201-8i one work?

 

I appreciate any feedback, thanks.

 

Ebay link: https://www.ebay.com/ipp/133501790707?transactionId=1769849938003&_trksid=p2047675.l48352

 

Link to comment
51 minutes ago, kunfuezion said:

Hey all, first time poster here. I'm building my take on the Snafu and picked up an HBA from Ebay. Was supposed to be the SAS9201-8i, and the order details state as much, but I received a 9220-8i in the mail. Can't find a whole lot of info about the 9220, but seems it's an OEM model.

 

Since the firmware doesn't show up on Broadcom's site, does anyone know if I can use a different firmware? Would the 9201-8i one work?

 

I appreciate any feedback, thanks.

 

Ebay link: https://www.ebay.com/ipp/133501790707?transactionId=1769849938003&_trksid=p2047675.l48352

 

"The IBM M1015 is based on the LSI SAS2008 ROC controller, its LSI OEM name is LSI 9220-8i"

 

See https://www.servethehome.com/ibm-m1015-part-1-started-lsi-92208i/

 

Based on that, I believe IT firmware for the 9211-8i should work.  The 9211-8i, IBM 1015 and Dell H310 (which I have) are all based on the SAS2008 chip.  I flashed my Dell H310 with Broadcom 9211-8i IT firmware.

  • Thanks 1
Link to comment
  • 1 month later...
On 1/30/2021 at 12:00 PM, kunfuezion said:

Hey all, first time poster here. I'm building my take on the Snafu and picked up an HBA from Ebay. Was supposed to be the SAS9201-8i, and the order details state as much, but I received a 9220-8i in the mail. Can't find a whole lot of info about the 9220, but seems it's an OEM model.

 

Since the firmware doesn't show up on Broadcom's site, does anyone know if I can use a different firmware? Would the 9201-8i one work?

 

I appreciate any feedback, thanks.

 

Ebay link: https://www.ebay.com/ipp/133501790707?transactionId=1769849938003&_trksid=p2047675.l48352

 

 

On 1/30/2021 at 12:59 PM, Hoopster said:

"The IBM M1015 is based on the LSI SAS2008 ROC controller, its LSI OEM name is LSI 9220-8i"

 

See https://www.servethehome.com/ibm-m1015-part-1-started-lsi-92208i/

 

Based on that, I believe IT firmware for the 9211-8i should work.  The 9211-8i, IBM 1015 and Dell H310 (which I have) are all based on the SAS2008 chip.  I flashed my Dell H310 with Broadcom 9211-8i IT firmware.

It will work fine this way.  I have used half a dozen of the M1015 cards and they are great if all you need is PCIe 2x.

 

craigr

Link to comment
  • 1 month later...

just ran these steps on a lsi sas 9300-16i completed the command and the flash fine.  but know when i reboot it tells me drives are missing stale config.  Any advice?

 

Edit:  All my disks are visible in unraid they now have slightly different names.  I don't know what to do, to get them back in their right spots.

Edited by South Bronx
Link to comment
2 hours ago, South Bronx said:

All my disks are visible in unraid they now have slightly different names.

This is normal if you were using a very old firmware, you just nee to do a new config, assign all disks as they were and check "parity is already valid" before array start.

Link to comment
14 hours ago, JorgeB said:

This is normal if you were using a very old firmware, you just nee to do a new config, assign all disks as they were and check "parity is already valid" before array start.

Yes this worked Thanks! i suggest to anyone who does this  copy your drive listings first you may need to know their order later.

Link to comment
  • 2 months later...

 

On 10/15/2020 at 10:19 AM, JorgeB said:

Make sure the array (and any UD devices using the HBA) is stopped and unmounted and now we can proceed with the upgrade, just use the standard sas3flash command, but remember that Linux is case sensitive, e.g.:

 

Parden my ignorance - Does this just mean to stop the array?  I dont have any disks mounted that are not part of the array.  I have 3 disks in Unassigned Devices that are NOT mounted.

Link to comment

Thanks!  Also - Could be a dumb question - but how do I know which version of sas2flash to use (Im thinking x86-64, but want to be sure.  I'm not sure what 'ppc64' is referring to, and do not want to do the wrong package.).

 

Edit - Looks like the ppc64 is for PowerPc.  So It looks like I need x86-64 as I was thinking.  Would still appreciate confirmation this all looks correct.  Thanks!

 

I am using 9211-8i P20 to for LSI SAS2008 B2

 

image.png.41ed6757cdcdf4e921ee4d6763df1fec.png

 

Appreciate the guidance and experience!

Edited by dmoney517
Link to comment
  • 1 month later...
On 5/8/2021 at 11:26 AM, JorgeB said:

This is normal if you were using a very old firmware, you just nee to do a new config, assign all disks as they were and check "parity is already valid" before array start.

Hi. i kind of have the same problem, BUT my twist on the issue its "cache" ssd, so no parity.. whoops. any chance to keep the data? (i know witch ssd go where, but.... hmm 

Link to comment
22 hours ago, Tulip said:

BUT my twist on the issue its "cache" ssd

If Docker/VM services are using the cache/pool disable them, unassign all cache devices, start array to make Unraid "forget" current cache config, stop array, reassign all cache device(s) (there can't be an "All existing data on this device will be OVERWRITTEN when array is Started" warning for any cache device), re-enable Docker/VMs if needed, start array.

Link to comment
  • 2 weeks later...
  • 2 weeks later...

I have a 9207-8i attached in my setup. No HDDs on it yet.

 

I "think" it is recognized by unraid:

[1000:0087]02:00.0 Serial Attached SCSI controller: Broadcom / LSI SAS2308 PCI-Express Fusion-MPT SAS-2 (rev 05)

 

It is running in IT mode, FW: 20.00.00.00. So I wanted to update it to 20.00.07.00, but for some reason it is not listed:

 

sas3flash -listall
Avago Technologies SAS3 Flash Utility
Version 17.00.00.00 (2018.04.02)
Copyright 2008-2018 Avago Technologies. All rights reserved.

        No Avago SAS adapters found! Limited Command Set Available!
        ERROR: Command Not allowed without an adapter!
        ERROR: Couldn't Create Command -listall
        Exiting Program.

 

What could be the issue here?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.