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

madbrain

Active Member
Jan 5, 2019
208
38
28
So, I have the above card for a few years. The BIOS screen never came on during POST, no matter which PCIe slot it was in. I decided foolishly to try to upgrade to latest firmware, with UEFI. But the firmware update failed, and now the card is non-functional.

I downloaded the package from

I booted the EFI shell from USB stick.

The card fails to boot after firmware download.
Any help would be appreciated.

The card is an LSI SAS: SAS2308_2(D1) .

Fortunately, my NAS can still work off the lone 9207-8i that I have which is still working, but I would like to revive this 9207-4i4e.
Is it possible ?
 

Attachments

Pheckphul

Better than being feckless.
Feb 28, 2013
29
10
3
SF Bay Area
Have you tried erasing the flash (sas2flash -o -e 6) and reflashing the card? You'll need to reflash both the firmware and BIOS after doing an -e 6 erase.
 

Pheckphul

Better than being feckless.
Feb 28, 2013
29
10
3
SF Bay Area
Yes. I can't get past the firmware flash step.
What erase level did you execute? 6 or 7?

Also, a suggestion; instead, or in addition to screen photos, try using the -l filename to capture the session. It doesn't always get everything, but usually does.
 

madbrain

Active Member
Jan 5, 2019
208
38
28
I Tried both 6 and 7.
Will use the -I option next time.

The sticker on the card says 9217-4i4e, which is the IR version . I'm going to try that next.
 

Pheckphul

Better than being feckless.
Feb 28, 2013
29
10
3
SF Bay Area
I Tried both 6 and 7.
Will use the -I option next time.

The sticker on the card says 9217-4i4e, which is the IR version . I'm going to try that next.
Ah! Yes, of course it has the IR firmware by default. I had assumed you had already cross-flashed it because of how long you've been using the card.

Before you flashed the card, did you not '-list' it? The output would show if it has/had IT or IR firmware. There would be a line like this for IR:

Code:
Firmware Product ID            : 0x2213 (IR)
And for IT:

Code:
Firmware Product ID             : 0x2214 (IT)
So, when sas2flash says the "Controller is not operational. A firmware download is required," make sure you give it the IR firmware.

Hopefully the IR firmware will get you going, and then you can cross-flash it is you like.
 

madbrain

Active Member
Jan 5, 2019
208
38
28
The seller I got it from had cross flashed it to IT firmware already.

I did list it originally. But I didn't take a picture unfortunately. Never flashing firmware at 3am again.

Will give the IR firmware a try as soon as I get a chance.
 

madbrain

Active Member
Jan 5, 2019
208
38
28
I tried the IR firmware. Same problem, unfortunately. The -i option does not exist in the sas2flash EFI version I have.
I tried the Windows of sas2flash version, but it doesn't even detect the card, so there is no way to upload firmware.
May try the Linux version to see if I have any more luck.

During some google searches last night, I came across mentions that newer versions of the sas2flash tool don't work with non-LSI branded cards, and mine is HP, Could that be the issue ? I'm using the P20 version of the tool.
I saw some references to an older P14 version, but couldn't find a download link for it.

Edit: I did find a link to it.

This contains P14 firmware, not a sas2flash.efi tool. I tried both IT and IR firmwares from P14, and they didn't work either.

Windows tool refuses to see the card because the driver isn't loading. Maybe Linux or FreeDOS tools will work ...
 
Last edited:

madbrain

Active Member
Jan 5, 2019
208
38
28
Maybe Linux or FreeDOS tools will work ...
FreeDOS also did not work.

sas2flash.exe refuses to execute. I get the error "ERROR: Failed to initialize PAL. Exiting program.".
Tried on two different motherboards - Asus Prime X570 Pro and Asus Z170-AR. Had to enable CSM. I disabled UEFI boot ROMs in the options.

The two other motherboards I have in the house are also Asus, and pretty similar, Asus Prime X470 Pro, and and Asus Z170 Gaming Aura.
Apparently, one needs to have a BIOS with "BIOS32 directory support" for the DOS version of sas2flash to work, and that is likely not the case for any of my 4 home built PCs - NAS, main desktop, and 2 HTPCs. I didn't keep any legacy pre-UEFI hardware in my house. 10 years ago, I would still have had some, but not anymore. It's not really clear that flashing from DOS would solve the problem, though.

