Background

I have a Dell H216J SAS controller based on LSI2008 which I “accidentally” bricked by wiping data from SBR during attempt to reflash to IT mode. I have managed to restore it using lsirec tool.

Resources

  1. lsirec - LSI SAS2008/2108 HBA low-level recovery tool for Linux local copy
  2. How-to: Flash LSI 9211-8i using EFI shell
  3. firmware from Broadcom site local copy
  4. Archive of the LSIUtil RAID controller software binaries and source.
  5. Detailed newcomers’ guide to crossflashing LSI 9211/9300/9305/9311/9400/94xx HBA and variants local copy

Procedure

  1. you will need linux, system should boot with card installed ( try to disable usage of card BIOS in MB BIOS)
  2. Download 1. and compile it. need make and gcc. just run make
  3. get firmware from 3. you will need 2 files from there 2118it.bin and mptsas2.rom
  4. Get lsiutil from 4. /Binaries/LSIutil_1.71_binaries/Linux/lsiutil.x86_64. Make it executable.
  5. Disable VT-d or AMD virtualization technology in MB BIOS to disable IOMMU
  6. Follow guide from 1. “UNTESTED procedure to convert from MegaRAID to IT/IR firmware or recover a bricked card”
    • As my card did not have valid SBR ( it was wiped ). I used sample_sbr/sbr_dell_h200e_itir.cfg at step
       # python3 sbrtool.py build sbr.cfg sbr_new.bin
       # ./lsirec 0000:01:00.0 writesbr sbr_new.bin
      
    • 2118it.bin comes from 3. You will use it twice one with lsirec and other time with lsiutil.x86_64
    • At “Download/erase BIOS and/or FCode (update the FLASH)” step use mptsas2.rom from 3. for BIOS boot ROM. I would love to know where to get x64sas2.rom for the EFI boot ROM. May be this one would works
  7. Change SAS WWID if necessary. Some SAS drivers refuses to work unless you set it to some value.
  8. Go back to BIOS and enable “Storage BIOS” if you plan to boot form the controller.

Updated: