Multiple LSI SAS Controllers


Recommended Posts

I have a Supermicro X8DT6-F motherboard, which has 2x4 onboard SAS 2008.  Recently, I added an LSI 9201-8i HBA, upgrading to the latest P20 firmware.  At the end of the HBA flash, I verified the firmware for both the HBA and mobo.

 

Mobo:  20.00.04.00

HBA:    20.00.07.00

 

I recall reading in the FreeNAS forums that it is recommended that all SAS controllers be flashed to the same firmware version.  Can anyone tell me whether this is specific to FreeNAS or a general recommendation?

 

I couldn't really find much information regarding this other than a few comments here or there on The Net.  Any additional info/guidance would be appreciated.

 

Thanks much.

 

Edited by _0m0t3ur
Link to comment

This post is a starting reference point for someone else wanting to flash a system with multiple SAS controllers.  I took the time to write it up to help the next person.  Let me know if this is of value, or unclear, etc.

 

So, I updated my mobo LSI SAS 2008 controller to 20.00.07.00 in IT mode to match the LSI 9201-8i HBA.  For the full series on how to make the USB drive, and screenshots of step-by-step flashing for a system with just one SAS controller, click on this URL link.

 

You'll need to verify which LSI SAS controller you have and which firmware you'll need for it.  The SAS2Flash Utility supports the following controller models:

 

LSI SAS2004

LSI SAS2008

LSI SAS2108

LSI SAS2116

LSI SAS2208

LSI SAS2308

 

You'll also need to verify whether you have UEFI BIOS or Legacy BIOS.  The following information is for updating your SAS controllers on systems with Legacy BIOS.  If you have UEFI BIOS, you will need to use Broadcom's UEFI Flashing Utility.  Google is your friend.

 

My SAS controllers are LSI 2008, and thusly I'm referring to them here.  Also, since my motherboard SAS controller is an LSI 2008, it's basically an LSI 9211-8i, so I used the firmware from the 9211-8i to flash my motherboard SAS into IT mode and the same firmware to also flash my 9201-8i to IT mode as well.

 

More resources available at these:

 

A Serve The Home article about flashing a Supermicro motherboard that has a SAS 2008 controller.

 

A Serve The Home forum post about flashing a Supermicro motherboard to IT mode.

 

There are commands to execute flash functions on all controllers in a system.  Refer to this linked LSI SAS2Flash Utility Quick Reference Guide for more information.  This guide comes with the firmware version you'll download for your system.

 

For anyone with multiple SAS controllers/HBA's installed in their system and you want to update controllers individually, you'll need to use the -c command to choose the specific controller/HBA that you want to flash, or otherwise execute on.  If you're unfamiliar with this command, here's how it works.  After booting into your DOS USB drive on the host machine, at the DOS thumb drive C:/ prompt, run the command:

 

sas2flsh -listall

 

This will list all your SAS 2008 controllers, showing columns for firmware version, NVData, BIOS, and PCI address.  Additionally, there is a first column labelled "Num".

 

1651233138_DOSPromptSAS.thumb.png.f932032b105d21058f91b6409fdcca78.png

 

So, in the above screen shot, you notice there are two SAS 2008 controllers showing, after executing the -listall command.  The controller named SAS2008(B1), designated with a "1" in the "Num" column has the older version, 20.00.04.00.

 

Use the number from the "Num" column, that is next to the SAS controller you are interested in flashing or otherwise executing commands on, along with the -c command, telling the flash utility to which controller you're referring.

 

Generally, the standard command sequence for flashing the LSI 2008 controller is the following:

 

sas2flsh -o -e 6

sas2flsh -o -f 2118it.bin -b mptsas2.rom

sas2flsh -listall

 

For our purposes, now, to be able to execute commands on this specific SAS controller, we'll change the standard command sequence shown above, adding in the "-c" command, as shown below:

 

sas2flsh -c 1 -o -e 6

sas2flsh -c 1 -o -f 2118it.bin -b mptsas2.rom

sas2flsh -listall

 

The "-c 1" tells the sas2flsh utility to execute the commands on the SAS2008(B1) controller.  Since this controller happens to be a motherboard, there is one more thing that needs to happen.  We need to find out the address of the motherboard SAS 2008 controller BEFORE any actual flashing.

 

We need to know the motherboard SAS address in case we erase the SAS address from the motherboard SAS controller.  Then we can just write the SAS address back to the controller and it will match the SAS address on the sticker adhered to the motherboard.  Being consistent is helpful to avoid confusion or if we sell the motherboard.  And this only applies to flashing the motherboard SAS controller.  You don't need to do this to flash a SAS 2008 controller card (HBA).

 

Note:  The first line of the standard command sequence is putting the controller into advanced mode (-o) and erasing the flash memory (-e 6).  That "6" is a command parameter to cause a clean flash, erasing everything except the manufacturing area.  This also means that the motherboard SAS address will not be erased.  I suggest do the SAS address checks despite this just to be sure.  You can read more about the various region parameters on page 14 of this linked SAS2Flash Utility Quick Reference Guide.

 

In the event we cannot find the SAS address sticker adhered to the motherboard, we can also find this address by invoking a command with the sas2flsh utility like this:

 

sas2flsh -c 1 -o -listsasadd

 

This will simply show the SAS address for the SAS controller associated with the 1 in the "Num" column.  Make sense?

 

I advise using your smart phone to take a picture of the motherboard SAS address on your screen after running the -listsasadd command.  It's a quick and easy way to record the address while avoiding possible transcribing errors.  In fact, take photos of any screen information that you will want available later in the flashing process.

 

So, to sum this up, use the "-c x" command where "x" is the number from the "Num" column, that is next to the SAS controller you are interested in flashing.   Here is the sequence of commands for a system with multiple controllers:

 

Flashing HBA:

 

1.  Run, sas2flsh -listall, to find out the "Num" of the SAS controller you want to flash.

2.  Use that "Num" number with the -c command to execute any flashing operations.

3.  BEFORE REBOOTING, run the command, sas2flsh -listall, to verify that the flashing commands worked.

 

Flashing onboard SAS:

 

1.  Run, sas2flsh -listall, to find out the "Num" of the SAS controller you want to flash.

2.  Run, sas2flsh -c x -o -listsasadd, where "x" is the "Num" of the SAS controller, to obtain the motherboard SAS address.

3.  Record the SAS address from step 2.

4.  Use that "Num" number with the -c command to execute any flashing operations.

5.  BEFORE REBOOTING, run the command, sas2flsh -listall, to verify that the flashing commands worked.

6.  BEFORE REBOOTING, run the command, sas2flsh -c x -o -listsasadd, where "x" is the "Num" of the SAS controller, to verify the motherboard SAS address.

 

If the SAS address is not present, then:

 

7.  BEFORE REBOOTING, run the command, sas2flash -c x –o –sasadd 50062b000000000, where "x" is the "Num" of the SAS controller, and "50062b000000000" represents your actual SAS address that you saved as picture in your smart phone from earlier.

8.  RE-VERIFY SAS ADDRESS by running STEP 6 again.

9.  Reboot.

 

 

 

 

Edited by _0m0t3ur
Missing -o in a command.
  • Like 2
Link to comment
  • 3 weeks later...
On 7/9/2019 at 2:13 PM, dirknina said:

This is the best write up for configuring raid cards I've seen to date.  I vote for a sticky.  this will help new ppl in setting up their severs for the first time,  I'll be using it as reference as i add my raid cards.

Glad you find this helpful.  My intention was to be more complete for someone new.

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.