The Versatile SAS3008 Chipset: My Vendor Crossflashing Adventures

Sleyk

Your Friendly Knowledgable Helper and Techlover!
Mar 25, 2016
1,360
707
113
Stamford, CT
@Sleyk - thanks for a very helpful series of posts, much appreciated.

Following your guides and the ArtofServer video I was able to flash a Dell H330 to HBA330 for my dell system, great!!

Now I have a Intel RS3UC080 which I was hoping to do the same to use as a HBA330 in another Dell server. In the process of flashing the card it become unusable and not recognised by Sas3flsh and I had to flah emptysbr and cleanflash using Megarec. MegaCLI wouldnt recognise the card

I think the issue was the dell firmware seems to be a file HBA330.FW when all other vendors have a .BIN file. Are these interchangeable? When I flashed the HBA330.FW it knew the card wasnt Dell and the flash aborted.

After using Megarec I was able to flash with LSI 9300-8I IT Firmware which is better than the stock Intel IR/IT firmware, but I'd still prefer HBA330 so I can use in my Dell machine. I found a guide suggesting to put a jumper on the card which may have helped with the Dell FW.

Do you have some instructions to go from 9300-8I to HBA330? Im using the DOS process.

Thanks for your help
Hey there, so for your case, since you already flashed it to a LSI 9300, then just go ahead and do another crossflash over from 9300 >> HBA330.

This should hopefully work and allow you to see Dell branded firmware on the card.

Basically, the steps to flash the intel card is essentially what you already did (Intel >> LSI >> HBA330) so you are good to go! :.)

Let me know if you run into any problems, and will help you out. There will be a few things we can try.
 

Thebokke

New Member
Nov 28, 2021
11
8
3
Thanks Sleyk

I tried that again today, when I try flash the HBA330.FW file to the card with sas3flsh it fails at the "Writing current Mfg Page 2 Settings to NVRAM. Failed to validate Mfg Page2!
Is there a difference in the amount of NVRAM on the Intel / LSI cards vs the Dell HBA330? 4 vs 8 mb?

1640297127605.png

Is there a .BIN file for the HBA330 that I should be using instead of the .FW file?

Thanks for your help
 
Last edited:

Sleyk

Your Friendly Knowledgable Helper and Techlover!
Mar 25, 2016
1,360
707
113
Stamford, CT
Thanks Sleyk

I tried that again today, when I try flash the HBA330.FW file to the card with sas3flsh it fails at the "Writing current Mfg Page 2 Settings to NVRAM. Failed to validate Mfg Page2!
Is there a difference in the amount of NVRAM on the Intel / LSI cards vs the Dell HBA330? 4 vs 8 mb?

View attachment 20886

Is there a .BIN file for the HBA330 that I should be using instead of the .FW file?

Thanks for your help
Ok, let's try this. Try to write this sbr to bypass the mfg page 2 error. I linked the special sbr below.

1. megarec3 -readsbr 0 9300.sbr
2. megarec3 -writesbr 0 3008.bin (this is an .sbr file, not a firmware file)
3. megarec3 -cleanflash 0
4. reboot
5. sas3flsh -o -f hba330.fw
 

Attachments

Thebokke

New Member
Nov 28, 2021
11
8
3
Ok, let's try this. Try to write this sbr to bypass the mfg page 2 error. I linked the special sbr below.

1. megarec3 -readsbr 0 9300.sbr
2. megarec3 -writesbr 0 3008.bin (this is an .sbr file, not a firmware file)
3. megarec3 -cleanflash 0
4. reboot
5. sas3flsh -o -f hba330.fw
Thanks for the new sbr file, I followed those steps and sadly I get the same issue. Does it make a difference if I've put a jumper on the pins or not ? (I tried this with the jumper on).
 

Sleyk

Your Friendly Knowledgable Helper and Techlover!
Mar 25, 2016
1,360
707
113
Stamford, CT
The jumper will allow you to boot the card without the sbr, and allow you to clean the flash, so essentially it's better to have the jumper off, unless recovering the card from a semi-brick.

