James Liang/Flashing PERC H330 to IT Mode

Created Sat, 11 Dec 2021 00:00:00 -0500 Modified Wed, 05 Jan 2022 17:03:32 +0000
697 Words

Introduction

I was able to sell one of my R720’s and pick up a Dell R230 for around the same price. The R230 came with an E3-1220 V6 CPU and 32GB of RAM. I got this server to replace my Unraid server. The server had less memory, and hard drive space, but it was much more recent and would fit my needs. My Unraid server was already idling with both memory and the CPU sitting at 1% for a majority of the time. I swapped the memory of this new R230 with the other R230 so that the Unraid server would have 8GB. I could then return the memory I bought on Amazon since I no longer needed it.

Why Flash?

Just like both of my R720’s, I needed to flash the card in the R230 to IT mode so that all drives would show up individually to the OS. I thought this process would be as easy as it was for the H710’s but I was wrong.

Preparing for the Flash

I used Sleyk’s guide to flash my H330. I downloaded FreeDOS 1.2 Full USB and flashed the .img with Rufus. Since the USB disappeared after the flash, I had to open disk partition and assign a drive letter to the drive. I could then copy all of the contents from the ZIP to the root of the FreeDOS USB. With that, the USB was ready to be used. I went through three different ISOs to finally find one that would work.

Flashing on the R230

I read through the forum post that flashing directly on any of the 13th generation Dell servers wouldn’t work. I wanted to try anyway so I proceeded to boot into the FreeDOS USB. Since the USB was an installer, I selected “Install to harddisk”, my language, and then “No - Return to DOS”. This allowed me to run the commands I needed.

megacli -adpallinfo -a0 > h330info.txt

This command functioned perfectly, I shut down the system and copied the text file off so I could save the SAS address. I then flashed the card with the new rom.

megacli -adpfwflash -f smc3108.rom -noverchk -a0

I rebooted the system and everything seemed to work fine. The card was supposed to take exactly three minutes enumerate but I had nothing after five. I then decided it was time to try something else.

Flashing on another System

I was worried that I’d need to redo the entire flashing process, but fortunately for me, after I plugged the card into a desktop it went immediately to the sixth step. After three minutes I got the “Baseport not responding. No adapter available” message and proceeded to the next steps.

megarec3 -writesbr 0 sbrempty.bin

megarec3 -cleanflash 0

I then reboot my desktop. I ran the following command once I was back into DOS.

sas3flsh -list

I kept getting “ERROR: Failed to initialize PAL. Exiting Program.” when I tried to run the command. I read on the forum that moving to another system could resolve the issue, but since I didn’t have any spares, I put the card back into the R230.

Finishing the Flashing

After booting into DOS with the R230, I was able to run the command just fine. I chose the HBA330 firmware as it was the recommended option.

hba330.fw

I then flashed the BIOS for the card.

sas3flsh -o -f hba330.fw -b mptx64.rom

Finally, it was time to program back the SAS address. I opened up the saved text file from earlier and replaced the x’s with the SAS address.

sas3flsh -o -sasadd xxxxxxxxxxxxxxxx

With that done, I put the following command to confirm everything worked.

sas3flsh -list

Everything seemed to be alright so I proceeded to move my Unraid install.

Conclusion

This process was much more painful than last time. I intially had issues with the FreeDOS install as for some reason it was missing files. After solving that issue, I was able to proceed rather smoothly other than the fact that I had to swap between systems. The R230 is working fine and is much quieter than the R720. This also allowed me to move both my servers away from DDR3.