Help with HP 9207-4i4e needed - firmware update problem. LSI SAS2308

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

madbrain

Active Member
Jan 5, 2019
212
44
28
Linux version of sas2flash isn't going to help this situation either, unfortunately. Just like the Windows version, it requires the driver to load in order to function. The driver can't load without the firmware. So, it looks like only DOS (Megarec.exe) or UEFI (sas2flash.efi) tools can access the flash on the card.

$ lspci | grep LSI
02:00.0 Mass storage controller: Broadcom / LSI SAS2308 PCI-Express Fusion-MPT SAS-2 (rev 05)
$ sudo ./sas2flash
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved

No LSI SAS adapters found! Limited Command Set Available!
Finished Processing Commands Successfully.
Exiting SAS2Flash.
 

madbrain

Active Member
Jan 5, 2019
212
44
28
BTW, megarec.exe under FreeDOS had some warnings for both commands.

For megarec.exe -writesbr 0 sbrempty.bin :
Warning! IO Base address high. Currently not supported.

For megarec.exe -cleanflash 0 :

Warning! IO Base address high. Currently not supported.
Flash Signature Error. Trying to clear it.....
Step1: host diag reg reads 1f2
Ste 2: Host diag reg reads 1b2
Using BAR2 mem space.

Both commands still completed. The first command ran for a while. The second one almost instantly.
That is odd, since sbrempty.bin is only 256 bytes, and the second command claims it erased 8MB of flash.

So, it may be megarec.exe is not actually working correctly on my system.
 

Attachments

Markess

Well-Known Member
May 19, 2018
1,146
761
113
Northern California
BTW, megarec.exe under FreeDOS had some warnings for both commands.

For megarec.exe -writesbr 0 sbrempty.bin :
Warning! IO Base address high. Currently not supported.

For megarec.exe -cleanflash 0 :

Warning! IO Base address high. Currently not supported.
Flash Signature Error. Trying to clear it.....
Step1: host diag reg reads 1f2
Ste 2: Host diag reg reads 1b2
Using BAR2 mem space.

Both commands still completed. The first command ran for a while. The second one almost instantly.
That is odd, since sbrempty.bin is only 256 bytes, and the second command claims it erased 8MB of flash.

So, it may be megarec.exe is not actually working correctly on my system.
The IO warning is normal.

As for next steps...you're probably in the territory now that its easier to buy another one. In my case though, this sort of thing usually becomes a case of man vs machine. I can't get my kids to do what I say, and the dogs don't either. But, darn it, if nobody else will listen to me I will go to the mat to make a computer bend to my will! ;)

This guide is kind of a nuke it from orbit, then try to revive it approach. But, I actually used it to get a reluctant Dell card to behave when following the regular steps you find in the other guides didn't:

Flashing SAS2208 to IT mode when sas2flsh does not detect it

In my case, I simply substituted the UEFI friendly sas2flash version when it called for sas2flsh in the guide, as I had a UEFI motherboard as well. I know the guide says 2208. But 2208 is just the IR mode and 2308 is IT for the same chip.
 
  • Like
Reactions: Pheckphul

madbrain

Active Member
Jan 5, 2019
212
44
28
The IO warning is normal.

As for next steps...you're probably in the territory now that its easier to buy another one. In my case though, this sort of thing usually becomes a case of man vs machine. I can't get my kids to do what I say, and the dogs don't either. But, darn it, if nobody else will listen to me I will go to the mat to make a computer bend to my will! ;)

This guide is kind of a nuke it from orbit, then try to revive it approach. But, I actually used it to get a reluctant Dell card to behave when following the regular steps you find in the other guides didn't:

Flashing SAS2208 to IT mode when sas2flsh does not detect it

In my case, I simply substituted the UEFI friendly sas2flash version when it called for sas2flsh in the guide, as I had a UEFI motherboard as well. I know the guide says 2208. But 2208 is just the IR mode and 2308 is IT for the same chip.
I'm the same way when it comes to computers lol.

