Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

So I'm here to report that I was able to achieve success.

I flashed a Dell H330 RAID card to Dell 12Gbps HBA (HBA330) IT firmware.

Background: The DELL H330 card is a 3rd Gen LSI SAS RAID card based off of the SAS3108 chipset,
that is capable of 12Gigabit per second (12Gbps) SAS speeds, that was released under the PERC 9
line of cards. It’s a Raid card with no cache or BBU and has previously been unable to flash over to
HBA firmware of any kind. I believe this card shares the same family as the LSI 9341 or 9361. I
could be wrong though.
Note: This write up is SUPER long! If you are a rush nanny, and also if you might possibly revert
back to Dell Stock Rom, and you just want the steps, see the next pages after this with Compact
Steps for Windows and Without Windows. Also, just so you know, There IS a method to try to
revert back to Dell Stock Proprietary Rom, but it’s very dangerous, I rather tell you NOT to risk it.
So, don't risk it. Just think of it as you are turning this card into a PERMANENT 12Gbps HBA card
with IT mode. Which, is fine for most people. I mean, how many people will actually want to go and
revert back to Dell Raid Proprietary Rom anyway? I think very few, if anyone.

This write up was written with instructions for small explanations so hopefully it’s easier to
understand. If you don’t wanna read all this jazz, I put compact steps in the next few pages for all
you rushy rushies. But I think some people will appreciate the explanations as of course there will
be people who don’t understand a lot of the concepts of flashing these SAS cards.

Now, Dell also makes 2 HBA versions of this same card, namely, the HBA330 (HBA330/HBA330+)
and the 12Gbps External HBA card. Both come with stock IT firmware to allow you to passthrough
your drives to your system without Raid firmware built-in.

The H330 card however, was never able to flash over to IT firmware. Many have tried. But try as
they might, it was just not able to flash over to Dell 12Gbps HBA IT firmware, much less Stock LSI IT
firmware. When you buy the card, it comes with proprietary Dell firmware on it.

Until now…Bwahaahaa!! Hahaahaaa!!!!

Disclaimer (I hate this, but I gotta put it in here)

I am not responsible if you make a mistake and murderize and/or brick your hardware. Please be
safe in your lab and/or setup, and don’t get crazy. If you brick your card or your hardware, I will
cry, but I aint responsible. Use this at your own discretion. That being said, these cards are SUPER
hard to brick, with only one or two ways I've discovered, so don’t worry too much! I will
DEFINITELY warn you if anything is dangerous. Ugh. I hate disclaimers. It’s like a bane to the
tinkering mind. Ah well. Moving on…
Note: It’s worth noting, the proprietary Dell firmware does come with an HBA “mode” that you can
set in the proprietary Dell Firmware Bios. However, there are small drawbacks to using it that I
won’t get into now. A lot of people report using the card in HBA mode and its working fine for them.
You just go into the proprietary firmware Bios and change the card’s “personality” to HBA mode. If
you are one of those people that like the Dell H330 card as is and DON’T want to flash it to LSI/Dell
HBA firmware, then this is not for you. But for those of us that want a cheap 12Gb SAS card that can
be flashed to HBA IT firmware, then this is for you.

There are a few steps in the process. To get this card flashed, you can use Windows and Dos, or DOS
only.

Ok, Let’s Begin. (FOLLOW ALL MY INSTRUCTIONS TO THE LETTER PLEASE!)

In the Beginning…

In the beginning of time, grass was green. Girls in denim shorts were hot.…and Dell, along with
many other Hardware OEM’s, wanted to burden us with proprietary firmware at every turn. Heck,
they still do. So do a lot of other hardware OEM’s. They love their proprietary software.

Don’t get me wrong. Dell is an excellent company. But the proprietary nonsense pisses me off so
much sometimes. It’s unbearably clunky, sometimes very slow and sometimes, holds back the card
from its “true” potential. I must say though, for some, it is necessary for the features, support, etc.

However, my dear Hardware OEM’s, please do better. We don’t mind you being our tech overlords.
We love your products. We get them super cheap on the used market. But please stop with the
clunky and burdensome proprietary software. We beg of you.

Anyways, to begin, you must be able to access the H330 Raid Card to modify and/or flash over the
stock Raid Bios. To do so, Dell includes a modified version of the StorCLI utility that LSI provides for
their MegaRaid Cards. This utility is called PERCCLI. This is the first utility we will use in Windows.
(No need to use this utility tool if using DOS flashing only)

Note for added info: LSI used to provide a utility called MEGACLI. This is now “phased out” for the
new STORCLI utility. You can still use MEGACLI, but I believe LSI wants you to use STORCLI. I still
use MEGACLI with excellent success.

Ok, so as I mentioned above, PERCCLI is a “Dell-ified” version of STORCLI. It is the utility that we
will use to access the Dell H330 card.