Try to cleanflash the card again using megarec3, then reboot and try to write the firmware one more time. If it doesn't work, it's possible the intel card won't take the firmware, but I would be surprised if it doesn't. If push comes to shove, I would just stick with the LSI 9300 firmware until we can figure out what's happening with the card and the firmware.
 

fjstore

New Member
Jan 17, 2019
8
2
3
Oh ok, gotcha. Then the process to crossflash is simple, just grab the IBM N2215 firmware, which is the same as LSI 9300/9302, but since you want IMR, you would need the IR version of firmware :.)
OH,they are different fucnction . IMR 9340-8i Array include RAID 0.1.5 ,but 9300/9302 is HBA。
 
  • Like
Reactions: Sleyk

Thebokke

New Member
Nov 28, 2021
11
8
3
The jumper will allow you to boot the card without the sbr, and allow you to clean the flash, so essentially it's better to have the jumper off, unless recovering the card from a semi-brick.

Try to cleanflash the card again using megarec3, then reboot and try to write the firmware one more time. If it doesn't work, it's possible the intel card won't take the firmware, but I would be surprised if it doesn't. If push comes to shove, I would just stick with the LSI 9300 firmware until we can figure out what's happening with the card and the firmware.
Thanks again @Sleyk , I tried the same process without the jumper, I also tried the flashing the SBR from the working Dell HBA330 I have and I still get the same error when I flash the Dell FW. I used Megarec and then flashed back to the LSI 9300-8i firmware and the card is working again.

This is still better than the original Intel FW, but weird that is wont accept a Dell HBA330 FW. It does work in the Dell machine, I just miss the full integration in IDRAC to see devices etc that you get with the H330/HBA330.

If you have any other ideas please let me know. Thanks again for your help.
 
  • Like
Reactions: Sleyk

Sleyk

Your Friendly Knowledgable Helper and Techlover!
Mar 25, 2016
1,360
707
113
Stamford, CT
Thanks again @Sleyk , I tried the same process without the jumper, I also tried the flashing the SBR from the working Dell HBA330 I have and I still get the same error when I flash the Dell FW. I used Megarec and then flashed back to the LSI 9300-8i firmware and the card is working again.

This is still better than the original Intel FW, but weird that is wont accept a Dell HBA330 FW. It does work in the Dell machine, I just miss the full integration in IDRAC to see devices etc that you get with the H330/HBA330.

If you have any other ideas please let me know. Thanks again for your help.
No problem my friend, and I will look into this again as soon as I get some time. The intel card has open flash capabilities like the Supermicro, so it should take the Dell firmware. Perhaps the newer versions have a firmware/nvsram check. Another option may be to try an older firmware version to see if that takes. I will test some more as well when I can.
 

Sleyk

Your Friendly Knowledgable Helper and Techlover!
Mar 25, 2016
1,360
707
113
Stamford, CT
OH,they are different fucnction . IMR 9340-8i Array include RAID 0.1.5 ,but 9300/9302 is HBA。
Ah I see. Yes youre right.

Give me some time to do some testing and check out the procedure to go from stock IT mode to IMR. I think it should be doable, but I do beleive it is different from say, recovering from IT mode back to stock IMR, like going from 9340 to 9300, and then back to 9340.

Since this is stock 9300/9302, (IT Mode HBA) it might call for other utilities like megaoem and along with megarec3.

Will get back to you soon!
 
  • Like
Reactions: fjstore

fjstore

New Member
Jan 17, 2019
8
2
3
Ah I see. Yes youre right.

Give me some time to do some testing and check out the procedure to go from stock IT mode to IMR. I think it should be doable, but I do beleive it is different from say, recovering from IT mode back to stock IMR, like going from 9340 to 9300, and then back to 9340.

Since this is stock 9300/9302, (IT Mode HBA) it might call for other utilities like megaoem and along with megarec3.

Will get back to you soon!
yes,let's work together. how do i edit the sbr file just for change oem info。
 