Thanks. Very long article/thread, but there seems to be much wrong info, for example the post. "Yes, that’s correct. The 2308 is the IT mode twin of the 2208 chipset."
The 2208 is actually the PCIe 2.0 version, and 2308 is PCIe 3.0 . Nothing at all to do with IT vs IR modes. Either chip can run in either mode.

I stand corrected. The 2208 is the dual-chip RAID version, and exists in both PCIe 2.0 and 3.0 versions. The 2308 is single-chip non-RAID version, and only exists in PCIe 3.0 version.

I don't think the 2208 firmware is going to work on the 2308, or vice-versa. But who knows.

Anyway, I found the following project on github . It might help .

root@server10g:~/Downloads/lsirec# !lsp
lspci -D |grep LSI
0000:02:00.0 Mass storage controller: Broadcom / LSI SAS2308 PCI-Express Fusion-MPT SAS-2 (rev 05)
root@server10g:~/Downloads/lsirec# ./lsirec 0000:02:00.0 readsbr sbr_backup.bin
Device in MPT mode
Using I2C address 0x50
Using EEPROM type 1
Reading SBR...
SBR saved to sbr_backup.bin
root@server10g:~/Downloads/lsirec# python3 sbrtool.py parse ./sbr_backup.bin sbr.cfg
WARNING: Mfg data checksum error
WARNING: SAS address checksum error
root@server10g:~/Downloads/lsirec# python3 sbrtool.py parse ../sbrempty.bin sbr.cfg
WARNING: Mfg data checksum error
WARNING: SAS address checksum error


Not a great start. Even if it worked, the next step requires knowing the proper PCIPID for the 2308 based cards. Not certain which that could be, but I might be able to get it from one of my other cards. I have two LSI 9207-8i that are also 2308-based. Not sure if the 9217-4i4e shares the same PCIPID. They are for sure all PCIe 3.0, none is a mislabeled PCIe 2.0 version that HP mucked with apparently.
 
Last edited:

Pheckphul

Better than being feckless.
Feb 28, 2013
38
16
8
SF Bay Area
I had the card for 3 years. It worked in IT mode. But I couldn't access the BIOS at all, either in CSM or UEFI mode. I think the firmware was flashed, but not the ROM. I wanted to install the UEFI ROM. When I did the erase, it wiped the firmware, and I haven't been able to reinstall it since.

I searched for the HP part number printed on the card, but couldn't find anything on hpe.com.
I don't know what part number you used to search at HPE, but SAS9217-4i4e is LSI/Avago/Broadcom's part number for the OEM version of the LSI SAS9207-4i4e according to this. H222 is the HP model of the controller you have. Here is a link to the datasheet at HPE, and here's a link to a photo of one of my HP-branded cards. You'll see it has the same part numbers as yours. I have backup firmware, BIOS, NVDATA, and a full flash image from each of my two cards. You can also download FW/BIOS files from HPE. With these you should be able to put the card back into its original state and then recross-flash it. But from what I've read, I don't think they should be necessary if the card isn't physically damaged. You should be able to recover the card using megarec and a recovery FW as outlined here.
 

madbrain

Active Member
Jan 5, 2019
212
44
28
Thanks. Response inline.

I don't know what part number you used to search at HPE, but SAS9217-4i4e is LSI/Avago/Broadcom's part number for the OEM version of the LSI SAS9207-4i4e according to this.
I searched for HP part number 725504-001, which is on one of the labels. Might not be readable in my screenshot because I had to shrink the picture to upload it. The part number 725904-001 is also on that same label.

I believe SAS9217-4i4e and SAS9207-4i4e are the same hardware. One comes preloaded with IR firmware, the other with IT firmware. You can see if you download the firmware package from Broadcom :

https://docs.broadcom.com/docs-and-...ckage_P20_IR_IT_FW_BIOS_for_MSDOS_Windows.zip