Don’t worry about locating the utility files. I ain’t trying to give you a heart attack. I will link a folder
with ALL files you will need to do this. You will need a FREEDOS boot USB. This is easily created
with the Rufus tool. Don’t use the latest Rufus. I had problems with some of the utilities. Use version
3.4 or something. I will include it in the file linked below. I am using a old Kingston 8GB usb flash
drive. Use whatever USB flash drive you like mates. Once you create the FREEDOS USB with Rufus
tool, copy the contents of the folder I linked to your flash drive.
STOP! Please Read this!! If you MIGHT want to revert back to Stock Dell Proprietary Rom
after flashing over to HBA firmware, please see the page on “Reverting Back” of this write up
on how to perform those steps FIRST, then come back to here. It involves saving your card’s
ORIGINAL SPD and SBR files as a backup. You can then use this to revert back to Dell stock
rom. However, it's very dangerous to GO BACK to Dell proprietary rom, so I DON'T
RECOMMEND IT.

Ok, moving on, I used the PERRCLI utility in Windows, but there is a version for Linux as well. So,
use whatever is easier for you. For me, I am more familiar in Windows. Thus, I will be explaining its
use with Windows. There is a 32bit and 64bit version. The 32bit version works fine, but you can use
the 64bit version too. They both work fine. Oh, by the way, I’m on Windows 10, 1903.

You could probably get away with the EFI shell here as well, but I don’t like to use it unless
necessary. It’s up to you really. I prefer DOS. Did I mention I like DOS? Use DOS.

So, first copy PERCCLI.exe and PERCCLI64.exe to: C:\Windows\System32 Then,

Copy File SMC3108.rom to the desktop or wherever you like. (Just make sure you can navigate to
it)

Ok, now Fire up PERCCLI in Windows (right click on Start Button and select command prompt
(admin) to get to the System32 command prompt) and get the card to show up.

Type command: perccli /c0 show

That should bring up the H330 card and the relevant info, like Bios version, firmware version, date
of system, type of OS, Rom version, SAS Address etc.

(Boo! Dell proprietary rom stuff! Boo! We want Stock HBA IT firmware!)

Here, you can take a pic, or just write it down. You WILL NOT need this info afterwards (besides the
SAS ADDRESS to flash later) but for records sake, take a pic or copy and paste the info into a text
document and save it. We will use the sas address to reprogram it back later.

Now, type command: perccli /c0 download file= C:\Users\Sleyk\Desktop\smc3108.rom

(Substitute your file path to wherever you saved it.)

I used my desktop, since I copied the file to the Desktop. Navigate to wherever you saved the file,
but it’s easy for me to just use the Desktop.

Important: If you have a newer firmware on your Dell H330 when you bought it, you may get the
output:

“FAILURE! The image file has older version than or same as that on the controller. The
Controller is not flashed”
Don’t worry. That’s the Dell firmware rom resisting its proprietary ass from being written over just
because the rom file we wanna flash over is “older” than the current firmware rom on the
controller. We will defeat this easily with a simple command. Such that:

“noverchk” will be added to the end of the command (which stands for “no version check” but of
course you knew that)

This command will allow you to flash any older version or otherwise rom to the Dell H330.

So just go ahead and add that phrase to the command:

Example: perccli /c0 download file= C:\Users\Sleyk\Desktop\smc3108.rom -noverchk

It should start flashing/copying over the firmware to the Dell H330. If it takes longer than 2-3 mins
or so, just hit CTRL+C to end it. It should report that it was a success and the firmware copied over.
If it does this on its own, great, but sometimes it needs to be stopped. Give it about 2 minutes or so.

Once done this, the PERCCLI should ask you to Reboot so it can institute the changes. We just
flashed a “recovery” rom to the card. This will overwrite the bios upon reboot. This is where it gets
a little tricky, but don’t worry. The card is fine. Go on, Reboot. Reboot damn it.

Now, when you restart the PC, the Dell Bios of the card will pop up and hang there. Don’t get scared.
It will hang for a little. 3 minutes to be exact. Since we deliberately flashed a “recovery” rom to the
card to “corrupt” the card’s “Dell-ified” rom, it will hang for a bit.

It should hang for exactly 3 minutes. I don’t know why, but it seems like the Dell firmware rom
needs 3 minutes to check itself and report the Bios as corrupted. You should get a message saying:
“Baseport not responding. Adapter not available”.

Then it should complete enumeration and let the system boot past it to FREEDOS.

When you get to the Freedos command prompt, we want the Venerable, the Ancient, the one and
only utility of its kind, known as MEGAREC.

Megarec is an awesome utility. It doesn’t give a DAMN about proprietary software. It is able to
access the lowest levels of flash in a LSI/Avago manufactured card and flash or erase at will.

MEGAREC don’t play around boi. I like that. I like that a lot.

Megarec overrides Dell, IBM, Fujitsu proprietary stuff. If it’s a card manufactured by LSI/Avago,
then Megarec SHOULD be able to see it. That’s why I love this utility the best.

