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 https://docs.broadcom.com/docs/12.15.0-0239zip. 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. https://wikitech.wikimedia.org/wiki/MegaCli).
  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!

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.