The zip file contains two subdirectories under firmware. One is called HBA_9207_4i4e_IT . The other is called HBA_9217_4i4e_IR .
So, it's not just HPE that has refers to 9217 somewhere.

H222 is the HP model of the controller you have. Here is a link to the datasheet at HPE,
Thanks. A part number and a model number are different things :) The part number is printed on the label, but the model isn't.

and here's a link to a photo of one of my HP-branded cards. You'll see it has the same part numbers as yours.
Yes, looks identical to mine.

I have backup firmware, BIOS, NVDATA, and a full flash image from each of my two cards.
Would you mind sharing your files ? Since you have the same card, it might be really useful.

You can also download FW/BIOS files from HPE.
There are tons of files on HPE support. Which one do you mean ?
I did a search for H222 .


All the results involve Linux and Windows packages. I already know that it's not possible to flash my card from either Linux or Windows, at least not with the LSI sas2flash tools, which both require a working firmware to start with. I downloaded a few of the Linux packages. One was an RPM and another was SCEXE. Both were 32-bit x86 versions. Neither work under Ubuntu 20.04 64-bits which I have. I haven't tried downloading Live CD from older OS. I'm not certain which one I would need.

I will try the Windows packages, but almost positive they will fail to see the card, just like the LSI sas2flash.exe does.

I'm still not certain if the problem I'm running into is due to the tool or the firmware version. The only tool that appears to be flashing is sas2flash.efi . But the process doesn't go all the way to the end successfully.

Would you mind telling me which firmware binary you are using ? And which tool, under which OS, did you use to flash your card with successfully ?

With these you should be able to put the card back into its original state and then recross-flash it. But from what I've read, I don't think they should be necessary if the card isn't physically damaged. You should be able to recover the card using megarec and a recovery FW as outlined here.
The card isn't physically damaged for certain. Only the content of hte flash memory is hosed. I agree it should be recoverable. I have no idea what its initial state was supposed to be, though.

The thread you just linked at https://forums.servethehome.com/ind...-lsi-2208-after-firmware-update-failure.13237 is for 2208 based-controllers. The 9207 and 9217 aren't on the list. They are 2308-based controllers, not 2208 .

I suppose I can't mess the card more than it already is, so I may try it. But it seems the firmware should be different for SAS2208 PCIe 2.0 and SAS2308 PCIe 3.0 versions. I mean, they are different for each configuration of ports (8i, 8e, 4i4e) even with the same chip, so ...
 

Pheckphul

Better than being feckless.
Feb 28, 2013
38
16
8
SF Bay Area
I'm the same way when it comes to computers lol.

Thanks. Very long article/thread, but there seems to be much wrong info, for example the post. "Yes, that’s correct. The 2308 is the IT mode twin of the 2208 chipset."
The 2208 is actually the PCIe 2.0 version, and 2308 is PCIe 3.0 . Nothing at all to do with IT vs IR modes. Either chip can run in either mode.
I don't think the 2208 firmware is going to work on the 2308, or vice-versa. But who knows.
This article is where I pointed you a couple of messages back. I tried it to recover the 2308 on my Supermicro motherboard with messed up flash using it.

Your reference to 2208 being PCIe v2.0 and 2308 v3.0 is wrong. Not trying to crap one you. Just thought you'd rather have the correct info.

There are multiple versions/steppings of the 2208, and while the 2208 started out PCIe v2.0, later versions are PCIe v3.0. I believe the 2308 started out PCIe v3.0. The real difference between the two is the number of CPUs and cache. The 2208 has two PPC processors, while the 2308 has one. That is why you see 2208s with IR firmware and RAID 5 support, while the 2308s only do RAID 0 and 1. I've enclosed 2208 and 2308 datasheets for you.
 

Attachments

  • Like
Reactions: madbrain

madbrain