I got the correct MEGAREC version we need for 3rd gen SAS cards and I renamed it to MEGAREC3.
It’s funny, cuz, you know, it’s the newer SAS3 Megarec version, not the older Megarec for SAS2 that
we used to use to flash SAS2 cards. This is it’s younger hawt sister. :.)
Anyways, we will use megarec (Henceforth known as MEGAREC3) to once again clean up our bad
boy and its internal flash and prime him for showtime.

So type: megarec3 -adplist

It should report that one controller is found in the system. It should be reported as controller 0.

Then when you press Enter, it will give you the whole spcheel about it not being able to recover a
controller if it can’t see it. Which is true, if Megarec can’t see your controller, YOUR’E DONE. Pack it
up. Head for the hills. Your card is toast. Take a damn hammer to it. Frame it, or make it a
paperweight or a doorstop. Well, not a doorstop. Shit. It will scratch your floor up.

Ok, back to it. So now, type: megarec3 -writesbr 0 sbrempty.bin

It will write the sbrempty.bin file to the sbr. That’s what we want. We wanna zero out the whole
flash before cleaning it.

Now, type: megarec3 -cleanflash 0

Megarec is a Boss. It will erase and clean out the whole flash nvram, getting rid of all the dregs and
specks of Dell proprietary RAID firmware rom and getting the card prepped for SAS3FLASH.

When you finish the CLEANFLASH command, reboot. You MUST Reboot.

Again, don’t worry. The card is totally ok. Its fine. No really. Trust me son.

Ok, now when you get back at the Freedos command prompt, you can verify with Megarec that the
card is still there by typing: megarec3 -adplist Megarec should still see the card.

Now, the moment you were all waiting for, type: sas3flsh -list

It’s at this point, that the card will start reporting that it is in a reset state, and that the
controller is not operational and no firmware found and that it needs you to upload a
firmware to boot or just quit.

Congratulations my friends. SAS3FLSH utility sees your Dell H330 card!!!!

“Ladies and Gentlemen, WE GOT ‘EM.” (lots of shouting and clapping applause)

“Down goes Dell Proprietary Firmware!”


“Down goes Dell Proprietary Firmware!”
“Down goes Dell Proprietary Firmware!”

Yeah boi! Ok, after all your celebrating is done, type: HBA330.fw or 12gbpsas.fw and it will do a
“host boot” and it should upload your HBA firmware of choice to the card.
That’s all we need. SAS3FLASH can now take over fully. It will go ahead and do a “Host Boot” of the
card with the firmware you gave it, and then complete the command by giving you a report of the
“list” command. But you’re not done.

Next, you have to flash the Bios. Now type: sas3flsh -o -b mptxsas3.rom

It should now flash the MPT Bios to the card.

Note: The firmware I used is the latest firmware from the Dell 12Gbps SAS HBA card. This
firmware is stock LSI IT firmware. It allows full passthrough to your system without integrated
or proprietary raid capabilities, which is what we want. The bios file (mptx64.rom) is a Bios file
compatible with the 12Gbps HBA card and the H330 Raid card. I tried using a Bios from a 9311-8i
(labelled as mptsas3.rom) but it didn’t work. Once the flashing is done, and if all goes well, you will
have flashed a Dell H330 RAID card to effectively, a Dell 12Gbps HBA or a HBA330 card!

That’s Awesome right? Give it up my peeps. Give it up! Who’s the master? Shogun! :.)

Ok, so go back, type: sas3flsh -list

You should now see the card’s newly flashed info, but the SAS address should read as all zeros.

Now, lets program your SAS address in: sas3flsh -o -sasadd xxxxxxxxxxxxxxxx (Where the x’s is
your SAS address you saved before. If you don’t have it for whatever reason, no worries, just make
up a new one. Just make sure it is 16 alphanumeric characters) As long as no 2 cards in a system
has the same SAS address, you’re fine.

That’s all folks! Type: sas3flsh -list or sas3flsh -listall to get your adapter info.

Newly Flashed H330 card to HBA IT Firmware:

So far, it looks good and shows up in Windows with the correct drivers and card is working great so
far!

A Dell H330 RAID card working as a stock HBA in IT mode!


Here's proof that 2 cards work at the same time in Windows as well:

Tested and cards all working with SAS and SATA drives!

So there you have it guys. Have fun! It was awesome figuring this out and I hope everyone is
successful!
Final Disclaimer

As I pointed out before my friends, use this at YOUR OWN discretion. This method works well with
no problems, but experiences and things may vary. Please, please make sure you follow my
instructions to the letter. I don’t want to hear any stories of people bricking their cards. I will be
sad, but I aint replacing your card. If you break your card, you’re gonna have to hit eBay again my
peep. Please be careful and don’t rush until you have the steps memorized or down pat!

Warning (PLEASE READ!)

When you look back above at the part where I have you flash the initial “recovery” file, i.e.
SMC3108.rom to the Dell H330 using the PERCCLI utility, some of you schmucks may think, “Oh,
this card uses a SAS 3008/3108 controller, so I will just, you know, la dee dah, get the file called
“MR3008FW.rom from the LSI 9341/9361 recovery package. That should work right?” After all,
the Dell H330 is like a LSI 9341-8i right?