If somebody knows of a fix, I'm all ears. Otherwise, the card may be headed for e-waste.
 

madbrain

Active Member
Jan 5, 2019
208
38
28
I also couldn't get the log option to work in sas2flash.efi. Looks like the syntax is "-l filename" . But I get an error about "Leaving File_Open[Open]0x00000008) no matter which filename I specify. I tried -l log.txt, or -l blk5:\log.txt for example, and neither worked.

My guess at this point is that I need an HP-branded version of the IR firmware for the 9217-4i4e card, since the LSI version fails to boot. I couldn't find anything on the HP web site about this model, though. Tried to search hpe.com with the part numbers from the labels on the card, and came up empty.
 

Markess

Well-Known Member
May 19, 2018
761
389
63
So, I'm not an expert, and my skills with crossflashing/updating HBA/RAID cards is pretty much at copy/paste from some else's guide...

With that said, some of the guides I've used call for using megarec to wrote zeros to the sbr and clear the flash before proceeding. I've not had a card with a SAS2308 before, but I had to do this for some SAS2008 & 3008 cards, which are also IOCs. Since 2308 is an IOC, maybe that process will work for you too.

Also, I know for one of my cards, it absolutely refused to update an existing crossflash with P20. The solution I found online (again, not figured out by me, I'm not that smart!) was to USE AN OLD VERSION OF TOOLS to use megarec to writesbr with 0s and then cleanflash. Then again with OLD VERSION TOOLs flash to P14 IR firmware, then crossflash to P14 IT firmware again with old tools, and from there use the CURRENT tools to update the P14 IT firmware to P20 using the regular process. Sounded kind of stupid and painful and pointless to me when I read it. But it worked and didn't take long.

I used FreeDOS via Rufus for the DOS parts, and switched to EFI for the actual firmware flashing.

EDIT: as I recall, the original poster's explanation for using old tools was that the P20 toolset had a problem fully clearing the flash of an HP branded card. P14 was more easygoing and worked better to wipe the flash apparently. I notice your card in the photos had an HP sticker on it.
 
Last edited:

Markess

Well-Known Member
May 19, 2018
761
389
63
Okay, so I looked through my browser history and didn't have much luck on P14 download links and I don't seem to have kept the tools myself. But I did find some notes I made for one crossflash I did recently. Pertinent ones here with some annotations:

1. create bootable flash with FreeDos using Rufus. If your version of Rufus has a selection to make bootable in both BIOS and EFI, pick that. I think newer versions do it automatically.

2. Copy the tools from the P20 firmware archive if that's what you have. May still work. Put all the files you need in the root directory. The EFI version of sas2flash seems to be unhappy with folders.

3. boot to the USB Drive in BIOS mode.

4. megarec -writesbr 0 sbrempty.bin (hopefully your package has sbrempty.bin? and assuming this is the only controller installed)

- megarec -cleanflash 0

- Reboot using the motherboard's boot menu and selecting the USB in UEFI mode.

- sas2flash -o -f 2xxxit.bin (insert correct firmware name). At this point with all the attempts you've made, you may want to try sas2flash -o -e 6 again first though.

No idea if it will work for you. But thought I'd mention it as it worked for me on a different (Dell) controller recently.
 

Pheckphul

Better than being feckless.
Feb 28, 2013
29
10
3
SF Bay Area
@madbrain, if your card is HP-branded, and based on the photo, it's an HP H222. The newest LSI/Broadcom UEFI tools worked fine for me when I cross-flashed two of these last week.

Perhaps the reseller got mixed up, and the card you got hadn't been cross-flashed before you got it. I don't know how to determine this at this point as we don't have a log file or photo showing the output of sas2flash -list showing its condition before you started this little adventure. If you want to try using a firmware file from HP, they are still available. Search for the H222 HBA.

BTW, you seem to be in a similar situation to me with the 2308 built into my Supermicro motherboard. I'm in the process of following these instructions to recover mine, but the step where the flash gets erased is failing. The instructions have links to all the files necessary to complete the steps, including the sbrempty.bin that @Markess refers to above.

The UEFI version of sas2flash does include the logging option, -l. That's a lowercase L. Stupid fonts that don't differentiate between capital I and L evidently led you astray.

As to booting into DOS with an EFI-based motherboard, you should have something called "CSM" or "legacy" mode enabled.

Hopefully between @Markess and my pointers you can get your HBA functional again. Good luck!
 
  • Like
Reactions: Markess

madbrain

Active Member
Jan 5, 2019
208
38
28
With that said, some of the guides I've used call for using megarec to wrote zeros to the sbr and clear the flash before proceeding.
I tried megarec very late last night. It worked under FreeDOS. I then rebooted to EFI, and tried to flash the P14 firmware with sas2flash.efi .
Unfortunately, the firmware failed to boot in an identical way.

Also, I know for one of my cards, it absolutely refused to update an existing crossflash with P20. The solution I found online (again, not figured out by me, I'm not that smart!) was to USE AN OLD VERSION OF TOOLS to use megarec to writesbr with 0s and then cleanflash. Then again with OLD VERSION TOOLs flash to P14 IR firmware, then crossflash to P14 IT firmware again with old tools, and from there use the CURRENT tools to update the P14 IT firmware to P20 using the regular process. Sounded kind of stupid and painful and pointless to me when I read it. But it worked and didn't take long.

I used FreeDOS via Rufus for the DOS parts, and switched to EFI for the actual firmware flashing.

EDIT: as I recall, the original poster's explanation for using old tools was that the P20 toolset had a problem fully clearing the flash of an HP branded card. P14 was more easygoing and worked better to wipe the flash apparently. I notice your card in the photos had an HP sticker on it.
The P14/P20 packages only contain tools for DOS and Windows. They don't contain any EFI flasher.

I have flashed DOS onto a USB stick with Rufus already. The DOS sas2flash tool doesn't work at all on most current UEFI motherboards, even when enabling CSM. In DOS, I get the "ERROR: Failed to initialize PAL. Exiting program.". I can't even list the card. The error happens even when running the program without any argument.

From what I have gathered through Google searches, the DOS version of sas2flash requires a service called "BIOS32 directory" to be implemented in the BIOS in order to be able to run.
See SOLVED - SAS2FLASH Easier Alternative .
This support is missing from all of my motherboards. Thus, I cannot flash in DOS.

The Windows version of the flash tool doesn't see the card at all. I see that the LSI driver fails to load in Device manager, probably because the firmware is missing.

The only tool I have that allows flashing is sas2flash.efi . Are there multiple versions of that ? It looks like there might be, so I'm going to look for those. However, so far, every post I have found through Google of someone who successfully recovered the card in this state has done so using FreeDOS.

If I'm reading correctly, to have any hope of recovering my card, I would need :
1) FreeDOS
2) The P14 or older version of sas2flash.exe for DOS
3) a motherboard that supports the BIOS32 directory service, probably a non-UEFI board >10 years old