Active Member
Jan 5, 2019
212
44
28
This article is where I pointed you a couple of messages back. I tried it to recover the 2308 on my Supermicro motherboard with messed up flash using it.

Your reference to 2208 being PCIe v2.0 and 2308 v3.0 is wrong. Not trying to crap one you. Just thought you'd rather have the correct info.

There are multiple versions/steppings of the 2208, and while the 2208 started out PCIe v2.0, later versions are PCIe v3.0. I believe the 2308 started out PCIe v3.0. The real difference between the two is the number of CPUs and cache. The 2208 has two PPC processors, while the 2308 has one. That is why you see 2208s with IR firmware and RAID 5 support, while the 2308s only do RAID 0 and 1. I've enclosed 2208 and 2308 datasheets for you.
Thanks. Appreciate having the correct info. My previous searches hadn't found PCIe 3.0 version sof the 2208 based cards. It makes sense now. But so extremely confusing. And I have yet to find the magic combination of software to revive my card. Will go back to your previous post.
 

madbrain

Active Member
Jan 5, 2019
212
44
28
I will try the Windows packages, but almost positive they will fail to see the card, just like the LSI sas2flash.exe does.
Tried it. The Windows software won't even install. It says "The software will not be installed on this system because the required hardware is not present in the system or the software/firmware doesn't apply to this system".
 

madbrain

Active Member
Jan 5, 2019
212
44
28
OK. I tried to follow this procedure.

I ran into a problem at this step :

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

It stopped after maybe a minute or so. It failled while flashing component "APP".
I got :

Error in programming image into Flash.
Error code = 64
Failed to flash the image. Please retry recovery.

So, it looks like this might be the wrong boot recovery ROM for my card. I might need one made for the 2308 .
 

Attachments

Last edited:

madbrain

Active Member
Jan 5, 2019
212
44
28
OK. I tried to follow this procedure.

I ran into a problem at this step :

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

It stopped after maybe a minute or so. It failled while flashing component "APP".
I got :

Error in programming image into Flash.
Error code = 64
Failed to flash the image. Please retry recovery.
I tried to continue through the rest of the procedure anyway.

I was able to read the SBR.
But reading the SPD failed. I got

timeout.
SPD Read failed.
Error code = 16384

When it came time to reboot to UEFI, sas2flash -list didn't see the card and prompted to upload the firmware. It still failed, just like in my OP, with "ERROR: Firmware Host Boot Failed !".
 

Pheckphul

Better than being feckless.
Feb 28, 2013
38
16
8
SF Bay Area
@madbrain

Yes, you don't want to be flashing the card under Linux or Windows. DOS or UEFI are the best. I used UEFI.

I've been told the reason you can use the 2208's recovery firmware from Broadcom is because the chips are from the same family.

As for getting firmware/BIOS files from HPE to restore the card to its original configuration, yes they currently only offer the Windows and Linux files, but you cam use the firmare/BIOS files and ignore the OS tools. :cool: Just download the installers extract them. Same as with getting the firmware/BIOS files from Broadcom.

The tools i used to flash my H222s came from Broadcom's website, sas2flash.efi from the P20 BSD package for the SAS9207-4i4e. I used the firmware and BIOS files from the MSDOS/Windows P20.00.07.00, and the signed UEFI BIOS from the P20 BSD. I booted off of a USB stick with the UEFI shell, listed the cards with -list to get their current config, erased them with -e 6, and then flashed them.

I can't attach the installer files as they are too large, but I'll PM you links to them on my OneDrive. You can also get them from Broadcom, of course.

Here's the log from the flashing step of one of my cards.

