The simple way..... (As always a good backup is always a good thing. Just in case)
My scenario: SM X10SL-7 and an IBM M1015 working properly on firmware 16, updated to 9.3.1 and got firmware mismatch.
SSH to the box
make a temporary dir and go into it
Get firmware for IBM M1015
wget
http://www.cstone.net/~dk/p20.zip
unzip p20.zip
Get firmware for 2308 from super micro
wget ftp://ftp.supermicro.com/driver/SAS/LSI/2308/Firmware/IT/PH20-IT.zip
unzip PH20-IT.zip
Run freebsd sas2flash -listall and note the index number for the 2008 (IBM) vs the 2308 (Supermicro) controller then with this info:
sas2flash -c # -f 2118it.bin where # is the index number for your SAS2008 (IBM) controller
sas2flash -c # -f UEFI/2308IT20.ROM where # is the index of your SAS2308 (Supermicro) controller (adjust the path if you unzipped to a different directory)
Do a sas2flash -listall to confirm both controllers are on rev 20 firmware, then reboot
Now both controllers are on Rev 20, pools are loaded ok, no errors. No sweat, no paranoia. (Having a backup helped making me feel brave though)
The SM firmware is indeed slightly older (20.00.02.00) than the LSI (20.00.04.00). I will upgrade when SM comes up with an upgrade or otherwise if either I get problem or somebody else convincingly reports firmware related trouble. I am confident SM would not have left a bugged firmware in the general download for this board and risk irate users calling after losing their data
Cheers