I came at this from several directions, trying to avoid the need to lay hands on the machine. But if you want to get on with it already, just prepare a FreeDOS USB flash boot disk, copy the firmware, ROM, and flash utility to it, and flash the firmware with that.
This procedure generally applies to all LSI 2000-series controllers. I have a four-lane controller, the 9211-4i, which uses the “LSISAS2004” chip. It’s effectively the same for, say, an 9211-8i, which would use the LSISAS2008” chip.
#Prepare the boot disk
bunzipyour downloaded image file.
diskutil listto get the /dev/diskn path to the drive
diskutil unmountDisk /dev/disk*n*to unmount it
dd if=path/to/Freedos.img of=/dev/rdisk*n* bs=512to write it to the disk
fdisk -e /dev/disk*n*to fix the boot partition
f 1to flag the first partition “bootable”
wto write the partition table
qto quit fdisk
I believe at this point the disk re-mounts on a Mac automatically.
Now you’ll want to copy the .bin, .rom, and sas2flsh.exe files and executable from LSI to your USB drive:
cd ~/Downloads unzip 9211-4i_Package_P19_IR_IT_Firmware_BIOS_for_MSDOS_Windows.zip cd 9211-4i_Package_P19_IR_IT_Firmware_BIOS_for_MSDOS_Windows mkdir -p /Volumes/FreeDOS/lsi/19 cp sas2flash_dos_rel/sas2flsh.exe /Volumes/FreeDOS/lsi/19/ cp Firmware/HBA_9211_4i_IT/2114it.bin /Volumes/FreeDOS/lsi/19/ cp sasbios_rel/mptsas2.rom /Volumes/FreeDOS/lsi/19/ diskutil eject /Volumes/FreeDOS
Now you’re ready to boot up the machine from the USB drive.
#Flash the card For the actual flashing, these instructions proved helpful and concise: http://lime-technology.com/forum/index.php?topic=34081.5;wap2
Everything you’ll read on this should warn you not to reboot the machine between erasing the old flash and flashing the new flash. To do so will apparently brick your card.
sas2flsh -listto identify the card you want to flash. If you have only one controller installed, it will be “controller 0”. Otherwise, it’ll be “controller something else”.
sas2flsh -listallto verify your choice.
sas2flsh -o -e 6 -c 0to erase the flash area on controller 0.
sas2flsh -o -f 2114it.bin -c 0to write the IT flash image to controller 0.
sas2flsh -o -b mptsas2.rom -c 0to write the BIOS ROM to controller 0.
sas2flsh -listto verify the new version.
sas2flsh -listallto verify again.
Now you can reboot. When the machine comes back up, the card will be factory-fresh with version 19 of the initiator-target flavored firmware.
On my SuperMicro board, this meant I needed to enter the LSI configuration BIOS tool (ctrl-C when prompted) to disable boot support. LSI boot support blocks booting from a USB flash drive.
Once that was done, I was booting back up into SmartOS from my normal USB drive.