The Versatile SAS3008 Chipset: My Vendor Crossflashing Adventures

CHARLYE42

New Member
Jun 10, 2021
8
0
1
Hmm, seems like dos4gw isnt in the right place. It has to be in the root of the usb drive.

If you do have it in the usb root, then take this little file I attached here, and add it to your USB root as well. That should fix the error. Let me know how it goes my friend.
Hello, Sleyk.
I have added the Dos32A file and it still does not recognize the card, same error as this image.


¿Can I directly write the flash chip 24c64 with the programmer ch341a?
¿In the case that I can, what .bin to write?
¿The file sleyksbr.bin , what function does it have?

Thank you.
 
Last edited:

CHARLYE42

New Member
Jun 10, 2021
8
0
1
Hi All.

Is it possible to restore the controller PRAID CP400i after write
bad SBR:

> megarec -readsbr 0 praid.sbr
> megarec -writesbr 0 sbrempty.sbr
> megarec -cleanflash 0
> reboot

Now, sas3flsh cant find controller.

Thx for any advices or help.

Best regards,
--
lavr

Hello, have you been able to solve the problem?

Because if I do step 5 with the backup, it doesn't work, it can't find the driver.

A greeting
 

Drohne

New Member
Aug 14, 2021
10
3
3
[...]

5. Now write the correct sbr file to the card. Otherwise, sas3flash will NOT recognize the CP400i as you might have noticed before. This is because the Fujitsu card has built in mechanisms hidden within the megaraid internal firmware that do compatibility checks and verify the checksum and security features embedded within the firmware and the tiny bits of info stored within...

...you know what, nevermind. You dont need all that jazz.

Just Type: megarec3 -writesbr 0 sleyksbr.bin Once it writes successfully, then type: megarec3 -cleanflash 0 and it will start to clean out the flash.

6. Reboot, my son. Reboot.

7. Once back at dos (or efi shell) type this whole string out: (Remember, its sas3flsh for dos, and sas3flash for EFI shell)

sas3flsh -o -f 9300it.bin -b mptsas3.rom -b x64sas3.rom -assem [whatevernameyoulike] -tracer [theserialnumberforthecard] -sasadd [the16digitsasaddress]

8. That's it! sas3flsh/sas3flash will write the firmware, and legacy and efi bioses as well as serial number info and your custom name to the card.

9. Verify it all worked by typing:
sas3flsh -list or sas3flash -list

10. Enjoy!

You can also use this method to vendor crossflash these bad bois to a Dell HBA330, or perhaps you prefer a Supermicro AOCS-L3008L8i/e? Go right ahead. Whatever vendor you likey, just download and flash the vendor's firmware :.)


I will attach the utilities and files you need :.)

Have fun!

Hello.

We have a couple of Fujitsu PRAID CP400-8i cards around here and I'd like to "IT flash" them to make them more appropriate to our FBSD/ZFS infrastructure.

According to this youtube video (The Art of Server) [1] and the thread I'm posting herein it should be "easy" - but it isn't. Me stupid has already "bricked" on CP400-8i so far.

First of all in avoiding violation of copyrights and further I will not post officially any binaries.

The first frustrating fact is, that I couldn't come by the prerequisite LSI9300IT.SBR mentioned in [1], which seemingly would have things made easy. We don't have a card/adapter of that type and searching the net for a SBR of that type was not successful. So, without this essential piece the whole capmaign is rendered useless.

Second frustrating fact is that it is recommended to use a most recent "megarec.exe" aka "megarec3.exe". I searched Broadcom and other places, did so for days without success. By "accident" I found the file within a ZIP archive somewhere out in the vastness of the net - but not from an official site belonging to LSI/Avago/Broadcom. That "problem" solved I had to solve the next one. megarec3 does only exist for a DOS Shell. but megarec3 is a key tool, to do at least something with the Fujitsu PRAID CP400 adapters - because most firmwares/BIOSes on our used computers/workstation quit sas3flash.exe with a PAL error in cases executed from DOS shell alongside with megarec3, or, if lucky to start en U/EFI shell (not always possible, especially on older ASRock crap where we tried the open source EFIshell found at GitHub), sas3flash.efi quits with the message: no AVAGO adapter found (although megarec3 was writing/reading from the adaptor).

It seems and look like a mine field.

Since sas3flash.efi doesn't recognize the Fujitsu Adaptor - even when megarec-written with the CP400SBR SBR file provided here - and state that it can not find any AVAGO adapter, the only way seems to be that described in [1] - but here I lack in the mentioned and prerequisite LSI9300IT SBR file.

