Flashing SAS2208 to IT mode when sas2flsh does not detect it

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

Here is an image from previous IR firmware installed, I was using it as RAID10…

Yeah, sorry. I don’t think of RAID 0,1,10 as RAID firmware; the 2308s won’t do anything beyond this. That takes a 2208 with its dual-cores. My fault for using incorrect terminology.

You can get the version 18 firmware for your Z840’s onboard 2308 here:

https://support.hp.com/us-en/drivers/selfservice/hp-z840-workstation/6978842

It’s under “Firmware,” and here is the link to the firmware file itself:

https://ftp.hp.com/pub/softpaq/sp68501-69000/sp68620.exe

Hope this gets you back to P18. Once you get this going, you can try and flash generic Broadcom software if you wish. You can get that from Broadcom’s site, under legacy host bus adapters. Just make sure you choose the correct one for the hardware you have, and the functionality you are wanting to achieve. According to this page, it looks like your onboard 2308 is configured similarly to a LSI SAS9217-8i.

Hope this helps.

Having a bit of trouble with FreeDos where all the text wont fit on the screen and I cant figure out how to scroll up or make Freedos pause when it fills up the screen and then give me the hit enter to continue. Any help would be appreciated.

Don’t recall having this issue. Are you executing multiple commands from a single call? If so, separate them out. Else, the only other suggestion is to use EFI instead of FreeDOS.

It was just a single call, but I found a solution. I ran this command MODE CON lines=43 and this shrunk the text and allowed everything to show up on the screen.

Thanks for the help.

You’re welcome, but I did nothing. :yum:

Final update, finally had some time to go though the steps and OPs guide worked wonderfully!

1 Like

Hello, I am having a problem after performing the steps as described. I was not thrown any errors during the process, but my SAS onboard LED is red indicating a fault. When I boot into UEFI and do sas2flash list I get the response as shown in the picture. Is there any solution to this problem?
20220511_125346

At this point it looks like you still have to do the last flash:

sas2flash -o -f 9207-8.bin

and then write the sasadd:

sas2flash -o -sasadd 500xxxxxxxxxxxxx

Thanks for this @spikebyte, I used this post and a video by Art of Server to flash an onboad M5110e on an IMB M4.
I couldn’t find any howto for this so I have written one up here IBM M5110e internal raid controller to IT mode HBA – Well Bugger Me

Charles

Hi. I flashed successfully an intel rms25cb080 that has a sas2208 to 9207-8i the only issues is the beeper and it does not work with sas expander RES2SV240. truenas kernel panics on boot if it is connected to sas expander. if I flash bios rom image it hangs when detecting drives. I thought it could be the sas address but I tried different ones and same result… I also tried older firmwares and still does not work… any idea why this happens?

I have an x9dr7-tf+ that I filled steps to flash it from a 2208 to 2308 l. Everything was successful while flashing, however, after rebooting it it hangs after you see the MPT Avago screen. Just sits at Inializing, anyone have any options?

I got a card with the same issue and try the above methods to solve the problem.
However, after i run megarec -m0flash 0 2208_16.rom
it return the following error:

Currently flashing component = APP
Error in programming image into Flash.
Error code = 64

Is there any advice on how to resolve the above error code?
Thanks a lot!!!

What does it mean when I run the megarec -adplist and it just sits there? I messed up my new lsi9217 and had to reboot after flash as i didnt have the new fw on usb…

Well after a while it comes back with Memory alloc error No PCI chips found. Now what?