Crossflash Dell H330 to HBA330

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

986box

Active Member
Oct 14, 2017
235
42
28
44
Found the web archive for the cross flashing instructions. Link to the zipped file is not working.
Looking for SMC3108.rom file as detailed in step4 of the instructions. Any idea where to download?


4. Now, Flash the H330 card with the SMC3108.rom. Type:
megacli -adpfwflash -f smc3108.rom -noverchk -a0
 

miken92

New Member
Sep 25, 2022
10
1
3
Does anyone know why that guide was removed? Would be a shame to lose the record of the first person to figure it out and you can find it linked to in loads of places.

Anyway I haven't flashed it yet but I picked up a H330 recently, and found Flash/Crossflash Card Raid DELL H330 Sang HBA330/12Gbps HBA IT Firmware - Máy Chủ Vật Lý - Chuyên Cung Cấp Server - Phần Cứng Server Giá Tốt Nhất Thị Trường % use google translate and there is a download link at the bottom. It appears to be a mirror of the files from the sth article and has the smc3108.rom you're looking for!

edit: flashed my H330 by following the above guide and a few minor hints from
basically use megacli to record the SAS address and I did have to switch to efi shell for the flashing part
 
Last edited:

986box

Active Member
Oct 14, 2017
235
42
28
44
I did find the same package zipped file from a reddit post. I did not use the fw in the zipped file. Instead I used the fw from Dell site.
But I cant get into the LSI configuration using Ctrl-C. Though the firmware is reported to be the latest version and TruNas is able to see the drives. Will try flashing again using the fw in the zipped file.
 

miken92

New Member
Sep 25, 2022
10
1
3
I did notice the same, reboots on trying to access CTRL+C.
I believe pin 5+6 need covering since I could also see half the systems memory was not being detected.
I've had to do the same on a H220 in the past.

If you lookup "SMBUS pin dell" or similar you should find some results, basically cover pins 5 and 6 on the front of the card (side with heatsink) - I use kapton tape.
 

986box

Active Member
Oct 14, 2017
235
42
28
44
Try to flash the smc3108.rom file results in error.

Code:
megacli.exe -adpfwflash -f smc3108.rom noverchk -a0
Code:
ERROR:Could not detect controller.
Failed to get ControllerId List.
Failed to get CpController object.

Exit Code: 0x 1
 

miken92

New Member
Sep 25, 2022
10
1
3
I don't believe you need that step for updating, that was the 'trick' to get a H330 into a broken state were it would eventually accept the HBA330 firmware.

I'd stick to the newer Dell firmware, I had the same inability to get into the config tool on the older one anyway.

I intent to update to a newer firmware tomorrow and see if I can get into the configuration tool, although since using IT mode I don't think there is particlarly anything of value to configure?

FYI in my searches I found TrueNAS 9300-xx firmware (16.00.12.00) which I'm not sure could be a better option.
 
Last edited:

ericloewe

Active Member
Apr 24, 2017
295
129
43
30
The .12 firmware update, IIRC, fixed some edge cases with SATA devices that would fail pretty obviously with .10. Probably not a big deal if Dell's firmware works without apparent issue.
 

986box

Active Member
Oct 14, 2017
235
42
28
44
Said controller is installed in Dell server. taping pin 5 & 6 is not needed. Current firmware is on version 16.17.01.00.

Usually going into configuration is to check if all drives shows up. However thru Lifecycle -> Device Setting, I was able to view/change controller config and drive configurations.
 

miken92

New Member
Sep 25, 2022
10
1
3
I expect it should be fine in a Dell server, but you also should be able to get into the configuration tool which makes me suspect something about them isn't identical to a HBA330.

Does the Dell server give you a health check you can run to see if it finds any problems?

I've reflashed mine with the latest Dell firmware, it looks like as @ericloewe explained the TrueNAS firmware above resolves a very specific issue when passing through the device to a VM so not relevant to my use case.

However, I have noticed hdparm isn't able to set drive Advanced Power Management which worked with the pair of 9207-8i I was using previously.
Therefore, I think I'm going to have try wiping and flashing a different firmware, maybe it's possible to use stock LSI ones.

Code:
/usr/sbin/hdparm -B 127 /dev/sdk

/dev/sdk:
 setting Advanced Power Management level to 0x7f (127)
 HDIO_DRIVE_CMD failed: Input/output error
 APM_level    = 164
 

986box

Active Member
Oct 14, 2017
235
42
28
44
Finally find some time to look into the HBA. using sas3flash program to access card works. either displaying info or SAS address.
Looks like the newer version of firmware only works with sas3flash but not megacli.

sas3flash -listall or sas3flash -listsasadd
 

miken92

New Member
Sep 25, 2022
10
1
3
What firmware have you gotten it to take?

I’m on the latest Dell one but I’d like to be able to standby/spindown drives.

Trying to crossflash to LSI firmware with EFI v14 results in "Failed to Validate Mfg Page 2!" as far as I can tell this is a check against the configuration data NVSRAM presumably to prevent crossflashing.

I tried modifying the sas3flsh.efi binary to bypass the check, it "worked" in that it said it flashed successfully, but resetting the adapter failed presumably because it never updated NVSRAM and there is a check at boot.

ManufacturingPage2 contains a copy of the SBR (missing the last 32 bytes – which appears to just be a repeat the first 32 anyway).

I found Scrutiny CLI (v20 from 2018) on the Broadcom FTP, which is useful for dumping the various memory regions and can provide some interesting information about the firmware image structure.

Scrutiny command support claims it can do lots of useful operations for SAS3 cards in Windows, Linux and UEFI compared to all the DOS/UEFI tools that are commonly used:

The cfg command displays, reads, writes, or resets various configuration pages and NVDATA settings. Page type options include: default, nvsram, and current.

The ul command uploads various images, such as firmware, BIOS, and flash, from the selected Broadcom HBA to a specified file. Make sure to use a proper binary file format.

The dl command downloads various images, such as firmware and BIOS, from a specified file to the selected Broadcom HBA.
If I’m feeling brave I'll try using some combination of the above the flash the stock LSI firmware, but I should probably figure out how to program the chips for when I inevitably brick the card.
 

986box

Active Member
Oct 14, 2017
235
42
28
44
Latest Dell HBA330 16.17.01.00, A08 version.
I have to check if I can enable power management thru Trunas after I rack the server. Inner rails aligned with 2 out of 3 holes.

Got the server racked after discovering the partially covered slot.
 
Last edited:
  • Like
Reactions: miken92