At last I'd like to warn the impatient: It seems I bricked one of our boards.

In DOS Shell I issued the commands

megarec3 -writesbr 0 sbrempty.bin (I guess that is the nullified SBR)
megarec3 -cleanflash 0 (takes some seconds)
reboot

After that, that, the adapter wasn't visible anymore for the EFI/BIOS. Starting the EFIshell USBdrive let me run into the "AVAGO adaptor not found" issue with sas3flash.efi as reported above.

I got another SBR provided on this platform and tried to "fix" the problem via

megarec3 -writesbr 0 CP400SBR.BIN (256 bytes, but wasn't 3008 controllers 544 bytes ?)
reboot

I FORGOT THE CLEANFLASH step ( megarec3 -cleanflash 0 ) before reboot!

At this point, my workstation (Fujitsu ) is unwilling to come up with the BIOS/EFI firmware when issued as long the adaptor is plugged in (No SETUP, no Select of boot device).
 

CHARLYE42

New Member
Jun 10, 2021
8
0
1
Ist there a chance to revive this adaptor without external ROM programmer?

Hi friend.
I have tried to do it from an external programmer, deleting the chip and adding the slelyksbr.bin and I'm still the same, it is not able to recognize the fw, nor delete the flash from the .dos commands, etc, ...
I think, the card has been broken, and there is no way.
I don't know what to do anymore.

Thanks for your answers.
 

Drohne

New Member
Aug 14, 2021
10
3
3
According to my post, see #43, it seems I bricked one of our PRAID CP400-8i controllers in the attempt to bring it either to IT mode and/or crossflash it to LSI9300IT mode.

The question still unanswered is: is the controller really bricked and is there a chance to recover it?

The SBR file CP400SBR.BIN is taken from this (STH - LSI/Avago/Broadcom SBR Download MegaThread) thread. I'd expect it not to be harmful. My question to those with the bigger brains and experiences would be: is the process as described with the lack of the finalzing "megarec -cleanflash 0" after writing the second time SBR (see above) really that important?

I got hands on another Fujitsu PSAS CP400-8i controller, the controller is still in service and reports itself to the Fujitsu server as an AVAGO LSI9300 HBA. The server's OS, FreeBSD, alsways report these controller's based upon the PCI vendor ID is suppose as Avago, but this time the firmware of the server itself reports this specific controller as the one I was looking for to obtain the SBR from - lucky me, I thought.

Fact is, the "megarec3.exec" tool fired up with FreeDOS 1.1, doesn't write the SBR! The command

"megarec3 -readsbr 0 IT9300.SBR"

remains forever stuck and I have to (warm) reset the box to come back. The megarec tool seems to be dated on April, 2015. Is there a source for a more recent one? Where to obtain this tool?

It is a mess. PRAID CP400 controllers can be easily updated/firmware-flashed by using a tool named "storcli". On our versions of controllers (all dated after 2015) it is the only usable tool. StorCLI, in turn, does not recognize the PSAS_CP400/LSI9300IT controller from which I was inclined to fetch the SBR.
 

Sleyk

Well-Known Member
Mar 25, 2016
1,172
550
113
Stamford, CT
Hi friend.
I have tried to do it from an external programmer, deleting the chip and adding the slelyksbr.bin and I'm still the same, it is not able to recognize the fw, nor delete the flash from the .dos commands, etc, ...
I think, the card has been broken, and there is no way.
I don't know what to do anymore.

Thanks for your answers.
According to my post, see #43, it seems I bricked one of our PRAID CP400-8i controllers in the attempt to bring it either to IT mode and/or crossflash it to LSI9300IT mode.

The question still unanswered is: is the controller really bricked and is there a chance to recover it?

The SBR file CP400SBR.BIN is taken from this (STH - LSI/Avago/Broadcom SBR Download MegaThread) thread. I'd expect it not to be harmful. My question to those with the bigger brains and experiences would be: is the process as described with the lack of the finalzing "megarec -cleanflash 0" after writing the second time SBR (see above) really that important?

I got hands on another Fujitsu PSAS CP400-8i controller, the controller is still in service and reports itself to the Fujitsu server as an AVAGO LSI9300 HBA. The server's OS, FreeBSD, alsways report these controller's based upon the PCI vendor ID is suppose as Avago, but this time the firmware of the server itself reports this specific controller as the one I was looking for to obtain the SBR from - lucky me, I thought.

Fact is, the "megarec3.exec" tool fired up with FreeDOS 1.1, doesn't write the SBR! The command

"megarec3 -readsbr 0 IT9300.SBR"

remains forever stuck and I have to (warm) reset the box to come back. The megarec tool seems to be dated on April, 2015. Is there a source for a more recent one? Where to obtain this tool?

It is a mess. PRAID CP400 controllers can be easily updated/firmware-flashed by using a tool named "storcli". On our versions of controllers (all dated after 2015) it is the only usable tool. StorCLI, in turn, does not recognize the PSAS_CP400/LSI9300IT controller from which I was inclined to fetch the SBR.
Hi Guys, sorry this hasn't worked for you! I have now flashed several Fujitsu CP400i's (D3307) cards with the exact same utilites and sbr.

Perhaps it is a version of SAS3flash? Let me package and upload the exact zip file of what I use. Be right back...
 

Sleyk

Well-Known Member
Mar 25, 2016
1,172
550
113
Stamford, CT
Ok, here you go my friends. Use this zip with all the files I use. These are the exact files I use to flash my cards.

Also, of note, once you reboot after writing the sbr and cleaning the flash, just flash the firmware by itself before flashing the MPT3 and X64 bios roms.

Hope this helps you guys! Let me know if you still get any problems and will help you.

Flash Fujitsu CP400i (D3307)
 
Last edited:
  • Like
Reactions: epicurean

CHARLYE42

New Member
Jun 10, 2021
8
0
1
Done! Worked. Worked great in case the original CP400i/3307 card has its original firmware. Thank you very much.


Hello, friend. I'm glad it works for you.
I can't do the tests for my card and I don't know when I can test the files that @Sleyk has uploaded.
Have you tried your card on a desktop pc?
Thanks.
 

Sleyk

Well-Known Member
Mar 25, 2016
1,172
550
113
Stamford, CT
Done! Worked. Worked great in case the original CP400i/3307 card has its original firmware. Thank you very much.
No problem my friend, glad it worked well! So if anyone has an issue, they can use the package I uploaded on post #48 :.)


Hello, friend. I'm glad it works for you.
I can't do the tests for my card and I don't know when I can test the files that @Sleyk has uploaded.
Have you tried your card on a desktop pc?
Thanks.
Hi there, so you would definitely need a pc to test and flash the firmware. Send me a pm.
 

Drohne

New Member
Aug 14, 2021
10
3
3
Hello, friend. I'm glad it works for you.
I can't do the tests for my card and I don't know when I can test the files that @Sleyk has uploaded.
Have you tried your card on a desktop pc?
Thanks.
My quest wasn't as straight forward as the thread here would suggest, for short: yes, I have tested the re-flashed adaptors on both server platforms as well as a workstation type system and on ASrock low end hardware.

On an older HP 8300 SFF with UEFI firmware 2.05 I was able to proceed the "bricked" procedure of posting #43, while Fujitsu's latest UEFI firmware for both Celsius 740M and RX1330-M1 and -M2 servers fail to start any firmware menu as long as the "bricked" adaptor was attached to the PCIe bux. On the HP, in the contrast, there were NO! problems and I was able to start the flash process again and successfully finished it.

A desaster (and a clear sign of the quality) is ASrock's UEFI for Z77 chipset based boards (quite old, only 2018 was gifted by an Spectre/Meltdown update). Regular CP400i cards with the latest Fujitsu firmware available flashed with "storcli" (and working well on the Z77 based boards) reject to open UEFI firmware as long as the adaptor was connected.

The real problem is to find a system with a suitable UEFI firmware!

Another issue, if an issue, seems to be the PCIe connectivity. I have only oldish equipment available with PCIe with maximum 4 lanes. So the OS reports a 8x lanes capable hardware settled in a 4x lane port. On the Fujitsu workstation I tried (randomly) the flashed card and it was also reported to be 4x lanes, but I was not sure wether I really hit the suppoesed 8x PCIe slot or also hit the 4x lane slot on the box. I read about the issue that after the reflashing, the Fujitsu adaptors may have 4x lanes left instead of 8x lanes.
 
  • Like
Reactions: CHARLYE42

CHARLYE42

New Member
Jun 10, 2021
8
0
1
My quest wasn't as straight forward as the thread here would suggest, for short: yes, I have tested the re-flashed adaptors on both server platforms as well as a workstation type system and on ASrock low end hardware.

On an older HP 8300 SFF with UEFI firmware 2.05 I was able to proceed the "bricked" procedure of posting #43, while Fujitsu's latest UEFI firmware for both Celsius 740M and RX1330-M1 and -M2 servers fail to start any firmware menu as long as the "bricked" adaptor was attached to the PCIe bux. On the HP, in the contrast, there were NO! problems and I was able to start the flash process again and successfully finished it.

A desaster (and a clear sign of the quality) is ASrock's UEFI for Z77 chipset based boards (quite old, only 2018 was gifted by an Spectre/Meltdown update). Regular CP400i cards with the latest Fujitsu firmware available flashed with "storcli" (and working well on the Z77 based boards) reject to open UEFI firmware as long as the adaptor was connected.

The real problem is to find a system with a suitable UEFI firmware!

Another issue, if an issue, seems to be the PCIe connectivity. I have only oldish equipment available with PCIe with maximum 4 lanes. So the OS reports a 8x lanes capable hardware settled in a 4x lane port. On the Fujitsu workstation I tried (randomly) the flashed card and it was also reported to be 4x lanes, but I was not sure wether I really hit the suppoesed 8x PCIe slot or also hit the 4x lane slot on the box. I read about the issue that after the reflashing, the Fujitsu adaptors may have 4x lanes left instead of 8x lanes.


I am very happy that you solved the programming, having the brick cp400i card.

On the other hand, I understand that if you use any computer with an appropriate uefi, it is not necessary to use a server to be able to program the card using usb-boot?

That is, the key is the uefi version to use?

Thank you for all the information, experience and clarifications.
 

Drohne

New Member
Aug 14, 2021
10
3
3
In my environment, I did not find a single server/PC, starting from issue date 2013, which does provide the BIOS64 extension, which would avoid this PAL error you'd face if trying to use sas3flash from BIOS. So the reflashing of the CP400 cards were two fold:

1) using megarec3.exe within BIOS to write sbr and clean the flash, that is the first step. See this thread
2) starting UEFI, to flash the firmware and the BIOS/UEFI ROM

You do not need a server, a usual PC with a decent and well programmed UEFI (with CMS) will suffice.
 

CHARLYE42

New Member
Jun 10, 2021
8
0
1
In my environment, I did not find a single server/PC, starting from issue date 2013, which does provide the BIOS64 extension, which would avoid this PAL error you'd face if trying to use sas3flash from BIOS. So the reflashing of the CP400 cards were two fold:

1) using megarec3.exe within BIOS to write sbr and clean the flash, that is the first step. See this thread
2) starting UEFI, to flash the firmware and the BIOS/UEFI ROM

You do not need a server, a usual PC with a decent and well programmed UEFI (with CMS) will suffice.

Okay.

And what version of UEFI do you recommend for desktop pc, or if it can be that asrock motherboard model you used z77

What does "CMS" mean?

Thanks.
 
Last edited:

Drohne

New Member
Aug 14, 2021
10
3
3
Okay.

And what version of UEFI do you recommend for desktop pc, or if it can be that asrock motherboard model you used z77

What does "CMS" mean?

Thanks.
I do not have ANY recommendations for the UEFI, because that depends on the vendor of the PC and its relation to those big players in the world of firmware development. Every modern PC has a firmware. EFI/UEFI is the 64 bit capable, modern version of a firmware which is "standardized" (so we call it EFI/UEFI, as far as I know an Intel invention). For many decades x86 compatible systems had a 32 bit firmware called "Basic Input Output System, BIOS for short. With the dawn of 64 bit CPUs and mass storage beyond a 32 bit addressable space those "BIOS" start to suck, but the world is Intel infested and the horrible x86 architecture is still all around. A separation of terms BIOS and EFI/UEFI is not used in strictu sensu these days, so you can call EFI BIOS and vice versa. I think all modern PCs do have a EFI/UEFI, but they have to assure a BIOS compatibility, and this is called CSM (shot for Compatibility Support Module) - sometimes I confuse the order of the letters in the word ...

You have to figure out for yourself which UEFI version works better with the task you are pallning to do. ASrocks Z77 (outdated and EoL) based mainboards use an early incarnation of EFI standard firmware without a suitable built-in shell and it fails to run a UEFI compliant shell (you can find on github) - ergo flashing the CP400i on such a wreck wasn't very pleasant.

As I wrote above, I had several modern firmware versions available which failed, like Fujitsu's implementation, but HP's implementation of on older UEFI from around 2015/16 worked great, even with the mutual bricked CP400 board (which wasn't bricked at the end).