Hell NO! Please DO NOT Flash your card with any file labelled: MR3008FW.rom. YOU WILL put the
card in a state that is almost impossible to recover from. The MR3108FW.rom file MAY work
similarly to the SMC3108.rom file, but please DON’T use MR3008FW.rom!!!

I have found only two ways to brick this card. This is one of those ways. Don’t do it. That rom
(MR3008FW) will put the card in such a state that you won’t be able to access the Bios, or rather,
the Bios will NEVER enumerate, and the card will hang on startup FOREVER. This card reports
itself as a SAS3008 chipset, yes indeed, but that rom will NOT work. Even if you make it into the
Bios and call up MEGAREC, you will get an error telling you that the flash can no longer be
programmed due to low BAR2 space. This has something to do with PCI address space and
allocated memory from the flash itself. EFI booting MAY fix this, and I’m working on it, but please,
don’t take the chance. It will essentially be, A BRICK. You Have Been Warned.

Some Considerations

1. I prefer to not work with the latest Dell firmware on the H330 card to start off, just in case they
patched some shit in the latest rom image to prevent any flashing. So, to be safe, if you encounter a
firmware on the card that is the latest version flashed to it, I would downgrade the card first. Check
the Dell website to see if it is on the latest firmware rom. This is only a small consideration, and you
shouldn’t have to worry about it much, but I just wanted to be fully thorough. As time goes on and
this gets more popular, people may want to buy newly posted cards on eBay and the cards MAY
come with the latest firmware. Dell WILL eventually find out about this and may try to patch the
latest firmware for the card, or hell, they may not care. I don’t know. Best to work with older
firmware. I believe the official latest firmware out for the card is 25.5.5.0005 or something similar.
If you feel like you wanna downgrade the firmware just to be safe, use the file I included called
FW19.rom and downgrade the firmware with the command in Windows:

perccli /c0 download file=fullpathtofilewhereveryouplacedtherom.rom -noverchk

Example: perccli /c0 download file=C:\Users\Sleyk\Desktop\FW19.rom -noverchk


