Flashing SAS2208 to IT mode when sas2flsh does not detect it

Oh noes, your card isn’t found…

While trying to upgrade the firmware on my Supermicro X9DRH-7F board with the built-in SAS2208 LSI card, I ran into a mess of unexpected problems. First off, none of the regular tools and methods seemed to work, unlike almost all the other LSI cards I have worked with. Second, I kept finding a ton of conflicting information all over the net. Lastly it turns out that even Broadcom’s website actually points you to the wrong firmware… :frowning:

At this point, if you can see your card when you do a sas2flsh.efi -listall, ignore this entire post and follow the normal instructions found here: https://www.serverbuilds.net/flashing-add-in-sas

If you get an error and the card cannot be found, read on.

Fixing the firmware

Unfortunately this card needs to be reverted to a SAS2308 firmware, then flashed with a empty binary firmware that contains just enough for the sas2flsh tool to find the card and upgrade the firmware. Here there be dragons… Please use extreme caution, as this could damage/brick your card if you are not careful!

For now, I am just going to post the most helpful articles:

Files to download

Step by step instructions

A big thanks to zach for writing up these instructions and reproducing my working steps!

  • Get a USB boot stick

  • Make it a DOS stick in Rufus

  • Download lsi2208fixer.iso

  • Drag the DOS files in that ISO into the root directory of the stick

  • Drag the DOS files from 9207-8i package into the root directory of the stick

  • Drag the P20 UEFI installer into root directory of stick

  • Drag sbrempty.bin into root directory of the stick

  • Boot your server with the stick with ALL DRIVES UNPLUGGED FROM MOBO

  • Get your RAID card’s index number megarec -adplist

  • Clear the flash of the card megarec -cleanflash 0 (Replace 0 with the index number of your RAID card) * Reboot (Ctrl+alt+del)

  • Flash the card with the recovery rom megarec -m0flash 0 2208_16.rom This will take a good 5-6 minutes so be patient

  • Reboot (Ctrl+alt+del)

  • Back up your SBR and SBD for the RAID card

    megarec -readsbr 0 smc2208.sbr
    
    megarec -readspd 0 smc2208.spd
    
  • Wipe the card by overwriting the bin with the one you downloaded megarec -writesbr 0 sbrempty.bin

  • Clean the flash again (don’t forget!) megarec -cleanflash 0

  • Reboot into your UEFI Terminal instead of the DOS environment

  • Check to see if you can see the RAID card with the sas2flash EFI command sas2flash -list

  • Flash it with the now correct bin sas2flash -o -f 9207-8.bin

  • Check if it went through with sas2flash -list again

  • Give it a SAS address, you can either find your specific SAS card’s address or you can give it a random one that has the same exact amount of digits. I will include a random one that you can use if you want to, or you can use your own sas2flash -o -sasadd 5003048010a73d00

Your card should now be in a fully functional IT mode, go ahead and power everything off, plug your drives back in and give it all a test run This is SPECIFICALLY instructions for the onboard RAID card on the Supermicro X9DRH-7F motherboard. Similar steps may work for other boards with LSI 2208, but it has not been tested.

Here’s a video someone posted that might be helpful: Anniversary 2.0 First Time Build Feedback - #4 by DoItMyselfToo_US

7 Likes

Thanks for this, saved me a bunch of time when I ran into the exact same scenario. One additional piece of detail is that sbrempty.bin is located inside the SAS2008 file at the link you provided.

1 Like

When i was backing up my SBD for the raid card i got an error message saying “SPD Read Failed. Error code = 16384”
Any ideas? To this point it was going smooth through the recovery and everything

Can you post more output?

Awesome job, thank you !

1 Like

I did this but it is being identified as an LSI 2308 Mustang in WinSvr2016. Is this correct?

Yes, that’s correct. The 2308 is the IT mode twin of the 2208 chipset.

This worked out great for me. Thank you

I did this a couple months ago. Worked great. My only complaint is with Supermicro’s EFI Shell which doesn’t scroll.

I have a X9DRW-7TPF+ board I got that has a SAS2208 as well that I was also looking to flash for IT mode.

