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

5 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 : https://www.youtube.com/watch?v=CDatT8fn9KQ

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 : https://plone.lucidsolutions.co.nz/hardware/sas-controller/lsi-2208/configuring-jbod-with-a-lsi-2208-controller/view

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