Code:
sas2flash.efi -o -b mptsas2.rom -f 9207-4i4e.bin -b Signed\x64sas2.rom -l hba2.log
     Adapter Selected is a LSI SAS: SAS2308_2(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.
          Valid Initialization Image verified.
          Valid BootLoader Image verified.

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

          Mfg Page 2 Mismatch Detected.
          Writing Current Mfg Page 2 Settings to NVRAM.
          Updated Mfg Page 2.

          Resetting Adapter...
          Adapter Successfully Reset.

          Chip is in RESET state. Performing Host Boot...
          Firmware Host Boot Successful.

          Beginning Firmware Download...
          Firmware Download Successful.

          Resetting Adapter...
          Adapter Successfully Reset.

     Executing Operation: Flash BIOS Image

          Validating BIOS Image...

          BIOS Header Signature is Valid

          BIOS Image has a Valid Checksum.

          BIOS PCI Structure Signature Valid.

          BIOS Image Compatible with the SAS Controller.

          Attempting to Flash BIOS Image...

          Verifying Download...

          Flash BIOS Image Successful.

          Updated BIOS Version in BIOS Page 3.

     Executing Operation: Flash BIOS Image

          Validating BIOS Image...

          BIOS Header Signature is Valid

          BIOS Image has a Valid Checksum.

          BIOS PCI Structure Signature Valid.

          BIOS Image Compatible with the SAS Controller.

          Attempting to Flash BIOS Image...

          Verifying Download...

          Flash BIOS Image Successful.

          Updated BIOS Version in BIOS Page 3.

     Finished Processing Commands Successfully.
     Exiting SAS2Flash.
 
  • Like
Reactions: madbrain

madbrain

Active Member
Jan 5, 2019
212
44
28
Yes, you don't want to be flashing the card under Linux or Windows. DOS or UEFI are the best. I used UEFI.
Yes, I think I have figured by now DOS and UEFI are the only viable options for recovery. But DOS flashing won't work on my motherboard. So sas2flash.efi is the only way.

I've been told the reason you can use the 2208's recovery firmware from Broadcom is because the chips are from the same family.
I see. Unfortunately, the command
megarec -m0flash 0 2208_16.rom
didn't work on my card :-(

As for getting firmware/BIOS files from HPE to restore the card to its original configuration, yes they currently only offer the Windows and Linux files, but you cam use the firmare/BIOS files and ignore the OS tools. :cool: Just download the installers extract them. Same as with getting the firmware/BIOS files from Broadcom.
Broadcom has zip files that can be extracted with standard tools. Not quite sure about the HP EXE/SCEXE/RPM. I guess RPM should be easy

The tools i used to flash my H222s came from Broadcom's website, sas2flash.efi from the P20 BSD package for the SAS9207-4i4e. I used the firmware and BIOS files from the MSDOS/Windows P20.00.07.00, and the signed UEFI BIOS from the P20 BSD. I booted off of a USB stick with the UEFI shell, listed the cards with -list to get their current config, erased them with -e 6, and then flashed them.

Edit: I have already tried the combo of the Broadcom P20 version sas2flash.efi, and P20 firmware from Broadcom. I cannot flash that firmware with that tool. Either the 9217 (IR) or 9207 (IT) firmware both fail to flash at the "Host boot" step.
Looks like you didn't reboot after the erase, and I did, because the flashing failed, and my card is now in a seemingly unflashable state.

I don't know what's left for me to try, besides the custom HP firmware, which I have yet to extract.

I can't attach the installer files as they are too large, but I'll PM you links to them on my OneDrive. You can also get them from Broadcom, of course.
URLs to the files would be fine, if they are public.

Here's the log from the flashing step of one of my cards.

Code:
sas2flash.efi -o -b mptsas2.rom -f 9207-4i4e.bin -b Signed\x64sas2.rom -l hba2.log
     Adapter Selected is a LSI SAS: SAS2308_2(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.
          Valid Initialization Image verified.
          Valid BootLoader Image verified.

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

          Mfg Page 2 Mismatch Detected.
          Writing Current Mfg Page 2 Settings to NVRAM.
          Updated Mfg Page 2.

          Resetting Adapter...
          Adapter Successfully Reset.

          Chip is in RESET state. Performing Host Boot...
          Firmware Host Boot Successful.

          Beginning Firmware Download...
          Firmware Download Successful.

          Resetting Adapter...
          Adapter Successfully Reset.

     Executing Operation: Flash BIOS Image

          Validating BIOS Image...

          BIOS Header Signature is Valid

          BIOS Image has a Valid Checksum.

          BIOS PCI Structure Signature Valid.

          BIOS Image Compatible with the SAS Controller.

          Attempting to Flash BIOS Image...

          Verifying Download...

          Flash BIOS Image Successful.

          Updated BIOS Version in BIOS Page 3.

     Executing Operation: Flash BIOS Image

          Validating BIOS Image...

          BIOS Header Signature is Valid

          BIOS Image has a Valid Checksum.

          BIOS PCI Structure Signature Valid.

          BIOS Image Compatible with the SAS Controller.

          Attempting to Flash BIOS Image...

          Verifying Download...

          Flash BIOS Image Successful.

          Updated BIOS Version in BIOS Page 3.

     Finished Processing Commands Successfully.
     Exiting SAS2Flash.
Thank you ! I'm still stuck at the "Firmware Host Boot" step at this time. I didn't think to use a ".log" extension for the log file. Maybe that will work next time I try.

Seems like you never got the card into the same state as I did, so you didn't have to use the recovery ROM, did you ?
Either way, the recovery ROM doesn't appear to work with my card; or perhaps it's a case of megarec.exe not being able to flash it correctly ...
 
Last edited:

madbrain

Active Member
Jan 5, 2019
212
44
28
I can't attach the installer files as they are too large, but I'll PM you links to them on my OneDrive. You can also get them from Broadcom, of course.
Thanks for the files. I tried to flash your firmware backup - "origfirm" with several versions of sas2flash.efi, including the latest - and it failed the exact same way as in my OP, at the host boot step. I'm starting to have doubts about the recoverability of my card. At least, it's looking like it's not possible with my current UEFI motherboard. Perhaps megarec.exe and sas2flsh.exe would work correctly on a pre-UEFI machine. I don't have one of those, though. And that would only help with add-on cards, not with a SAS chip on a motherboard.
 

Pheckphul

Better than being feckless.
Feb 28, 2013
38
16
8
SF Bay Area
Broadcom has zip files that can be extracted with standard tools. Not quite sure about the HP EXE/SCEXE/RPM. I guess RPM should be easy
This should get you to HPE's downloads page for the H222. This is their most recent Windows flash package for the H222. You can extract it with 7zip on either Linux or Windows. Of course ignore the Windows sas2flash.exe. Not sure if this'll help since all of the previous flashing is failing. Maybe meagrec will flash it. Who knows. :oops:
 

madbrain

Active Member
Jan 5, 2019
212
44
28
You're welcome.

Try flashing the origflash file. It's a backup of the entire flash image, based upon what the SAS2Flash Reference Guide states. Use -dflash origflash origfirm.
Thanks. Unfortunately, that didn't work either.

I get the error "Operation not found : 0000300037 " (not the exact number of leading zeroes, there are a lot more).
This was using version P20 of sas2flash.efi .
 

madbrain

Active Member
Jan 5, 2019
212
44
28
This should get you to HPE's downloads page for the H222. This is their most recent Windows flash package for the H222. You can extract it with 7zip on either Linux or Windows. Of course ignore the Windows sas2flash.exe. Not sure if this'll help since all of the previous flashing is failing.
Will try to extract manually. But it looks like nothing is flashing so far.

Maybe meagrec will flash it. Who knows. :oops:
What commands would I use to flash it with megarec ?

I tried "megarec.exe -m0flash 0 origfl~1" (8.3 version of origflash) and I got the message
"Invalid Flash image.

Error in programming image into Flash.
Error code = 64.
Failed to flash the image. Please retry recovery."
 
Last edited: