Hello, I have an LSI 9240-4i RAID controller that I wish to crossflash to a 9211-4i in order to enable IT mode. The controller came from a Supermicro server, but as far as I can tell it is not made by Supermicro, rather, it is made by LSI.
I have followed the steps detailed in Stilez’ very well-explained guide for newcomers at the old forum, though if I understand correctly, since I have an LSI-branded card, the steps involving card manufacturers’ own IR-mode/IT-mode firmware does not apply (since the manufacturer is LSI).
I believe I have managed to successfully wipe the old firmware and sbr record, however, when attempting to flash the new firmware, it fails claiming the provided NVDATA image is not compatible with the controller’s device ID. Here’s the details of what I’ve done so far:
- I’m using the Supermicro server (with a UEFI-enabled X10 mainboard) for the cross-flashing process
- I started off setting the BIOS to legacy boot mode, booting into a FreeDOS live USB with Megarec available
- backed up the sbr, cleared the sbr region and blanked the firmware:
megarec.exe -readsbr 0 backup.bin
megarec.exe -writesbr 0 sbrempty.bin
megarec.exe -cleanflash 0
- switched the BIOS to UEFI boot mode, booting into the built-in UEFI shell
- tried to flash directly the P20 firmware using the P20 sas2flash utility:
sas2flash.efi -o -f 2114it.bin
which gives the following output:
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved
Advanced Mode Set
Adapter Selected is a LSI SAS: SAS2008(B2)
Executing Operation: Flash Firmware Image
Firmware Image has a Valid Checksum
Firmware Version 20.00.07.00
Firmware Image compatible with Controller
Valid NVDATA Image found.
NVDATA Version 14.01.00.00
Checking for a compatible NVData image...
ERROR: NVDATA Image does not match Controller Device ID!
Device ID - NVDATA:0x70 Controller:0x72
ERROR: No compatible NVDATA Image(s) found!
Firmware Image Validation Failed!
Due to error remaining commands will not be executed.
Unable to Process Commands.
Exiting SAS2Flash.
I have after this tried several combinations of older sas2flash version (P5), older IT mode firmware (P7), latest IR mode firmware (P20), with same result.
I also came across the alternative guide at marcan.st which provides the sas2hax utility which is supposed to ignore device id mismatch, but it gives the same result.
The sas2flash manual mentions that there should be an option to override NVDATA mismatches, but I cannot find anywhere how to invoke this option.
I opened the dump from the sbr region in a hex viewer:
00000000: 61f6 2261 f736 4fb3 f800 d791 0010 7300 a."a.6O.......s.
00000010: 0000 0401 0010 4192 0000 0000 0000 0000 ......A.........
00000020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000030: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000040: 000c 5d00 5c30 5a14 7505 109a 61f6 2261 ..].\0Z.u...a."a
00000050: f736 4fb3 f800 d791 0010 7300 0000 0401 .6O.......s.....
00000060: 0010 4192 0000 0000 0000 0000 0000 0000 ..A.............
00000070: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000080: 0000 0000 0000 0000 0000 0000 000c 5d00 ..............].
00000090: 5c30 5a14 7505 109a ffff ffff ffff ffff \0Z.u...........
000000a0: ffff ffff ffff ffff ffff ffff ffff ffff ................
000000b0: ffff ffff ffff ffff ffff ffff ffff ffff ................
000000c0: ffff ffff ffff ffff ffff ffff ffff ffff ................
000000d0: ffff ffff ffff ffff ffff ffff ffff ffff ................
000000e0: ffff ffff ffff ffff ffff ffff ffff ffff ................
000000f0: ffff ffff ffff ffff ffff ffff ffff ffff ................
Curiously, according to marcan.st’s guide this indicates that the controller’s device ID is in fact 0x73, which matches the record for MegaRAID 2008 at Devicehunt. 0x72 should, if I understand correctly, be the desired device ID of the 9211 variant.
Right now the card is non-functional (has no firmware). I guess it should be possible to re-flash it back into a functioning 9240-4i, but I haven’t looked into it since it requires different tools.
Any tips on how to solve the NVDATA mismatch error?