How to upgrade the firmware on an LSI MegaRAID SAS controller under Linux

In this post, I describe how to upgrade the firmware on an LSI MegaRAID SAS controller to the latest version. Upgrading the firmware is recommended before making certain changes, e.g. installing a battery backup unit. These instructions have been tested on an LSI MegaRAID SAS 9260-4i but should also work for other models using LSI’s 2108 chipset. According to the documentation, these models are also supported: MegaRAID SAS 9250-4i, MegaRAID SAS 9260CV-4i, MegaRAID SAS 9260-8i, MegaRAID SAS 9260CV-8i, MegaRAID SAS 9260DE-8i, MegaRAID SAS 9261-8i, MegaRAID SAS 9280-4i4e, MegaRAID SAS 9280-8e, MegaRAID SAS 9280DE-8e, MegaRAID SAS 9280-24i4e, MegaRAID SAS 9280-16i4e and MegaRAID SAS 9260-16i.

Upgrading these RAID controller cards is fairly straightforward once you know what you’re doing, but it’s difficult to find coherent and up to date instructions. This is partly because LSI were bought out by Avago, who subsequently rebranded as Broadcom, and a lot of the official documentation webpages are no longer active. Broadcom’s site only seems to promote documentation and downloads for newer models of RAID controller.

  1. Before you start, back up your data on the RAID array! If the worst happens, you’ll want to have some way to recover it!
  2. First, make sure that nothing is writing data to the RAID array. I was unable to find anything in the documentation confirming whether or not it’s safe to flash the firmware while the RAID array is in use. In the absence of better information, I strongly advise caution! If your system has its root partition stored on a RAID array managed by the RAID controller that you’re trying to upgrade, you will need to use a live CD. If your root partition is not on the RAID array, I recommend doing the following:
    1. Comment out all entries in /etc/fstab referring to partitions on the RAID array.
    2. Reboot the system.
    3. Check using mount that nothing on the RAID array is mounted.
  3. Next, download the latest firmware. At the time of writing this appears to be This firmware image was released back in 2015, so there’s a good chance that there won’t be any further releases as it’s a pretty old chipset by now. Extract the zip file. It should contain a text document with release notes and the firmware image itself in a file called mr2108fw.rom.
  4. If you don’t already have it installed, get hold of a copy of MegaCli (see e.g.
  5. Run megacli -AdpFwFlash -f mr2108fw.rom -a0 (replace a0 with a1, a2, etc as appropriate if you have more than one RAID controller).
  6. Check the output to see whether the command completed successfully with exit code 0x00 and no error messages.
  7. Reboot the system. If you keep an eye on the RAID controller BIOS messages during system boot, you should see it mention that the firmware is now version 12.15.0-0239.
  8. If you want to add a battery backup unit such as LSIiBBU07 or LSIiBBU08, you should shut down the system now and install the unit.
  9. Power the system back up. If you installed a battery backup unit, it should mention that it’s present in the RAID BIOS.
  10. Assuming that all is well, you can now safely uncomment the lines in /etc/fstab that refer to partitions on the RAID array, and reboot the system once again.

Congratulations, your system should now be running with the latest RAID firmware!


trying to crossflash from dell H700 to megariad 9260i.
using just the above method - (with BBU) I
1) cant brak with Ctrl-H - - the splashcreen still announces "Dell H700......." but FW is now 12-15.
2) the BBU is now NOT recognized..... so booting into OS - but no BBU - thus no write-back cache....

what is wrong here.... ?

Regards - Michael

Hi Michael,

Sorry I'm so late replying to this, I'm afraid I've not tried cross-flashing as I'm a bit wary of trusting critical data to an unsupported setup. Hope you managed to get it figured out. If you did, please take a moment to write your findings to help other people...



I'm trying for LSI 2208. But it's not working for me.

# ./MegaCli64 -AdpFwFlash -f mr2208fw.rom -a0
Adapter 0: LSI MegaRAID ROMB
Vendor ID: 0x1000, Device ID: 0x005B

ERROR: The image file is invalid and could not be flashed to the controller!!!

Exit Code: 0x11

Can you please help here?

Hey there Mohiddin,

Apologies to you too that I didn't manage to reply sooner. My guess is that you're attempting to flash an unsupported card. Note that my article is about the LSI 2108 chipset, but you're referring to the LSI 2208 chipset. Perhaps you've actually got a card with a different chipset? Or perhaps you're doing what Michael mentioned in the comment above, attempting to cross-flash the firmware onto a card that uses the same chipset but has been rebadged by a different vendor? Cross-flashing is tricky, from what I've read about it you may need to apply some hacks to get the chip to accept the firmware signature. Personally I would avoid doing it unless you're happy with the risks involved.

Sorry not to be more help.

Add new comment

(If you're a human, don't change the following field)
Your first name.
(If you're a human, don't change the following field)
Your first name.

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.