Unfortunately, I don't have anything that meets the 3rd requirement.

I'm going to look for older sas2flash.efi now, and pray that this works.
 
Last edited:

madbrain

Active Member
Jan 5, 2019
208
38
28
Okay, so I looked through my browser history and didn't have much luck on P14 download links and I don't seem to have kept the tools myself. But I did find some notes I made for one crossflash I did recently. Pertinent ones here with some annotations:

1. create bootable flash with FreeDos using Rufus. If your version of Rufus has a selection to make bootable in both BIOS and EFI, pick that. I think newer versions do it automatically.

2. Copy the tools from the P20 firmware archive if that's what you have. May still work. Put all the files you need in the root directory. The EFI version of sas2flash seems to be unhappy with folders.

3. boot to the USB Drive in BIOS mode.

4. megarec -writesbr 0 sbrempty.bin (hopefully your package has sbrempty.bin? and assuming this is the only controller installed)

- megarec -cleanflash 0

- Reboot using the motherboard's boot menu and selecting the USB in UEFI mode.

- sas2flash -o -f 2xxxit.bin (insert correct firmware name). At this point with all the attempts you've made, you may want to try sas2flash -o -e 6 again first though.

No idea if it will work for you. But thought I'd mention it as it worked for me on a different (Dell) controller recently.
Thanks. I tried something close the above last night already, but not exactly.
I did "megarec -cleanflash 0".
I did not do "megarec -write 0 sbrempty.bin" .

After the megarec -cleanflash 0, I rebooted to UEFI, and it failed at the "sas2flash.efi -o -f 9217-4i4e.bin" step . I was using sas2flash.efi from Installer_P20_for_UEFI.zip, however.

