M1015; Magical;

I purchased an IBM M1015 off eBay about a week ago. The goal is to flash the card in IT mode so that I can pass through 8 of my 12 hard drives instead of using the onboard SATA controllers. I've documented the process below.

Things to keep in mind during this process:

You physically have an IBM M1015, however it is similar to the LSI SAS 9211-8i (different circuit layout, no support for RAID5/SED without additional module)
You should be able to erase the current firmware and BIOS on the M1015 and install the LSI 9211-8i's firmware without trouble.
The controller on the M1015 is a SAS2008 from LSI

Now here's where it get's confusing. LSI allows you to download the new (P20 as of this writing) sas2flsh.exe and 2118it.bin from their site, http://www.lsi.com/products/host-bus-adapters/pages/lsi-sas-9211-8i.aspx#tab/tab4, Under "9211_8i_Package_P20_IR_IT_Firmware_BIOS_for_MSDOS_Windows". However, you can not find the MEGAREC.EXE file anywhere on their site. From the digging I've done, there aren't even records of the original distributor of that file. I've recreated an updated .zip with the P20 firmware, newer sas2flsh utility, and BIOS file.

Download here: IBM_M1015_Crossflash_IT_Mode_P20

Hardware Assumptions:
  1. The IBM M1015 is physically put into either a PCI-e 8x or PCI-e x16 port. In my experience, a PCI-e 4x port will not function properly.
  2. You can boot to a USB Flash drive
  3. Your motherboard is NOT UEFI. (I've only used non-UEFI motherboards to flash the IBM M1015)
Lets do this:
  1. Download the above updated .zip file

  2. View the README in that zip (contains similar info that is found here)

  3. Create a USB drive that runs FreeDos v1.1 (or possibly v1.0 not tested)

  4. Copy the contents of the zip onto the base or root directory of the flash drive.

  5. The flash drive's directory structure should look like this:
    [Insert Tree output]

  6. Verify that the IBM M1015 is plugged the correct PCI slot (see Hardware Assumptions)

  7. Insert USB drive & boot into FreeDos (This can be slightly different depending on how you installed FreeDos)

  8. Run the following commands
    a) makerec -adpList
    This command has to show that it's detected your IBM M1015 and that its at controller index 0.
    b) makerec -writesbr 0 sbrempty.bin
    This command will write a blank controller SBR file to the controller.
    c) makerec -cleanflash 0
    This command will erase the installed flash on the IBM M1015

  9. Reboot (by pressing Ctl + Alt + Del) back into the flash drive and enter FreeDos as you did before. This power cycles the card, may not be 100% necessary, but it's for good measure.

  10. Run the following commands
    a) sas2flsh -o -f 2118IT.BIN
    This command will flash the IBM M1015 with the 9211's IT mode firmware and NOT add the BIOS to the card. This speeds up boot times as we don't need to load the cards BIOS. (-o is for advanced features with is required for this command)
    b) sas2flash.efi -o -sasadd 500605b0XXXXXXXXX
    This command will program the controller with the SAS Address. Replace the X's with the address that is on the sticker of your card. You may be able to use sas2flsh -o -listsasadd to get the SAS Address.

  11. Reboot! If you didn't get any error messages and nothing crashed, you're M1015 is now a IT mode LSI 9211-8i card (...basically).

Enjoy the new found power of your M1015. Remember you need to connect the card with miniSAS-8087 cables. Also, the lights on the card blink like crazy during a resync/rebuild of mdadm.

Special thanks to:
Mario (https://scriptthe.net/2013/11/16/flashing-different-lsi-firmware-on-the-m1015on-a-uefi-bios/)
Smeg Head(http://forums.laptopvideo2go.com/topic/29059-sas2008-lsi92409211-firmware-files/)