Last edited:

Thebokke

New Member
Nov 28, 2021
11
8
3
No problem my friend, and I will look into this again as soon as I get some time. The intel card has open flash capabilities like the Supermicro, so it should take the Dell firmware. Perhaps the newer versions have a firmware/nvsram check. Another option may be to try an older firmware version to see if that takes. I will test some more as well when I can.
Thanks @Sleyk , appreciate your help mate.
 

lefuneste

New Member
Jan 11, 2022
3
2
3
I myself am running into a major issue with a B550/Ryzen 9 5900X with a Fujitsu CP400i cross-flashed to LSI 9300-8i. The HBA works in every other machine I have. All other HBA run on the B550 machine, but the 3008 HBA just won't get recognized by the chipset at boot. I traced this issue to the PCIe negotiation as well, but despite forcing these settings (bifurcation, bus speed) the card does not get recognized. Not even the Avago PreBIOS prompt appears. I have tried with and without ROMs (BIOS and EFI), different FW versions, different SBR, Filled VPD with valid data. Also tried to mask B5 and B6 pins. The card is powered (3.3V and 12V are good), but the PCIRESET pin (A11) is not lifted to 3.3V. So the motherboard does not enable the HBA. Again the card works on other computers totally fine, and other HBA (like a genuine LSI 9200-8e) runs fine on the B550. I have been through absolute Hell for the last entire week. No idea what is going on. I suspect (with no proof) the this is something related to Secure Boot (disabled of course) or low level validation of the SBR during PCIe enumeration. I will try to flash the SBR with empty SBR, probably bricking the HBA doing so. I have no idea what is happening, and I cannot even buy another adapter that may have the same issue.
 

Sleyk

Your Friendly Knowledgable Helper and Techlover!
Mar 25, 2016
1,360
707
113
Stamford, CT
I myself am running into a major issue with a B550/Ryzen 9 5900X with a Fujitsu CP400i cross-flashed to LSI 9300-8i. The HBA works in every other machine I have. All other HBA run on the B550 machine, but the 3008 HBA just won't get recognized by the chipset at boot. I traced this issue to the PCIe negotiation as well, but despite forcing these settings (bifurcation, bus speed) the card does not get recognized. Not even the Avago PreBIOS prompt appears. I have tried with and without ROMs (BIOS and EFI), different FW versions, different SBR, Filled VPD with valid data. Also tried to mask B5 and B6 pins. The card is powered (3.3V and 12V are good), but the PCIRESET pin (A11) is not lifted to 3.3V. So the motherboard does not enable the HBA. Again the card works on other computers totally fine, and other HBA (like a genuine LSI 9200-8e) runs fine on the B550. I have been through absolute Hell for the last entire week. No idea what is going on. I suspect (with no proof) the this is something related to Secure Boot (disabled of course) or low level validation of the SBR during PCIe enumeration. I will try to flash the SBR with empty SBR, probably bricking the HBA doing so. I have no idea what is happening, and I cannot even buy another adapter that may have the same issue.
You can try to flash the card to a Dell HBA330 and see if it recognizes. You can also try Supermicro firmware. That may hopefully allow the card to show? I have a B550 board, but haven't hooked it up to test this. I hope this isn't the case though, as I plan to upgrade to B550 and Ryzen 5600x soon.
 
  • Like
Reactions: lefuneste

lefuneste

New Member
Jan 11, 2022
3
2
3
You can try to flash the card to a Dell HBA330 and see if it recognizes. You can also try Supermicro firmware. That may hopefully allow the card to show? I have a B550 board, but haven't hooked it up to test this. I hope this isn't the case though, as I plan to upgrade to B550 and Ryzen 5600x soon.
Thanks for the kind reply. This forum is really a blessing.
I currently don't have an HBA330 SBR file at hand to do the conversion... But I have tried the Supermicro with exact same result (with and without OptBIOS/EFI Bios flashed). I've tried with all combinations of bifurcation and forcing the PCIe mode, with pins masked or not. The BIOS never gets to detect the card.

