IBM M1015 refuses to get flashed

I bought IBM ServeRAID M1015, because it is recommended hardware for ZFS. When flashing to IT mode, only the first part was successful. After reboot, I can't write any firmware to it:

Code:
sas2flsh -o -f 2118it.bin

ERROR: Failed to initialize PAL.  Exiting Program.

No way back, either. On final step:

Code:
Megarec -m0flash 0 0101_ibm.rom
Code:
Currently flashing component = APP
Error in programming image into Flash
Error code = 64
Failed to flash the image. Please retry recovery

In UEFI:

Code:
No LSI SAS adapters found! Limited Command Set Available!
ERROR: Command Not allowed without an adapter!
ERROR: Couldn't Create Command -f
Exiting Program.

Is it recoverable? what happened here?
 
Did you get the firmware for it from LSI (Broadcom/Avago/...) or from IBM? I vaguely remember that the branded OEM versions needed to be flashed with their own firmware packages, but I don't know whether that's universally true.

When I was working with experimental prototype version of LSI adapters, we ended up bricking so many of them when flashing them, every few weeks we'd take a cardboard box of them over to LSI's engineering group, and they would unbrick them for us. Fortunately, here in Silicon Valley that was less than a half hour drive.
 
Did you get the firmware for it from LSI (Broadcom/Avago/...) or from IBM?
I used ROMs included in package for crossflashing. The card is quite old, so I expect they are final firmwares. Files for reverting to original function are named: 0101_ibm.rom, 0119_lsi.rom & 0084_del.rom. All of them produces the above error.

When I was working with experimental prototype version of LSI adapters, we ended up bricking so many of them when flashing them
Your stories are engaging, especially those that touch areas beyond the reach of home users.
 
Any reason why you would want to use such an old (SAS2, PCIe 2.0, running quite hot) HBA? The various SAS3008 based variants are also dirt-cheap nowadays, even as brand new (the brown-box variants from china work just as well from my experience, especially if it is for a home server). Also some SAS3/12GBps drives may be picky when it comes to SAS2 (I've had some WD HDDs and SanDisk SSDs that won't show on SAS2 HBAs)
Those modified controllers, firmware and some even hardware wise, from IBM, DELL etc are always a bit picky when it comes to reflashing, especially the SAS2008 generation. I still have 3 or 4 bricked SAS2008 HBAs (IIRC Fujitsu and HP branded) lying around somewhere that went dark either because the firmware couldn't be completely wiped or they just went dark after a firmware upgrade long after reflashing...

There are some excellent guides at servethehome.com, on their page and in the forums, e.g. https://www.servethehome.com/ibm-serveraid-m1015-part-4/
It's been quite a while since I flashed such an old HBA, but with the newer ones I had the most success using the EFI installer package from LSI. The DOS variant is crap, mainly because you can't even properly write full filenames and hence won't know if its the correct file you try to flash (especially if you try to flash different firmware versions), and the linux and BSD versions often had some weird bugs or restrictions that may bite you when hitting some edge case.

The basic steps are always:
- connect the jumper on the reflash header (if present)
- nuke the OEM-firmware with -o -e N (6 or 7) (this step MUST succeed without error!!)
- flash new firmware, bootrom and BSD (has nothing to do with BSD OS)

Problems usually arise at the second step with various error messages. The 3008 based HBAs have been much more cooperative for me and usually using the correct value for the '-e' argument allowed me to fully erase the old firmware, which is mandatory for the third step to be successful. Some HBAs can keep all info written to it by the vendor, like sas address, device description etc (= 6) and some have to be completely wiped with '7' and you need to re-write at least the sas address.

Regarding the state your HBA is in:
If the sas2flash tool (use the UEFI variant!) doesn't find any HBA with '-listall' you are mostly out of luck and that thing is gone. Rebooting after a (partly) successful erase and unsuccessful flash process often leads to an incomplete (or missing) bios rom, and the controller can't be initialized at all. As long as it is powered on, it is still accessible and can be flashed. Always use the '-reset' switch instead of a reboot if in doubt.
 
I considered moving the card to another PC to try again, but your comprehensive answer saved my time.

Any reason why you would want to use such an old (SAS2, PCIe 2.0, running quite hot) HBA? The various SAS3008 based variants are also dirt-cheap nowadays, even as brand new
I choosed M1015 because:
- it is recommended hardware,
- I had it available at reasonable price,
- it offers decent performance,
- many stories of successful reflashing.

SAS3008 is much more expensive here. I'm thinking about LSI 9201-16 (found only as external version, but I can't find SFF-8088 to SATA cables here).
 
Back
Top