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
- lsirec - LSI SAS2008/2108 HBA low-level recovery tool for Linux local copy
- How-to: Flash LSI 9211-8i using EFI shell
- firmware from Broadcom site local copy
- Archive of the LSIUtil RAID controller software binaries and source.
- Detailed newcomers’ guide to crossflashing LSI 9211/9300/9305/9311/9400/94xx HBA and variants local copy
Procedure
- you will need linux, system should boot with card installed ( try to disable usage of card BIOS in MB BIOS)
- Download 1. and compile it. need make and gcc. just run make
- get firmware from 3. you will need 2 files from there 2118it.bin and mptsas2.rom
- Get lsiutil from 4. /Binaries/LSIutil_1.71_binaries/Linux/lsiutil.x86_64. Make it executable.
- Disable VT-d or AMD virtualization technology in MB BIOS to disable IOMMU
- 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
- As my card did not have valid SBR ( it was wiped ). I used sample_sbr/sbr_dell_h200e_itir.cfg at step
- Change SAS WWID if necessary. Some SAS drivers refuses to work unless you set it to some value.
- Go back to BIOS and enable “Storage BIOS” if you plan to boot form the controller.