Few remarks :
-All other PCIe cards I own work in the first slot, including a genuine LSI 9200-8i I have in my HP Microserver.
-The Fujitsu HBA works in every other computer I throw at it. I can boot, see the HBA Bios, access the card from the OS...
-I take the time to reset the BIOS totally (including removing the battery and shorting pins) every round of test I conduct.
-I have even retined the PCB tracks to thicken them a tiny bit, as I ended up suspecting a false contact on one of the tracks withing the PCIe connector (it sounds scary but I am used to SMD soldering). No change.
-I have tried 4 different BIOS versions, and tried all possible CSM combinations, along with hundreds of other BIOS settings. Nothing changes.
-I have striped down the machine to nothing, disabling all possible internal device and removing all hardware, exact same result.
-The only "noticeable" thing I can see is that both NVMe (WD 850 Black) are detected straightforward at cold boot without the HBA. But when I try to add the Fujitsu HBA something happens. One NVMe disapears on cold boots ONLY. Once I hot reboot, then it comes back. Also if I remove the HBA, It continues to disappear on cold boots until I reset the EEPROM. Then it's good again. This behavior is pretty reproducible, so the failed PCIe negotiation seems to end up with a resource allocation failure which is then memorized by the chipset (smells like a big bug)

So my conclusion is that there is a problem during enumeration with this HBA, or at least my card tends to reveal it. I believe it is due to some expected negotiation delay which is exceeded or some bandwidth issue, but it's just a blind guess. It seems to be at a low hardware level for sure. The CPU tries to detect the card, but it doesn't like it, and blacklists it for some reason. Many many people seem to have similar PCIe detection issues with Ryzen based chipsets, which can take various forms depending of the context : GPU not appearing, NVMe or boot disks disappearing... All this makes me think that something more sinister is happening in the way the CPU/Chipset handle low level routines for PCIe enumeration. Looks like class action to me...

So I have contacted Gigabyte but don't expect a thing from them, as they are tied to AMD to correct the main bugs, like all other mobo makers. In order to move forward I have drawn a plan of action which unfortunately may cost me more than I intended when starting this build :
-First I have ordered a genuine Del HBA330 today. This will tell if the problem exists on an original (most likely not SBR flashed) card
-Then depending of the result, the problem will be solved or I'll RMA the Gigabyte mobo with a big "WTF?" message in the box
-Then I'll buy an Asrock X570M Pro4 and check if the problem is the same with a different BIOS breed and chipset.
-Then depending of the result (now owning 2 fully functional HBA and 2 useless mobo), I'll either be a happy camper, or I'll damn AMD engineers and their family lines until the end of times. And I'll bite the bullet and buy an Intel system with ECC support (ouch...)
 
Last edited:
  • Like
Reactions: Sleyk

Sleyk

Your Friendly Knowledgable Helper and Techlover!
Mar 25, 2016
1,360
707
113
Stamford, CT
Ok just read your post and I agree. I think you did mostly everything to troubleshoot this issue, and then some! :)

I think the Fujitsu may be the one not playing nice with the B550 chipset, but it will be interesting to see what you see with the HBA330. Let us know how it goes!
 
  • Like
Reactions: lefuneste

lefuneste

New Member
Jan 11, 2022
3
2
3
Hi there. I have received the HBA330 today and I have mounted it straight away into the server. And good news, it is detected by the MB !! So there is definitely something weird going on with the Fujitsu cross flashed to SAS3008 with my specific B500M motherboard. Considering the visual aspect of the Dell controller vs Fujitsu board, as not many people talk about it, the Dell HBA330 is much better built, better components integration and much beefier heat sink, while staying a slim card. Straight out of the box it feels much more sturdy and professional. The heat sink has a back plate, the PCB and PCIE contacts seem of better quality too. And I don't even have to cross flash it as it is already a native HBA. I think I paid 15 to 20% more for the Dell so definitely a great value !! I think the Supermicro is also a very nicely built model.