Everything I have found online is for the X9DRH-7F, but I assume that flashing it should be the same/similar.

Really thankful that you linked the files to download and by having a simple step-by-step tutorial.

There’s this also this YouTube walkthrough by Art of Server that is extremely handy as reference : How to turn a LSI SAS2208 RAID into a SAS2308 IT mode HBA on Supermicro X9DRH-7F - YouTube

I have also found this documentation to enable JBOD mode without flashing; but no idea if it’s good or not as it mentions it is unstable : Configuring JBOD with a LSI 2208 controller — Lucid Solutions

Will attempt this in my free time and see what happens. :scream:

edit* Does not work. Not sure if it’s slightly different firmware I need to download. It changes to “2308” but only in name. When actually using, says it’s a 2208. Spent many days. Hopefully someone can have a go at it for this motherboard.

1 Like

I just inherited one of these machines from work. I was going to play around with Unraid on it. Is this process reversible if I decide to use it as a HyperV server instead?

Yes, you can reflash it to IR mode.

1 Like

Waaay late, but I ran into the same issue. It is an odd bug that support said would be fixed in the next BIOS update (just like Bifurcation support…), which do to being EOL, will likely never be released.

A dumb workaround is to enable Quiet boot. The EFI shell console then runs at a larger resolution, and has functioning scrolling and framebuffers.

Interesting. Not really surprised they won’t be releasing it. Who knew that changing to Quiet boot would make a difference… Thanks for the feedback!

I’ve done this to a standard LSI card with the difference being it’s a 9286CV-8e. It appears to work but there is a solid on alarm noise coming out that I can’t turn off. I’ve tried going to Broadcom and making sure it’s the ‘e’ version of the firmware, tried unplugging the cache module too. It’s insane loud - short of removing the speaker, this seems to be a no go for me.

So, I’m in a similar situation to the OP. I have a Supermicro X9DRD-7LN4F-JBOD which has an onboard LSI 2308. It won’t show up at boot time unless an add-in LSI SAS card is installed.

I’ve been using this board for a year or so with two add-in HP H220 cards and the onboard SAS disabled via jumper. I want to free up a PCIe slot and add an HP H222 card. So, I enabled the onboard 2308, and with the two H220s and the H222 card in the system I attempted to update the onboard 2308 to the most recent firmware available from Broadcomm, P20.00.07.00. This is where things went to . When I tried to update the firmware and BIOS, the firmware download failed.

sas2flash.efi -o -b MPTSAS2.ROM -f 9207-4i4e.bin -l SMX9_SAS_Update.log 
     Adapter Selected is a LSI SAS: SAS2308_1(D1) 

     Executing Operation: Flash Firmware Image

          Firmware Image has a Valid Checksum. 
          Firmware Version 20.00.07.00
          Firmware Image compatible with Controller. 

          Valid NVDATA Image found. 
          NVDATA Version 14.01.00.00 
          Checking for a compatible NVData image... 

          NVDATA Device ID and Chip Revision match verified.
          NVDATA Versions Compatible.
          Valid Initialization Image verified.
          Valid BootLoader Image verified.

          Beginning Firmware Download...
          Firmware Download Failed!

     Due to error remaining commands will not be executed.
     Unable to Process Commands.
     Exiting SAS2Flash.

I decided to minimize variables and removed the two H220s and the H222 and flash the onboard 2308 with the same result of “Firmware Download Failed’”

Next I looked at Supermicro’s update script for their P20.00.07.00 distro and saw that they did a -e 7 erase before flashing. Since in my experience there is no need to erase the manufacturing area, and it only results in having to reenter the SAS address (as the onboard 2308 doesn’t have a board assembly or tracer number that need to be reentered), I did an -e 6 erase. This failed as well.


sas2flash.efi -o -e 6 -l smx9_SAS_erase.log 
     Adapter Selected is a LSI SAS: SAS2308_1(D1) 

     Executing Operation: Erase Flash

     Erasing Flash Region...

     ERROR: Erase Flash Operation Failed!

     Resetting Adapter...
     Reset Successful!

     Due to Exception Command not Executed. IOCStatus=0x4, IOCLogInfo=0x0
     Finished Processing Commands Successfully.
     Exiting SAS2Flash.

