The Versatile SAS3008 Chipset: My Vendor Crossflashing Adventures

joker4791

New Member
Jan 25, 2021
5
5
3
Hi,

I also have a Fujitsu D3307 controller that I would like to crossflash to IT mode. What makes me a little bit curios is the fact that the original SBR on the card as of now with original firmware is 256 bytes of length.
Code:
megarec3.exe -readsbr 0 D3307.SBR
On that SBR bytes 0x00 to 0x1F are a copy of bytes 0xE0 to 0xFF (MFG page 2?), so it seems that this SBR format is indeed different to classic SAS2 controllers, where that copy is stored from 0x4D on.

Anyway, could one please share that strange little 448-byte 9300-IT-SBR?
Thank you in advance!

Best regards,
j.
 
  • Like
Reactions: Sleyk

Sleyk

Well-Known Member
Mar 25, 2016
1,172
550
113
Stamford, CT
@Sleyk

Did you ever crossflash a Fujitsu CP400i/D3307 yourself? And if so, could you please further elaborate on how you did this exactly?

The only source I've been able to find on how to crossflash a CP400i/D3307, is this video tutorial:


Thanks!
Hi,

I also have a Fujitsu D3307 controller that I would like to crossflash to IT mode. What makes me a little bit curios is the fact that the original SBR on the card as of now with original firmware is 256 bytes of length.
Code:
megarec3.exe -readsbr 0 D3307.SBR
On that SBR bytes 0x00 to 0x1F are a copy of bytes 0xE0 to 0xFF (MFG page 2?), so it seems that this SBR format is indeed different to classic SAS2 controllers, where that copy is stored from 0x4D on.

Anyway, could one please share that strange little 448-byte 9300-IT-SBR?
Thank you in advance!

Best regards,
j.

Hey guys! Welcome to STH. I didnt see your posts right away. Sorry! However, if ye ask, ye shall recieve! Lol!

Yes, it is super easy to flash/crossflash a Fujitsu CP400i to LSI 9300-8i. Or you can intervendor crossflash to a Supermicro AOC-S3008-L8i/e. All you need is the correct SBR.

These .sbr files are very precious you see, and only a few peeps have good ones :.)

Now don't worry about sbr file sizes or anything like that. Its too complicated on the surface level and alot of it makes no sense really. Why worry yourself eh? Big brother Sleyk got you. :.)

An excellent guide to use is to use my bro's ArtofServer vids for clean and clear directions. However, sometimes you need to see it in writing too eh?

Here's where your big bro Sleyk will help ya out.

Its super easy to crossflash a Fujitsu CP400i (D3307) as I mentioned above, and you would use three utilities: megacli, megarec and sas3flash to do it. You also need a good .sbr, which I am kind enough to provide, just this once since you guys asked nicely :.)

So the steps are:

0. Make a Freedos flash drive and boot to Freedos. (Use Rufus tool to create/format to a freedos bootable flash drive. Its super easy) Copy all files to your flash drive. Boot your system with the card installed.

1. Fire up megacli. Type: megacli -adpallinfo -a0

