Here is a writeup on how to crossflash / update the firmware and BIOS on various LSI SAS3008-based cards through UEFI, effectively turning them in to an LSI 9300-8i.
Multiple OEMs use the LSI SAS3008 controller for their RAID cards, which many people crossflash to repurpose them to simple pass-through Host Bus Adapters. This is essential for implementations of ZFS, md raid, Stablebit Drivepool, or Storage Spaces in Windows. Some of these OEM cards include the IBM ServeRAID M1215 and N2215.
Visit the Broadcom software download page and download the following files:
Extract the .zip files and copy the following files onto the root of a USB flash drive formatted as FAT32:
Your file structure should now look like this:
D: | sas3flash.efi | SAS9300_8i_IT.bin | mptsas3.rom | mpt3x64.rom
If your computer does not have a built-in UEFI shell, you will need to do the following:
- Download UEFI Shell from the following link
- Rename the file to Bootx64.efi
- Create two new folders, one inside the other, on your flash drive, named
- Copy the Bootx64.efi into the boot folder. Your file structure should now look like this:
D: | sas3flash.efi | SAS9300_8i_IT.bin | mptsas3.rom | mpt3x64.rom └───efi └───boot └───Bootx64.efi
On the SAS card, take note of the SAS Address, typically on the back of the card. It will probably be
Install a jumper on J6 on the card and install into the PCI-E slot so we can reset the firmware.
- Plug in the USB drive and boot into UEFI Shell. You will probably need to press F11 or whatever key your motherboard manufacturer uses to reach the boot menu.
If your motherboard does not come with a built-in EFI shell and you added the
Bootx64.efito your flash drive, boot to your USB drive.
After reaching the EFI Shell, change directory to the USB drive using
fs0:. For me, it was "fs0:" but it could be "fs1:" or "fs2:". If you are unsure, you can display a list of files on that drive with
Show the SAS adapter info with:
You will probably want to write down or take a photo of the SAS Address, Board Assembly, and Board Tracer Number.
If, after you give it the
sas3flash.efi -listcommand it complains that it needs firmware before it will list info, then the card was wiped before you got it and you can just continue with the process.
Reset the firmware with
sas3flash.efi -f SAS9300_8i_IT.bin -noreset
After that is done, power down the computer and remove the jumper from J6.
Boot the computer back up and get back into the UEFI shell, then
Erase the firmware flash region on the card
sas3flash.efi -o -e 7
Flash the controller (And if you want to be able to boot from a drive attached to the controller, flash the BIOS files too)
Without BIOS files:
sas3flash.efi -f SAS9300_8i_IT.bin
With BIOS files:
sas3flash.efi -f SAS9300_8i_IT.bin -b mptsas3.rom -b mpt3x64.rom
- Now flash the SAS address back onto the controller
sas3flash.efi -o -sasadd 500605BXXXXXXXXXX
- Verify the SAS Address matches, and everything looks correct
Congratulations! After rebooting you are finished!
Note: P16 should be replaced with the latest version available. At the time of writing, it is P16. ↩︎
Share This Post
Read more posts by this author.