sas2flash -e requires the firmware to be installed to work. It sends a command to the firmware to erase the flash. It it not something I can do anymore at this point.

I now will look for a copy of sbrempty.bin, and an older version of sas2flash.efi .
 

madbrain

Active Member
Jan 5, 2019
208
38
28
@madbrain, if your card is HP-branded, and based on the photo, it's an HP H222. The newest LSI/Broadcom UEFI tools worked fine for me when I cross-flashed two of these last week.

Perhaps the reseller got mixed up, and the card you got hadn't been cross-flashed before you got it. I don't know how to determine this at this point as we don't have a log file or photo showing the output of sas2flash -list showing its condition before you started this little adventure. If you want to try using a firmware file from HP, they are still available. Search for the H222 HBA.
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 .

BTW, you seem to be in a similar situation to me with the 2308 built into my Supermicro motherboard. I'm in the process of following these instructions to recover mine, but the step where the flash gets erased is failing. The instructions have links to all the files necessary to complete the steps, including the sbrempty.bin that @Markess refers to above.
Thanks for the link to that discussion . I was able to find a copy of the sbrempty.bin file inside the "SAS2008" ZIP at
https://www.files.laptopvideo2go.com/hdd/sas2008.zip .

Not sure if this file is common to SAS2308 adapters as well.

The UEFI version of sas2flash does include the logging option, -l. That's a lowercase L. Stupid fonts that don't differentiate between capital I and L evidently led you astray.
Yes, I figured that out and tried -i as well. The tool understood the argument, but always fails to open the log file. I never figured out what kind of file path it expected. Just log.txt ? blk5:\log.txt ? blk5:/log.txt ? All failed. blk5: was where my USB stick was mounted.

As to booting into DOS with an EFI-based motherboard, you should have something called "CSM" or "legacy" mode enabled.
Yes, booting to FreeDOS succeeds, but DOS version of sas2flash fails still.

Hopefully between @Markess and my pointers you can get your HBA functional again. Good luck!
Thanks for the help. I'm about to try again. Hope I finally get it back.
 

madbrain

Active Member
Jan 5, 2019
208
38
28
OK, my latest attempt failed the same way at the firmware flash step. What I did.
1. set BIOS to CSM
2. booted to FreeDOS USB stick
3. ran megarec -writesbr 0 sbrempty.bin
4. ran megarec -cleanflash 0
5. rebooted. Set BIOS to UEFI
6. booted to UEFI shell stick
7. ran
sas2flash.efi -o -f 9217-4i4e.bin
sas2flash.efi -o -f 9207-4i4e.bin
I was using sas2flash.efi from
And the bin files were from
8.
I found an Installer_P14.for_UEFI.zip on Broadcom.com through a search, but it turned out to contain sas3flash, not sas2flash .
Just try to guess the URL, I found a P17 version of sas2flash.efi .
I repeated the flashing step 7 with this older tool, without repeating steps 1-6. I got an identical failure. The firmware still fails to host boot.

Things left to try are :
1) retry from step 1 with P17 sas2flash.efi . That failed also.
2) firmware file from HP, if I can find the right place to download it
3) even older version of sas2flash.efi (older than P17) if one can be located
4) Linux version of sas2flash . This failed.
5) older motherboard that can run DOS version of sas2flash.exe

I'll gladly go through steps 1-4, but not 5, given the hardware cost involved. An LSI-branded version of the board can be had on ebay for $49.95 .
An old non-UEFI motherboard + CPU + RAM would likely cost more, would take much more time to setup, and there is no guarantee I would be able to recover the SAS controller.
 
Last edited:

Markess

Well-Known Member
May 19, 2018
761
389
63
3) a motherboard that supports the BIOS32 directory service, probably a non-UEFI board >10 years old
Not exactly. Most "modern" UEFI enabled motherboards won't have BIOS32, even when CSM is enabled. So the DOS version sas2flsh.exe is useless for you, as you have discovered. That's why there's sas2flash (the file with an "a" in flash. the DOS version has no "a" in flash to keep it 8.3 compliant) that works under UEFI. Otherwise, you, me and everyone else would be up the creek without a paddle when it came to flashing updated firmware.

