TechSomething

Flashing an LSI SAS controller in 2022, AKA "IT-mode" and UEFI

Scope: #

I have a controller, LSI SAS9217-4i4e, wit IR firmware and want to switch it to IT firmware.

Why: #

For these SAS controllers there are 2 operating modes:

I want the IT mode because I have some SAS disks I need to format and I can't do it as I like in IR mode.

Ok, but I meant "why you need a SAS controller": #

Well it's not obvious?
In case it isn't, I have some drives lying around and wanted to wipe them.
Also I should be able to play around with some SAS drive enclosure (a box that contains many SAS drives and exits with one or more sas cables).

Steps: #

  1. Download the files from broadcom site:
  2. With Rufus (on Windows, yes I know..) create a USB key
    • not bootable since we are using UEFI
  3. Create the usb key:
  4. Copy the SAS controller files, from the archies fcopy these files to the root of your usb drive::
    • from Installer_P20_for_UEFI.zip copy:
      • /Installer_P20_for_UEFI/sas2flash_efi_ebc_rel/sas2flash.efi (the flash utility)
    • from 9217_4i4e_Package_P20_IR_IT_FW_BIOS_for_MSDOS_Windows.zip copy:
      • /9217_4i4e_Package_P20_IR_IT_FW_BIOS_for_MSDOS_Windows/sasbios_rel/mptsas2.rom (the controller bios)
      • /9217_4i4e_Package_P20_IR_IT_FW_BIOS_for_MSDOS_Windows/Firmware/HBA_9207_4i4e_IT/9207-4i4e.bin (the controller firmware)
  5. The final folder structure should be like this:
    • .
      ├── 9207-4i4e.bin
      ├── autorun.ico
      ├── autorun.inf
      ├── mptsas2.rom
      ├── sas2flash.efi
      ├── shell.efi
      └── System Volume Information
          └── WPSettings.dat
      
  6. Prepare the PC:
    • disconnect as many disks/peripherals you can from your pc leaving just the controller if possible
    • connect your usb drive
  7. Start the EFI shell (tested on my Asus motherboard):
    • boot your pc
    • go in the BIOS pressing F2 at boot
    • in the last page select "Open EFI shell from USB drive"
  8. in the EFI shell:
    • execute "map" to see the drivesm they will be "fs0, fs1 etc.."
    • identify your correct disk (for example there is written "USB" in the description)
    • mount the drive: "mount fs1"
    • change folder "fs1:"
    • list folder content: "dir"
  9. Flash the controller:
    • execute "sas2flash.efi -listall" to list the controller
    • execute "sas2flash.efi -o -e 6" to clear the controller bios
    • execute "sas2flash.efi -o -f 9207-4i4e.bin -b mptsas2.rom" to flash the new firmware and bios on the controller
    • execute "sas2flash.efi -listall" to list the controller
  10. Check your work:
    • reboot the computer
    • enter in the controller bios (when prompted press "CTRL+C"
    • select the controller and you'll see that it's now in IT mode
  11. Congrats!

Sources: #

  1. https://digitalcardboard.com/blog/2014/07/09/flashing-it-firmware-to-the-lsi-sas-9211-8i-hba-2014-efi-recipe/
  2. https://www.truenas.com/community/threads/sas2flash-easier-alternative.30789/page-2
  3. https://forums.servethehome.com/index.php?threads/help-with-hp-9207-4i4e-needed-firmware-update-problem-lsi-sas2308.34666/
  4. https://www.truenas.com/community/threads/sas2flash-easier-alternative.30789/#post-199640
  5. https://serverfault.com/questions/679175/failed-to-initialize-pal-while-upgrading-an-lsi-9211-8i-to-it