That should downgrade the H330 stock Dell firmware rom and you can go from there.
2. You must use an Elevated Command Prompt in Windows. A regular Command Prompt will not
work for these utilities. (Right-click Start button and select “Command Prompt Admin”. Also,
remember to use the full path to the file you wanna flash in Windows. Perccli and her other utility
friends are hardcore bitches. They want the full path of the file or it won’t flash. See my first
consideration example above.
3. I prefer to use DOS from FREEDOS when doing my flashing. Some people swear by EFI. Meh. You
can try, but my success always came from DOS. Use DOS. I know some people will try to flash with
EFI, and heck, when you get to the step of getting the card recognized in SAS3FLSH (SAS3FLASH)
and you wanna use EFI, you can, and it should work, but I prefer DOS. You can also flash the
SMC3108.rom file with MEGACLI in EFI, and I did so, but just to keep everything consistent, I used
DOS. Now, some people may have the old “ PAL not initialized” problem with their motherboards.
I used a Supermicro Board, so I didn’t have any problems. If you are using any other type of board
known to have this problem, you can use EFI. The commands are mostly the same anyway. Just
remember, MEGAREC loves DOS, and is only available for DOS.

4. A lot of people may have the “system not booting” thing that used to happen with the Dell
H200/H310. You can use the same “Pin Covering” technique as before. I tested this myself. Cover
pins B5 and B6 on the H330. There are many how-to’s available online. Its super easy. Just cut a
small piece of electrical tape and cover the 5th and 6th pin together on the FRONT side of the card
only on the PCIE pins. Then plug your card in. That should allow you to boot and work with the card
with no problems.
5. SAS Address Programming - You should have saved your info in a .txt file on your desktop before
you started flashing. If you lost this info for whatever reason, don’t worry. You can just make up and
program your own SAS address into the card. A good thing about the 3rd Gen SAS3 controllers, is
that they are not as picky about their SAS address as the 2nd Gen SAS2 cards. So as long as it is 16
Alpha-numerical characters, you are fine. Ex. SAS address: 534a1d342adfb007.

6. I flashed the card in a PCI-E 1.0 x4 slot. So don’t worry about putting the card in any particular
slot. An open ended 2.0 x4 slot will work just fine. So will a 3.0 x 4 slot. So will a x8 slot. So will a x16
slot. Heck, even a x1 1.0 open-ended slot will work. The card will flash as long as it can be held and
fits into the PCI-Express slot. So no worries there.

I recommend you flash ONE (1) card at a time. Doing more than one card may prolong the time the
Bios will take to enumerate the cards. I found that the Dell Bios will DOUBLE the time to enumerate
the cards if you use more than one card. It can cause panic from waiting. Heck, I thought my cards
were dead. I know you may want to do a “batch” of cards at one time, but don’t do it. I tested this so
you don’t have to. Flash ONE card at a time. You will be much more successful.

Edited on 10/12/19 to clarify.


This Page Intentionally Left Blank, Son.
Compact Steps (With WINDOWS)
Steps:

1. Download the files I linked below and make a Rufus flash drive. Then copy the files over to the
flash drive. Then copy perccli and perccli64 to C:\Windows\System32. You can use either version.
Pull up an Elevated Command Prompt. Type: perccli /c0 show

2. Copy and paste the output info to a text document (.txt file). Select all the info and use CTRL+C
and save it to the .txt file, then save the file to your desktop or flash drive. Preferably on another
computer so you can access it later.

3. Downgrade firmware or you can flash the card as is. This is not necessary to downgrade for now,
and you can skip this step if you like. The latest Dell firmware lets you flash the card for now, but
that may change.

4. Place the smc rom file to a place easy to navigate to. Flash H330 card with the SMC3108.rom. Use
this command: perccli /c0 download file=fullpathtoromfile.rom -noverchk
(Example, Type: perccli /c0 download file=C:\Windows\Users\Sleyk\Desktop\smc3108.rom -
noverchk)

5. When it is done, Reboot.

6. Be Patient! The Bios on the card will take exactly three (3) minutes to enumerate. Don’t ask me
why. It could take slightly longer, but just wait till you see the message: “Baseport not responding.
No adapter available” Then it should go past that and let you boot into Freedos. This is the
toughest/trickiest part. Just be patient my friends!

7. Now, once booted into FREEDOS command prompt, we wanna write all zero’s to the flash.
Type: megarec3 -writesbr 0 sbrempty.bin
(it will return a success message with 2 lines saying something about the interrupt) As it turns out,
the same sbrempty.bin file can be used from the MEGAREC SAS2 days.

8. Clean out the Dell proprietary flash once and for all: Type: megarec3 -cleanflash 0
It will erase the flash chip on the card. Takes about less than a minute or so.

9. Now, you must Reboot! SAS3FLASH will not recognize the card unless you reboot.

10. When back in Freedos or your EFI shell: type: sas3flsh -list (or sas3flash -list if you are using the
EFI shell) It will give a message than controller is not operational, and that you need to provide a
firmware. Feed it the HBA330.fw file, or the 12gbpsas.fw file. Type: HBA330.fw or 12gbpsas.fw and
it will perform a host boot and flash the firmware to the card. You will see a partial list output of the
card with firmware. But you now need to flash the bios.

Note: I now recommend the HBA330 firmware over the 12Gbpsas firmware, as the 12Gbps
firmware is more made for the external cards. It will work, and if you want the card to report as a
generic 12Gbps HBA, you can use it. I prefer to see it report as a HBA330 card. Preference is yours
mates.
11. Flash the MPTSAS3 bios for the card. Type: sas3flsh -o -b mptxsas3.rom Then it will flash the
MPT bios to the card. Alternatively, you can flash the preferred HBA330 Firmware and Bios:
sas3flsh -o -f HBA330.fw -b mptx64.rom or can also just flash the whole thing together with this
command:
sas3flsh -o -f hba330.fw -b mptx64.rom OR sas3flsh -o -f 12gbpsas.fw -b mptxsas3.rom
This will just go through the whole flashing process and flash both firmware and bios to the card.

12. Program your SAS address: Type: sas3flsh -o -sasadd xxxxxxxxxxxxxxxx (where the 16 x’s are
the alphanumerical characters you will use from the saved .txt file with the sas address. Or you can
make one up. As long as no 2 cards in your system has the same sas address, you are fine. Just make
sure it is 16 characters. Numbers and letters only.

13. Type: sas3flsh -list or sas3flsh -listall and see your newly flashed H330, now flashed over to
HBA IT firmware. No more proprietary raid firmware! Hot damn!

That’s it! Reboot and Test your card in Windows/Linux/Freenas/Xigmanas/Unraid or wherever


you plan to use the card. The appropriate drivers should load. It should now come up as a Dell
12Gbps HBA, or if you flashed the HBA330 Bios, it should show as a HBA330 card, NOT a Dell Perc
H330 Raid card. I am working on getting the card flashed over to stock LSI firmware, possibly the
9311-8i IT firmware, but for now, this is working great.

Edited on 10/12/19 for clarity!


Compact Steps (Using ONLY MEGAREC3 and MEGACLI in DOS)
(These instructions will allow you to flash a Dell H330 Raid card to a HBA330 Card with IT HBA
firmware without using Windows, using only DOS tools)

Steps:

1. Using the same files I included in the google drive link, copy all the files over to a flash drive made
with Rufus tool as a FREEDOS flash drive. (In other words, make a Rufus FREEDOS flash drive and
copy over the files.)

2. Install H330 card into a free available pci-e slot. Can be x1, x4 x8 or x16. I would at least do a x4
to be sure the card gets enough powa. (Yes, I said powa.)

3. Boot to Freedos and type: megacli -adpallinfo -a0 > h330info.txt


This saves all the card info, such as serial number and the important SAS address for
reprogramming later. You will need to pop the flash drive into another PC later to grab and open
the .txt document to see the sas address so you can program it. Of note, this is the original firmware
info from the dell proprietary raid rom. You will only need the sas address. Everything else is not
needed. You can save it for record purposes if you want though. Alternatively, you could type:
megacli -adpallinfo -a0 then when you start to see the verbose output with all the lines, you could
press PAUSE on your keyboard and pause the scrolling text at the sas address and just write it
down on a piece of paper.

4. Now, Flash the H330 card with the SMC3108.rom. Type: megacli -adpfwflash -f smc3108.rom
noverchk -a0 It should take about a minute and flash the smc rom over to the card. It will report
success once complete.

5. Reboot.

6. Be Patient! The Bios on the card will take exactly three (3) minutes to enumerate. Not sure why,
but please wait till you see the message: “Baseport not responding. No adapter available” Then
it should go past that and let you boot into Freedos. This is the toughest/trickiest part. Just be
patient my friends!

7. Now, once booted into FREEDOS command prompt, we wanna write all zero’s to the flash.
Type: megarec3 -writesbr 0 sbrempty.bin
(it will return a success message with 2 lines saying something about the interrupt) As it turns out,
the same sbrempty.bin file can be used from the MEGAREC SAS2 days.

8. Clean out the Dell flash once and for all: Type: megarec3 -cleanflash 0
It will erase the flash chip on the card. Takes about less than a minute or so.

9. Now, you must Reboot! SAS3FLASH will not recognize the card unless you reboot.

10. When back in Freedos/EFI shell: type: sas3flsh -list (or sas3flash -list if you are using the EFI
shell) It will give a message than controller is not operational, and that you need to provide a
firmware. Feed it the HBA330.fw or the 12Gbpsas.fw file. Type: hba330.fw or 12gbpsas.fw and it
will perform a host boot and flash it to the card. You will see a partial list output of the card with
firmware. But you now need to flash the bios.
Note: I now recommend the HBA330 firmware over the 12Gbps firmware, as the 12Gbps firmware
is more made for the external cards. It will work, and if you want the card to report as a generic
12Gbps HBA, you can use it. I prefer to see it report as a HBA330 card. Preference is yours mates.

11. Flash the MPTSAS3 bios for the card. Type: sas3flsh -o -b mptx64.rom Then it will flash the MPT
bios to the card. Or, alternatively, You can also just flash the whole thing together with this
command: sas3flsh -o -f hba330.fw -b mptx64.rom OR sas3flsh -o -f 12gbpsas.fw -b mptxsas3.rom
This will just go through the whole flashing process and flash both firmware and bios to the card.

12. Now, program your SAS address: Type: sas3flsh -o -sasadd xxxxxxxxxxxxxxxx (where the 16 x’s
are the alphanumerical characters you will use from the saved .txt file with the sas address. Or you
can make one up. As long as no 2 cards in your system has the same sas address, you are fine. Just
make sure it is 16 characters. Numbers and letters only.

13. Type: sas3flsh -list or sas3flsh -listall and see your newly flashed H330, now flashed over to
HBA firmware. No more proprietary firmware! Hot damn!

That’s it! Reboot and Test your card in Windows/Linux/Freenas/Xigmanas/Unraid or wherever


you plan to use the card. The appropriate drivers should load. It should now come up as a Dell
12Gbps HBA, or if you flashed the HBA330+ Firmware and Bios, it should show as a HBA330 card,
NOT a Dell Perc H330 Raid card.

Edited on 10/12/19 for clarity!


Reverting Back to Stock Dell Proprietary Rom (WARNING! HIGHLY DANGEROUS!)

YOU MUST SAVE YOUR SPD AND SBR FILES BEFORE YOU FLASH OVER TO HBA IT FIRMWARE!

If you might want to possibly revert back to the Stock Dell proprietary Rom, BEFORE YOU FLASH
THE CARD TO HBA IT FIRMWARE FROM THE DELL FIRMWARE THAT IT CAME WITH, please
boot into a FREEDOS usb stick and use MEGAREC3 to save the SPD and SBR files from the card:

Megarec3 -readspd 0 spdsavefile.bin


Megarec3 -readsbr 0 sbrsavefile.bin

That way, you have a BACKUP of your SPD and SBR files in case you wanna revert back.

Warning! This is SUPER dangerous! In my testing, I managed to mess up one of my H330's by


trying to go back to RAID firmware. Honestly, if you don't need this card for proprietary Dell
RAID properties, PLEASE DON'T REVERT BACK!!! I won't be responsible if you brick your
card.

If you ABSOLUTELY MUST revert back to stock Dell H330 proprietary firmware, try these
instructions: (Only in DOS, not in EFI)

1. Type: megarec3 -writespd 0 spdsavefile.bin (use the spd save file you backed up earlier)
(If this step doesnt work or fails, you can move on to the next step)

2. Type: megarec3 -writesbr 0 sbrsavefile.bin (use the sbr save file you backed up earlier)

3. Type: megarec3 -cleanflash 0 (cleans out the flash)

4. DO NOT REBOOT!!!! Continue to the next step...

4. Type: megarec3 -m0flash 0 FW19.rom or alternatively, you can try (in DOS, not EFI)
megacli -adpfwflash -f FW19.rom -a0 (I included this file in the flash folder I linked)
(This will flash back the Dell Proprietary Rom)

5. Type: megaoem -adpsetsasa xxxxxxxxxxxxxxxx -a0 (X’s are the 16-digit SAS address)

6. Type: megacli -adpfacdefset -a0 (sets the controller to all default settings)

As for me, I personally won’t EVER revert back to the Dell Proprietary Rom.
So Please, DON'T EVER REVERT BACK.
Its just not worth the risk of messing up your card. Not if you can help it. Sometimes the flash area
can get mixed up from going back and forth. If after flashing to an HBA in IT mode, you wanted or
still needed a H330 for proprietary Raid, I would prefer you grab another cheap H330 for
proprietary Raid purposes if you needed one. But I don't think anyone will want to do that anyway.
Most people need these cards for full drive pass-through, in IT mode, not proprietary raid. And if
you did need it for proprietary raid, you wouldn't flash over to HBA firmware anyway :.)
Thus, my argument hopefully stands. DON'T REVERT BACK! Please! This is only a last resort if
you had no other choice.

Have I mentioned enough that I don't think you should revert back?
Dell 3rd Gen SAS3 Card Model Numbers

A lot of sellers on eBay and other server parts websites label this whole family of cards as
“Raid Cards”. Of course, not all of them, but a lot of them seriously mis-label these cards. It’s
almost not their fault though, as Dell makes it confusing with all the different part numbers
and not a lot of straight guides to each part. However, not every card labelled H330 is a Raid
Card! Some are HBA330 cards labelled as an H330. There is a big difference! The HBA330 is
a straight HBA card with stock Dell IT firmware. No Raid Bios in the firmware. The 12Gbps
HBA cards also sometimes get labelled as H330 Raid cards, when they are not. I decided to
write up this short model guide to hopefully help you spot some of these models on eBay or
otherwise, and which one to try to get a bargain on if you can.
Also of note, this short guide is only meant to target specific DELL models. This is by no
means the full list of cards/controllers available, and LSI/Avago makes many types of
controllers with many branded names based off of the same or similar chipsets of the
SAS3008/3108 (9300-81, 9311-81, 9340, 9341, 9361, 9305 etc.). I just wanted to write up
this guide about some of the Dell models available on eBay. I did, however, exclude the mini
adapters as I have not used or have experience with them for now.

1. Dell H330 (4Y5H1) This is a RAID Card with Dell proprietary firmware that I used to flash.
It is a 2 port SFF 8643 SAS3 card capable of 8 ports SAS/SATA (you can do more with proper
extenders, of course) with proprietary stock dell raid firmware/bios. I was able to
successfully flash this card to an 12Gbps HBA with IT firmware. Other part numbers for this
card are WDJRW and OPCV7. This is the cheapest of the cards, as it is still unknown that it is
now “flashable” to HBA IT firmware. I have found them for as low as $45 bucks, which is a
steal. When it becomes more known, I don’t know if the price will go up, or if the “official”
more expensive HBA cards will come down, since people won’t need to buy them anymore, I
suppose. They can just grab a cheaper stock 4Y5H1 and flash it to HBA IT firmware if they
desire a cheap SAS3 8 port internal card with IT firmware!

Pic of the 4Y5H1 (Middle Port Orientation, Facing Inwards)

2. Dell H330 (TCKPF) This is also a RAID Card with Dell proprietary firmware rom on it by
default. It's also a 2 port SFF 8643 SAS3 card. The difference between this card and model
4Y5H1, is that the 2 SFF ports are facing UPWARDS on the end of the card as opposed to the
orientation of the ports on the 4Y5H1 facing the internal part of your chassis. This is similar
to the setup of the Dell H200 or the IBM M1015, where the H200 and M1015 has the ports
facing upwards. This card goes for roughly $75-$80 dollars on eBay recently, so not a good
model to get unless you need that specific port orientation. Better to get the 4Y5H1 to flash
as its found cheaper.
Pic of the TCKPF: (Upwards facing Port orientation)

3. Dell H330 (75D1H) This is also a RAID Card with Dell proprietary firmware rom on it by
default. Same as first 2, it has 2 ports SFF 8643. The difference between this card and the
above models 4Y5H1 and TCKPF is that the 2 SFF ports are facing inwards towards the case,
but the ports are located lower on the end of the card as opposed to the orientation of the
ports on the 4Y5H1, where the ports are located on the middle of the card's edge. This card is
basically identical to the 4Y5H1.

Pic of the 75D1H: (Lower Port orientation, facing inwards)

4. Dell HBA330/HBA330+/12Gbps HBA (J7TNV) This is a 12Gbps HBA card. This comes with
2 SFF 8643 internal ports. This card comes with stock Dell HBA IT firmware. May be
expensive depending on some sellers. Sellers usually know this one and sell it for a decent
price. If you find this for around $50-$60 bucks, snatch it up quick. It needs no flashing, as it
automatically comes with Dell HBA IT firmware. Looks exactly like a 75D1H, but this is an
HBA card, not RAID, like the 75D1H.

Pic of the J7TNV: (HBA Card, Lower Port orientation, facing inwards)
5. Dell (T93GD) This is a 12Gbps HBA card with stock Dell HBA IT firmware built in.
However, this card only comes as an external port card, with 2 ports SFF 8644 (external
sister to the SFF 8643 port). This card is similar, if not a LSI 9311-8e. It uses the SAS3008
chipset. This card, while not used by much people compared to the 8i variants of the above
cards, they still sell this card for well over $100, sometimes approaching $200 bucks! I
personally won't have a use for this, as I would rather buy a 2nd gen LSI 9211-8e for $20-$30
bucks. But I just wanted to list this here in case someone wanted to get this model.

Pic of the T93GD (2 x External SFF 8644 Ports)

6. Dell (3YDX4) This is the stock LSI SAS 9311-8i card. Dell uses this part number to sell the
card under its own OEM label, but it is simply a 9311-8i. You don’t need to flash this, as it
comes with stock LSI/Avago IT firmware. It uses the SAS3008 chipset. This card offers no
raid, unless you go to IR firmware. Good choice if you don’t like flashing, but want LSI stock
IT firmware. It can be a little expensive online. Sellers definitely know this one. Usually it can
go for just under or over $100. Deals can be had though. I’ve seen them. You might find
sellers offering it cheaper if you are patient. Well, maybe.

Pic of the 3YDX4 (This is just a LSI 9311-8i sold under Dell OEM)
Cosmetics
Here are 2 links to an eBay seller (China) for the High and Low profile 12Gbps SAS PCI
brackets. Cheapest I’ve found, at only $0.99 a bracket. You can order a few and just wait 2
weeks or so for them to arrive. No rush anyway, as the card usually comes with a bracket, but
it is ugly and not labelled “12Gbps SAS”. You should also be able to use any SAS2 6Gbps SAS
brackets if you want as well. As for these brackets, they are new and “shiny” and are labelled
“12Gbps SAS”. There are also other sellers in the States and everywhere, but it is abit more
expensive. If you can’t wait, you can buy local, but I prefer to wait a few weeks and get my
brackets super cheap! This is just a cosmetic thing and doesn’t affect the card at all. This is
solely up to you!
High Profile Bracket for LSI 9240-8I,9261-8I, 9300-8I, 9311-8I,9750-8I,9270CV-8I
713752005673 | eBay

Low Profile Bracket for LSI 9300-8i,9361-4i,9361-8i,LSI00344 12GB HBA SFF-8643


713752005673 | eBay

*While I tried my best to list what I have found through searching online and reading and researching as much as I can, I don’t
claim to know everything. Thus, I leave this WHOLE entire write up and everything I said here, up in the air, since I may have
made mistakes or errors. Most of the flash steps are already known and current knowledge in the tech community. If you know
something different, and I made a mistake and you know what needs to be corrected, please feel free to let me know! I will
happily correct it or add the appropriate info. I ain’t trying to claim I’m an expert on these cards or anything. Just trying to do
my part and contribute to the tech community! :.)*
4Y5H1 Breakdown (With Pics)

The H330 is a neat little 3rd Gen SAS3 Card. I like it. It will replace my Dell H310's once I decide on
if I should use these bad boys for HDD's and cold storage, or SSD's and build an all flash server. On
temp tests, on an open test bench while packed close to a gpu, it doesn't get above 56 degrees
Celsius with my laser temp gun. Although I acknowledge this is on an open test bench. Once I get
more cables from China, I will test it running overnight in my NAS, which is a closed box of course.

Full Teardown Pic:

Here's a pic of the PCB and Chip:

Back of PCB Board:

Pic of the SFF 8643 Ports:


Tag area on PCB with Model Number:

Aluminum Metal Heatsink:

Metal Backplate Underside:


Metal Backplate Outerside:

The card does get substantially warm after prolonged operation, as most LSI/Avago SAS server
adapters/controllers do. It can feel pretty warm if you touch it as soon as you turn off your system,
enough to make you not want to keep your finger on the heatsink, but not enough to roast your
finger or anything like that. I do wish the heatsink was slightly thicker metal, or perhaps had a small
fan built on in the center, like you see in some other cards. That would make this card even greater
and control the warmer temps better.

I did run it mostly for several hours straight transferring back and forth to a SSD from my servers to
see how hot it would get, and I must say, the temp stayed pretty constant on the heatsink, around
60 degrees. I'm sure with decent fan cooling as most people have, there should be no worries
running this card in your box, as most people already do. To me, my 2nd Gen Dell H310's run way
hotter.

Its also super easy to take off the heatsink and reapply/replace the thermal compound if you wish. I
didn't bother to, since the heat I found to be acceptable for a SAS card of this caliber. I may replace
the paste later before I put it into full production in my NAS since its as easy as removing the
heatsink with 4 Philip’s head screws.
Finito.

You might also like