Now I have one remaining gripe with one of the NVME not showing up on cold boot (typical issue), and my procedure of resetting the BIOS seems to fail as the controller is detected this time. Resetting the BIOS works the first time (both NVME & controller show up on first cold boot), but once I modify the BIOS and save it, one NVME disappears on cold boots. I'll see if I can find a solution to this annoyance. It may come from one of the settings I modify. But damned these Ryzen chipsets are annoying !

Also I have obviously extracted the SBR. I post it here for the benefit of other users of this forum as I believe it can be useful. I'll try to flash it on the Fujitsu, but I doubt it'll make any change. Also the Fujitsu is detected in all my other machines so I'll recycle it on a secondary node.
 

Attachments

Last edited:
  • Like
Reactions: Sleyk

Sleyk

Your Friendly Knowledgable Helper and Techlover!
Mar 25, 2016
1,360
707
113
Stamford, CT
Hi there. I have received the HBA330 today and I have mounted it straight away into the server. And good news, it is detected by the MB !! So there is definitely something weird going on with the Fujitsu cross flashed to SAS3008 with my specific B500M motherboard. Considering the visual aspect of the Dell controller vs Fujitsu board, as not many people talk about it, the Dell HBA330 is much better built, better components integration and much beefier heat sink, while staying a slim card. Straight out of the box it feels much more sturdy and professional. The heat sink has a back plate, the PCB and PCIE contacts seem of better quality too. And I don't even have to cross flash it as it is already a native HBA. I think I paid 15 to 20% more for the Dell so definitely a great value !! I think the Supermicro is also a very nicely built model.

Now I have one remaining gripe with one of the NVME not showing up on cold boot (typical issue), and my procedure of resetting the BIOS seems to fail as the controller is detected this time. Resetting the BIOS works the first time (both NVME & controller show up on first cold boot), but once I modify the BIOS and save it, one NVME disappears on cold boots. I'll see if I can find a solution to this annoyance. It may come from one of the settings I modify. But damned these Ryzen chipsets are annoying !

Also I have obviously extracted the SBR. I post it here for the benefit of other users of this forum as I believe it can be useful. I'll try to flash it on the Fujitsu, but I doubt it'll make any change. Also the Fujitsu is detected in all my other machines so I'll recycle it on a secondary node.
Sounds good. I have also been looking at the Fujitsu card, as it appears to act up at times, even using my old 3rd gen Ivy bridge board in the PCI-E 3.0 x16 slot. Im not sure if the Fujitsu card itself is to blame. Most likely though. When I get a chance, I will do some more testing.
 

Originalus

New Member
Dec 22, 2020
28
9
3
Just installed Fujitsu CP400i flashed to 9300-8i on Asus TUF B550 plus. No issues so far.
 
Last edited:

JoeBethersonton

New Member
Jan 27, 2022
2
4
3
I just bought my first HBA card, so please forgive my stupidity :) I intend to use it in my upcoming Unraid build.
It is a Fujitsu CP400i - or is supposed to be at least. During boot it says:
Code:
AVAGO MegaRAID SAS-MFI BIOS
Version 6.32.02.1 (Build October 25, 2016)
Copyright (c) 2016 AVAGO Technologies
HA -0 (Bus 1 Dev 0) PRAID CP400i
FW package: 24.16.0-0105

PCI Slot Number: 16

ID LUN VENDOR PRODUCT      Revision      Capacity
       AVAGO  PRAID CP40Oi 4.660.01-8176 0MB
It will use it in IT-mode, but I cannot figure out if it is already in IT mode, or if I will have to flash it. I would prefer to use LSI-9300 firmware, as this seems to be well supported in Unraid.

I am using a z370 motherboard, so I don't believe that I can flash using Freedos. I read somewhere, that you could flash in Windows as well.
When I boot up Windows 10, the card shows up as AVAGO MegaRAID SAS ADAPTER with a yellow triangle and the following message:
Code:
This device cannot start. (Code 10)

An I/O adapter hardware error has occurred.
Any advice on how to proceed is much apreciated.