So, LSI, or Broadcom, or whomever they will become next week, has a way for you to flash software using ONLY a UEFI based motherboard. sas2flash...yay!

But, they aren't interested in if you can crossflash firmware. So, that part where you have to erase the existing IR firmware to pave the way for flashing an IT version was never developed to work under UEFI, so you're stuck with DOS for that part. Luckily, for that part you aren't supposed to need anything special.

I think that the issue for you is maybe that the DOS part isn't properly nuking the existing software.

Other note: sbrempty.bin is pretty universal. The same file version is used for SAS2 and SAS3 controllers, so that at least should be OK.
 

Markess

Well-Known Member
May 19, 2018
761
389
63
OK, my latest attempt failed the same way at the firmware flash step. What I did.
1. set BIOS to CSM
2. booted to FreeDOS USB stick
3. ran megarec -writesbr 0 sbrempty.bin
4. ran megarec -cleanflash 0
5. rebooted. Set BIOS to UEFI
6. booted to UEFI shell stick
7. ran
sas2flash.efi -o -f 9217-4i4e.bin
sas2flash.efi -o -f 9207-4i4e.bin
I was using sas2flash.efi from
https://docs.broadcom.com/docs-and-downloads/host-bus-adapters/host-bus-adapters-common-files/sas_sata_6g_p20/Installer_P20_for_UEFI.zip And the bin files were from
https://docs.broadcom.com/docs-and-downloads/host-bus-adapters/host-bus-adapters-common-files/sas_sata_6g_p14/9217_4i4e_Package_P14_IR_IT_Firmware_BIOS_for_MSDOS_Windows.zip 8.
I found an Installer_P14.for_UEFI.zip on Broadcom.com through a search, but it turned out to contain sas3flash, not sas2flash .
Just try to guess the URL, I found a P17 version of sas2flash.efi .
https://docs.broadcom.com/docs-and-downloads/host-bus-adapters/host-bus-adapters-common-files/sas_sata_6g_p17/Installer_P17_for_UEFI.zip I repeated the flashing step 7 with this older tool, without repeating steps 1-6. I got an identical failure. The firmware still fails to host boot.
Oh....maybe I see what could be the issue?

Did you get any errors on this part: "I repeated the flashing step 7 with this older tool, without repeating steps 1-6" Did it give you a success message after flashing?

When you say "The firmware still fails to host boot." do you mean that you you are expecting a firmware BIOS load at boot to make the controller bootable and you aren't getting it? If that's the issue, try this command instead to flash the firmware:


sas2flash -o -f "firmware".bin -b mpt2sas.rom which, assuming the firmware flashed OK, should make the card bootable. Leave the "efi" extension off the command, and make sure you have a copy of mpt2sas.rom on the flash drive you're using.

(Flashing firmware and BIOS on LSI SAS HBAs)
 

madbrain

Active Member
Jan 5, 2019
208
38
28
Oh....maybe I see what could be the issue?

Did you get any errors on this part: "I repeated the flashing step 7 with this older tool, without repeating steps 1-6" Did it give you a success message after flashing?
No, I get the message : "ERROR: Fimware Host Boot Failed !" after running sas2flash.efi , as shown in the first screenshot in my OP.
I still haven't gotten the log option to work, so I can't paste the exact output. Screenshot is the best I can do, and that's already posted in the OP. Nothing has changed, unfortunately.

When you say "The firmware still fails to host boot." do you mean that you you are expecting a firmware BIOS load at boot to make the controller bootable and you aren't getting it?
No. I mean that flashing the firmware failed, and I get the message : "ERROR: Fimware Host Boot Failed !" after running sas2flash.efi , as shown in the screenshot.

If that's the issue, try this command instead to flash the firmware:
sas2flash -o -f "firmware".bin -b mpt2sas.rom which, assuming the firmware flashed OK, should make the card bootable. Leave the "efi" extension off the command, and make sure you have a copy of mpt2sas.rom on the flash drive you're using.

(Flashing firmware and BIOS on LSI SAS HBAs)
No, I wasn't trying to make the card bootable. I know I need to flash the ROM later on, but I believe I can do that in separate steps. But since the initial step of flashing the firmware fails, it's not possible to flash the ROM.

I'm not sure that leaving the ".efi" extension matters. I actually got that from autocompletion with the tab key in the UEFI shell.