Guide: How to flash your Huawei SR130 BC61ESMN LSI SAS3008 firmware from IR to IT

Note: This is my first post on here, feel free to move thread to a better section accordingly.

Having gotten my hands on a refurbished Huawei RH2288H V3 with Huawei SR130 IR Raid card, TrueNAS installation was planned to be around 2 hours max. Since flashing the darn OEM Raid card to IT mode has taken an Enterprise Linux Admin almost three evenings and countless attempts, here is your final guide because Huawei has exactly ZERO documentation on the matter (trust me, I RTFM’ed the living crap out of their various docs).

What do we have here exactly and why was it so hard?
The RH2288H V3 server came with a Huawei SR130 BC61ESMN LSI SAS3008 Raid card, which is a prioprietary card with proprietary firmware on it, the chip however is generic LSI3008. Huawei does provide (albeit after registering and upgrading an account via ticket) a lot of tools and documentation for this EOL server, including a FW-Upgrade tool that doesn’t work for cross-flashing firmware (even though it lies in your face about “successful” flash). One can use their IT-Firmware, however you shouldn’t if you plan to use SATA drives like I do. Huawei’s is version 12, while TrueNAS worked with Broadcom to provide a version 16 firmware that fixes a SATA bug. There is a lot of things to consider, so here are the exact steps you need to take to succeed:

  1. Get your tools:

Now, once we know that the Huawei SR130 aka LSI3008 (ex-LSI, ex-Avago, now Broadcom) can ONLY be flashed between IR and IT mode using EFI or DOS according to Broadcom support page, the problem becomes clear and since the Huawei V3 server doesn’t provide an EFI shell, we shall make our own bootable EFI USB media, which is quite simple. Also, disregard Broadcom’s statement that sas3flash “Cannot be used to flash from IT to IR firmware or from IR to IT firmware”, it CAN in DOS / UEFI and their matrix down below directly states it!

Probably optional, however I did it for good measure: Put a jumper (in my case, a metal paper clip had to do) in the isolated J7 holes through the top of the RAID card.

  1. Format the USB media as FAT32, create /efi/boot directory and place the EFI shell v2 executable in there. Rename Shell.efi to Bootx64.efi. Now extract the following files from the RAID-SR130-M-3008IT-FW-12.100.02.00-Update2.zip to the root dir of the USB media: mpt3x64.rom, mptsas3.rom, sas3flash.efi. Take the updated SAS9300_8i_IT.bin and put it next to the other files. Safely remove the USB media and boot the server from it in UEFI mode.

  2. Once the EFI shell is ready, type:

  • fs0:
  • sas3flash.efi -list (write down the SAS address)
  • sas3flash.efi -o -e 6 (this is crucial to do now, to erase a portion of the flash memory)
  • sas3flash.efi -f SAS9300_8i_IT.bin -noreset
  • Once reset mode of the card is activated, remove J7 jumper / paper clip
  • reboot the server via console SW-reset option and boot once again from USB UEFI
  • back in EFI shell, sas3flash.efi -o -e 7 (erase flash memory compeletely)
  • Flash the firmware: sas3flash.efi -f SAS9300_8i_IT.bin -b mptsas3.rom -b mpt3x64.rom
  • Add back the SAS address via sas3flash.efi -o -sasadd 50060XXXXXXXXXXXX (the one you took note of before)
  • reboot the server and profit.

Now nothing stops us to get some ZFS going. This guide wouldn’t have been possible without and in no particular order: broadcom asterisks, lack of documentation, Thomas Krenn Wiki, legacy TrueNAS forums that led me onto the right path and of course the OG servethehome guide which I modified to work for my case. I hope this helps someone out there from damaging their floor, or their head, or having to buy a new RAID card.

5 Likes

Important links:
Broadcom LSI3008 reference: https://www.broadcom.com/support/knowledgebase/1211161501344/flashing-firmware-and-bios-on-lsi-sas-hbas
Original servethehome guide which I modified: https://www.servethehome.com/flash-lsi-sas-3008-hba-e-g-ibm-m1215-mode/

1 Like

Well done :slight_smile:

3 Likes

Some more resources I used:
Thomas Krenn WIki https://www.thomas-krenn.com/de/wiki/EFI_Shell_USB_Stick
The EFI Shell v2 executable you can get from here: https://github.com/tianocore/edk2/blob/edk2-stable201903/ShellBinPkg/UefiShell/X64/Shell.efi

1 Like

So after a while with this server, do you find it any good? Is it loud and have you managed to quieten it? These turn up cheap in high spec and I am pondering whether to buy one for the homelab. I already have two TrueNAS servers (I have been a user since FreeNAS 9.3) so this one would be for VMs and general larking about.

Hiya, I’m overall happy with the server. That being said, it is quite loud and the PSU noise (oscillating whine) when the server is off and the BMC is in standby can be irritating. I solely use the server for offsite backups every couple of months so it is off and disconnected most of the time. When running even without load the Huawei is quite loud. Startup noise is comparable to an older vacuum cleaner. Didn’t try to quiten it as I use it rarely and only for a couple of hours. If you have a dedicated server closet or a cellar to put loud servers in - go for it.
If the server will be in the same room as you are, look elsewhere. Beware that energy consumption is 230-ish watts so the running costs might add up quickly depending on your local energy prices. Here in Germany I’d certainly go for something more modern and energy-efficient for 24/7 use.

1 Like

Thank you for reporting back on the Huawei. Sounds like it’s not for me as I dislike server noise, even though this would be in a cabinet with other kit and that cab’s in a spare room. They are cheap though and generally high spec. Maybe the fan noise could be solved to a degree but the extra power consumption would be unwelcome. Energy here in the UK is not quite expensive; much more so than pre-2019.