Next I tried an -e 7 erase, grasping at straws. This operation failed, but with a little bit more info.


sas2flash.efi -o -e 7 -l smx9_SAS_erase7.log 
     Adapter Selected is a LSI SAS: SAS2308_1(D1) 

     Executing Operation: Erase Flash

     Erasing Entire Flash Region (including MPB)...

     ERROR: Erase Flash Operation Failed!

     Resetting Adapter...
     Reset Successful!

     Due to Exception Command not Executed. IOCStatus=0x4, IOCLogInfo=0x0
     Finished Processing Commands Successfully.
     Exiting SAS2Flash.

Now, however, the onboard 2308 seems to be totally hosed. sas2flash -list says a firmware download is required, but the download fails:

sas2flash.efi -list -l hosed.log 
     Adapter Selected is a LSI SAS: SAS2308_1(D1) 

     Controller is not operational. A firmware download is required.
Enter firmware file name or quit to exit:      Executing Operation: Flash Firmware Image

          Firmware Image has a Valid Checksum. 
          Firmware Version 20.00.07.00
          Firmware Image compatible with Controller. 

          Valid NVDATA Image found. 
          NVDATA Version 14.01.00.00 
          Checking for a compatible NVData image... 

          NVDATA Device ID and Chip Revision match verified.
          Valid Initialization Image verified.
          Valid BootLoader Image verified.

          Chip is in FAULT state. Attempting Host Boot...
          Firmware Host Boot Successful.

          Beginning Firmware Download...
          Firmware Download Failed!

     Due to error remaining commands will not be executed.
     Unable to Process Commands.
     Exiting SAS2Flash.

At this point I figured the onboard flash info was completely hosed, and decided to follow the OP’s instructions to try and unhose my board, However, this fails at the “Clear the flash on the card with megarec -cleanflash 0” with:


Chip is in FUSION mode.

Erasing flash chip (16MB)…

Flash chip erasing error

Error in erasing flash chip.
Error code = 524288

Now with another LSI SAS card installed, when it is trying to initialize the onboard 2308 (it apparently gets initialed before the add-in H220), I get the following message:


MPT BIOS fault 11h encountered at adapter PCI(03h,00h,00h)
Firmware Fault Code: 0702h

It then goes on the try and initialize the add-in H220, repeats the same error message, gives option to enter the SAS Configuration Utility. This doesn’t show the onboard 2308 and the status for the H220 is “ERROR.”

It’s late, and I’m tired and frustrated, and really should be sleeping instead of composing this message, but I’m really hoping I’m not screwed. Since I did the -e 7 erase I’m afraid I’ve lost the PCIID and vendor info, and have no idea how to recover/reprogram it. Anyone have an idea as to how I can get the onboard 2308 functional again?

Thank you very much for taking the time to read this.

Hi Pheckphul

I have the same problem as you, on an HP Z840 with LSI 2308.

It is still possible to flash it to IT mode, but when trying to IR mode it fails saying that NVSRAM is not present, even though this card has it.

Please let me know if you find out a fix.

cheers,

Fabio

Attached the error on my side.

It looks like you are attempting to flash IR software, when you should be flashing IT. 2308 aren’t IR capable as far as I know.

hi Pheckphul,

It was working previously as IR mode, in firmware 18, it is just not accepting the firmware 20 to be flashed.
People mention there is Supermicro and Broadcom versions, how do I know the one I am using? Currently I am flashing with supermicro firmware (www.supermicro.com - /wdl/driver/SAS/LSI/2308/
).
How can I find version 18 for a rollback? Seems it is not available anymore.

The LSI SAS/SATA 2308 Controller supports IR (Integrated RAID) Mode and IT
(Initiator and Target) Mode.
Note: These two RAID modes require different firmware and drivers. Be
sure to download the correct RAID mode driver before installing it to the
OS. For firmware downloads and assistance, please contact Supermicro
Technical Support at www.supermicro.com or Support@supermicro.com.

best regards,
Fabio