2. Pause on your keyboard when the output scrolls past the serial number and write it down on a piece of paper or take a pic. (I would exclude the zeros. You just need the last 8 digits for the serial number. (This is exclusively for the Fujitsu cards.)

3. Do the same for the SAS address when it scrolls by. If you can't pause the output with your keyboard, just take video of it with your cell phone, then you can pause the video on your phone and write down your info. All you need is the serial number and SAS address. Well really, only the SAS address. Most Fujitsu cards have the serial number on a sticker at the front of the card.

4. Once you got your info, Fire up megarec and lets do some SBR stuff! Its a good idea to save the original Fujitsu SBR.
Type: megarec3 -readsbr 0 CP400i.sbr
then type:
megarec3 -readspd 0 CP400i.spd (The "readspd" command will most likely fail, but that's ok. You dont really need it. Just get into the habit of saving both sbr and spd files just in case.

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!
 

Attachments

Last edited:

joker4791

New Member
Jan 25, 2021
5
5
3
Dear @Sleyk ,

Thank you very much for the files!
Obviously the 256 byte SLEYKSBR.BIN file is from a Supermicro AOC-S3008L-L8e (VID/PID 1000:0097, SVID/SPID 15d9:0808), therefore we will get an IT mode flashed Supermicro SAS3 controller :D .

Thanks again & best regards!
j.
 
  • Like
Reactions: Sleyk

Sleyk

Well-Known Member
Mar 25, 2016
1,172
550
113
Stamford, CT
Dear @Sleyk ,

Thank you very much for the files!
Obviously the 256 byte SLEYKSBR.BIN file is from a Supermicro AOC-S3008L-L8e (VID/PID 1000:0097, SVID/SPID 15d9:0808), therefore we will get an IT mode flashed Supermicro SAS3 controller :D .

Thanks again & best regards!
j.
Lol! That's correct :.)

But you peeps always gotta reveal everything... grrr...:mad:

Can a brother keep a mystery about it eh? I'm trying to be cool for the girls bro. Lol!

I kid, i kid. But yeah, its a Supermicro .sbr that I linked. Its one of the sbr's that can work. I provided the simplest one. It will also allow you to flash the Fujitsu to a LSI 9300-8i as well, which is what most people wanna do.

In this case, you can also even convert to a Dell HBA330 as well if you wanna throw it into a Dell system.

Fancy is yours :.)
 

joker4791

New Member
Jan 25, 2021
5
5
3
1. Fire up megacli. Type: megacli -adpallinfo -a0

2. Pause on your keyboard when the output scrolls past the serial number and write it down on a piece of paper or take a pic. (I would exclude the zeros. You just need the last 8 digits for the serial number. (This is exclusively for the Fujitsu cards.)

3. Do the same for the SAS address when it scrolls by. If you can't pause the output with your keyboard, just take video of it with your cell phone, then you can pause the video on your phone and write down your info. All you need is the serial number and SAS address. Well really, only the SAS address. Most Fujitsu cards have the serial number on a sticker at the front of the card.

4. Once you got your info, Fire up megarec and lets do some SBR stuff! Its a good idea to save the original Fujitsu SBR.
Type: megarec3 -readsbr 0 CP400i.sbr
then type:
megarec3 -readspd 0 CP400i.spd (The "readspd" command will most likely fail, but that's ok. You dont really need it. Just get into the habit of saving both sbr and spd files just in case.

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.
I have successfully crossflashed my first Fujitsu D3307 according to above steps & files :cool: !
However, the card is not running in my Asus Sabertooth 990FX R2.0, therefore I used a small Fujitsu D3313 board that is laying around. I'm not sure if I missed some BIOS setting or if that card is simply not compatible with a PCIe 2.0 only mainboard. That has to be investigated further on...

Best regards,
j.
 
  • Like
Reactions: Sleyk

aalavr

New Member
Apr 6, 2021
2
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
 

joker4791

New Member
Jan 25, 2021
5
5
3
Yes, it is possible to recover that controller. You have to flash a valid SBR to the AT24C64D chip using an external prommer.
 
  • Like
Reactions: Sleyk

Sleyk

Well-Known Member
Mar 25, 2016
1,172
550
113
Stamford, CT
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
Yes, it is possible to recover that controller. You have to flash a valid SBR to the AT24C64D chip using an external prommer.
Hi there, no need to use an external programmer my friend, Joker4791 is right, and you can use that method, but all you need to do is re-write the praid sbr you saved at first with megarec3, then reflash the fujitsu CP400i rom.

Or just bring it to LSI IT mode firmware.

Just flash the sbr I included in the thread on post #22, and follow the instructions to flash the sleyk.sbr.

In your case, start from step 5, and flash the sbr. Then do a cleanflash, then finally, reboot. Sas3flsh will then see the controller.

Then just flash LSI 9300it.bin to get the controller to IT firmware.
 
Last edited:
  • Like
Reactions: joker4791

joker4791

New Member
Jan 25, 2021
5
5
3
Oh, haven't tried to use megarec in that case. I have all the equipment to write such things externally very quickly, so that would have been my first choice. But if megarec can do that directly, that is even better. Good to know...
 
  • Like
Reactions: Sleyk

aalavr

New Member
Apr 6, 2021
2
0
1
Hi Sleyk,

Hi there, no need to use an external programmer my friend, Joker4791 is right, and you can use that method, but all you need to do is re-write the praid sbr you saved at first with megarec3, then reflash the fujitsu CP400i rom.

Or just bring it to LSI IT mode firmware.

Just flash the sbr I included in the thread on post #22, and follow the instructions to flash the sleyk.sbr.

In your case, start from step 5, and flash the sbr. Then do a cleanflash, then finally, reboot. Sas3flsh will then see the controller.

Then just flash LSI 9300it.bin to get the controller to IT firmware.
sorry for the noise, I done this with megarec3 write sleyk.sbr and successfully flash it to LSI SAS3008-IT.
Thanks to Sleyk for SBR.

Interesting, after flash PRAID CP400i to LSI SAS3008, subversion vendor id and subversion device id
was changed (as i undestand according to sleyk.sbr :), but that's not the point, don't ask why, i need
to flash it with fujitsu psas cp400i firmware.

sas3flsh use testssid and don't flash already reflashed praid cp400i (now lsi sas3008-it).

Has anyone tried changing the ssid/ssvid using the utility "megascu"?
Does megascu work with this controller?

One more question: does someone try to read SBR from PSAS CP400i and use it instead sleyk.sbr
for flash PRAID?

OOps, forgot, there are:

# storcli cx set sbr

Does someone try it? No options, no files???

Thans all guys for your time, jobs and help.

Best regards,
--
lavr
 

Sleyk

Well-Known Member
Mar 25, 2016
1,172
550
113
Stamford, CT
Hi Sleyk,



sorry for the noise, I done this with megarec3 write sleyk.sbr and successfully flash it to LSI SAS3008-IT.
Thanks to Sleyk for SBR.

Interesting, after flash PRAID CP400i to LSI SAS3008, subversion vendor id and subversion device id
was changed (as i undestand according to sleyk.sbr :), but that's not the point, don't ask why, i need
to flash it with fujitsu psas cp400i firmware.

sas3flsh use testssid and don't flash already reflashed praid cp400i (now lsi sas3008-it).

Has anyone tried changing the ssid/ssvid using the utility "megascu"?
Does megascu work with this controller?

One more question: does someone try to read SBR from PSAS CP400i and use it instead sleyk.sbr
for flash PRAID?

OOps, forgot, there are:

# storcli cx set sbr

Does someone try it? No options, no files???

Thans all guys for your time, jobs and help.

Best regards,
--
lavr
Hey brother, not entirely sure what you want to do? You want to reflash the Fujitsu with PRAID firmware using the original SBR? As far as I know, Megascu will work with the card in PRAID mode, but once you flash to a 9300, it wont work, since the utility wont see the card as a rom card, but a SAS3flsh card, so now the card will show most likely only with sas3flash utility.

As for changing the SSID,'s etc. just be careful my friend! If you mess up or change the SSID incorrectly, then even SAS3flash wont recognize the card. I would instead try to reverse the procedure and recover back to a PRAID CP400i.
 
Last edited:

madejackson

New Member
May 30, 2021
1
1
1
Hey @Sleyk

I just want to say thank you! This whole SATA-Controller Topic is a real mess. Why the heck is everyone recommending these LSI Controllers for Unraid... they are a PITA.

I recently upgraded my unraid machine to an old fujitsu server. It had an CP400i (SAS3008) in it and I also bought another LSI 9260 (SAS2108). I just recently learned that I should have avoided SAS2108 based Controllers.

After several hours of problem solving I found your post and successfully flashed my SAS3008 to IT Mode.
Your SBR file is the only one available I found which made everything possible.

BTW...
...Your Zip is missing DOS4GW.EXE which was needed for megarec3.exe (Fortunately I had found this file somewhere else)
...I had to use an EFI Shell for the last command as I got an error in freeDOS.

Now I am just wondering, If I can get the LSI 9260 running with Unraid. IT mode is not available, how can I run them in JBOD?
 
  • Like
Reactions: Sleyk

Sleyk

Well-Known Member
Mar 25, 2016
1,172
550
113
Stamford, CT
Hey @Sleyk

I just want to say thank you! This whole SATA-Controller Topic is a real mess. Why the heck is everyone recommending these LSI Controllers for Unraid... they are a PITA.

I recently upgraded my unraid machine to an old fujitsu server. It had an CP400i (SAS3008) in it and I also bought another LSI 9260 (SAS2108). I just recently learned that I should have avoided SAS2108 based Controllers.

After several hours of problem solving I found your post and successfully flashed my SAS3008 to IT Mode.
Your SBR file is the only one available I found which made everything possible.

BTW...
...Your Zip is missing DOS4GW.EXE which was needed for megarec3.exe (Fortunately I had found this file somewhere else)
...I had to use an EFI Shell for the last command as I got an error in freeDOS.

Now I am just wondering, If I can get the LSI 9260 running with Unraid. IT mode is not available, how can I run them in JBOD?
Hey brother, thanks for letting me know. I sometimes don't include files like Dos4gw.exe and Himem.sys, etc. just in case someone's system isn't compatible, but you're right, some people may need that file to run megarec3 :.)

The LSI controllers are simply the best to connect stable drives to your system, although I agree, there are others. I personally love and still use to this day, the Marvell controllers, particularly, the Marvell 9215 based chipset controllers. They have been absolutely stable and perfect for me in Truenas/Xigmanas, Windows, etc. I have zero problems with them and they are decently fast and freaking cheap. Plus they arent intrusive on your system. They normally use x1 and x4 bandwidth, so they dont take the longer x8 and x16 slots, like the big boy LSI SAS controllers.

If using the 9260, it wont give you straight passthrough as you know, so I would avoid it if you can. Best to pick up a SAS2004 chipset if you can, like a IBM H1110 or an 9211-4i, which are still somewhat cheap right now, or go for a cheap Marvell based chipset :.)
 

CHARLYE42

New Member
Jun 10, 2021
8
0
1
Hello to all friends.
I have some doubts, I have a Fujitsu CP400i and I connect it to a desktop pc msi x99a, with its cable for a hard disk wd ultrastar ss530 sas ssd, and the operating system w10 does not recognize the hard disk ssd sas12gb/s.
I have tried the process in Freedos from post 22, but the PRAID C400I card does not recognize me, using the command;
megacli -adpallinfo -a0.

IMG_20210612_195433.jpg

The cable I use.

71L1Y6qjKjL._SL1500_.jpg

Thank you.
P.D: I am sorry for my translation.
 
Last edited:

Sleyk

Well-Known Member
Mar 25, 2016
1,172
550
113
Stamford, CT
Hello to all friends.
I have some doubts, I have a Fujitsu CP400i and I connect it to a desktop pc msi x99a, with its cable for a hard disk wd ultrastar ss530 sas ssd, and the operating system w10 does not recognize the hard disk ssd sas12gb/s.
I have tried the process in Freedos from post 22, but the PRAID C400I card does not recognize me, using the command;
megacli -adpallinfo -a0.

View attachment 19015

The cable I use.

View attachment 19009

Thank you.
P.D: I am sorry for my translation.
Hey my friend, thats ok. The megacli command is there so you can save the original SAS address and serial number. You don't need either one really. You can make up an SAS address, and usually, the serial number is at the back of the card or somewhere on the card on a small label.

You can just continue on to the next steps using Megarec3 :.)

1. Write the provided sbr
2. Clean the flash
3. Reboot
4. Flash 9300 it mode firmware
5. All done :.)
 

CHARLYE42

New Member
Jun 10, 2021
8
0
1
Hey my friend, thats ok. The megacli command is there so you can save the original SAS address and serial number. You don't need either one really. You can make up an SAS address, and usually, the serial number is at the back of the card or somewhere on the card on a small label.

You can just continue on to the next steps using Megarec3 :.)

1. Write the provided sbr
2. Clean the flash
3. Reboot
4. Flash 9300 it mode firmware
5. All done :.)
@Sleyk.
Thanks for the answer, I have tried and I have this error, I cannot continue.


IMG_20210613_175904.jpg


I am moving forward, I have put the Dos4gw.exe program in the Freedos usb along with the other files. and now I get this.


My pcie card is broken or is blocked from the factory, because it is still not recognized.?

Option A:
Me, I have a CH-341a eeprom-bios chip programmer.
I have copied the 24c64 eeprom from my Fujitsu pcie, delete and write the Sleyksbr.bin with the ch341a programmer?

Thank you.
 
Last edited:

Spearfoot

Active Member
Apr 22, 2015
106
44
28
iXsystems has an LSI SAS3008 firmware update, phase 16.00.12.00, available here:

 

Sleyk

Well-Known Member
Mar 25, 2016
1,172
550
113
Stamford, CT
@Sleyk.
Thanks for the answer, I have tried and I have this error, I cannot continue.


View attachment 19019


I am moving forward, I have put the Dos4gw.exe program in the Freedos usb along with the other files. and now I get this.


My pcie card is broken or is blocked from the factory, because it is still not recognized.?

Option A:
Me, I have a CH-341a eeprom-bios chip programmer.
I have copied the 24c64 eeprom from my Fujitsu pcie, delete and write the Sleyksbr.bin with the ch341a programmer?

Thank you.
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.
 

Attachments