Cross-Flash IBM ServRAID M5110 and H1110 to IT HBA Mode

I run a FreeNAS server at home on a ThinkServer TS140, the time has come and I received a ThinkServer X3100 M5. It comes with better technology like more RAM, SAS, hardware RAID and remote management. However, in order to use ZFS software RAID on FreeNAS, the M5110 and H1110 cards needed to be flashed to IT (initiator target) mode; effectively turning a RAID card into a HBA card.

Although all of the cards are LSI/Avago/Broadcom based, IBM made some changes and is causing problems after cross-flashing the card. I am going to share my experience in flashing the card from M5110 (LSI 2208) to N2125 (LSI 2308) which support IT mode with IBM’s firmware.

Lots of researches were done and I give credits to the following posts that inspired this:
* https://mywiredhouse.net/blog/flashing-lsi-2208-firmware-use-hba/
* https://forums.serverbuilds.net/t/flashing-sas2208-to-it-mode-when-sas2flsh-does-not-detect-it/2357
* https://forums.serverbuilds.net/t/guide-updating-your-lsi-sas-controller-with-a-uefi-motherboard/131

We will need:

Create UEFI Bootable USB:

  1. Create the folders boot\efi and efi\boot on USB drive.
  2. Copy the file Shell_full.efi to both folders and to the root folder of the USB drive, and rename it to BootX64.efi
  3. Copy the file Shell_full.efi to both folders and the root folder, and rename it to ShellX64.efi
  4. When you’re done, you will have the same file to the USB drive 6 times, in 3 folders, named both BootX64.efi and ShellX64.efi

How to cross-flash:

  1. Disconnect all the cables, drives; just the card in PCIe slot only
  2. Physically cut or remove or disable the alarm, it is a black circular piece on the board, near the metal bracket. The alarm will scream as soon as the firmware is changed
  3. Boot to FreeDOS, run the following commands in order:
    • megarec -adplist (note the adapter number, assuming it is 0)
    • sas2flsh -list (note the SAS address)
    • megarec -readsbr 0 m5110.sbr (backup SBR)
    • megarec -cleanflash 0
    • soft reboot to FreeDOS
    • megarec -m0flash 0 2208_16.rom (flash recovery firmware)
    • soft reboot to FreeDOS
    • megarec -writesbr 0 512byte.bin (wipe old SBR with empty)
    • megarec -cleanflash 0
    • soft reboot to UEFI
  4. Boot to UEFI Shell, run the following commands in order:
    • sas2flash -list (adapter should be listed)
    • sas2flash -o -f 20.00.02.00_07_it.fw -b bios_07.39.00.00.rom (cross-flash with 2308 IT rom and BIOS)
    • sas2flash -o -b uefi_07.27.04.00.rom (cross-flash with 2308 UEFI BIOS)
    • sas2flash -list (adapter should be updated to SAS 2308)
    • sas2flash -o -sasadd 5006xxxxxxxxxxxx (re-program SAS address)
  5. Done, plug everything back and check if the config shows IT mode and drives are listed.

This is the only method I have tested that has been working on the IBM M5110. I can access the MegaRAID configuration (Ctrl-C) and the Storage option is shown in the BIOS after the cross-flash to N2125.

For the H1110 card, the procedure is exactly the same; use the H1110 Firmware Pack instead.

H1110 version:
LSI Avago IT mode firmware version P20 (20.00.07.00)
MPTSAS2 BIOS ROM flashed version 07.39.02.00
MPTSAS2 UEFI ROM flashed version 07.27.01.01

M5110 version:
IBM ServRAID N2125-IT mode firmware version P20 (20.00.07.00)
MPTSAS2 BIOS ROM flashed version 07.39.02.00
MPTSAS2 UEFI ROM flashed version 07.27.01.01