How to update PERC 5/i firmware in FreeBSD

Posted on 01 Sep 2011.

Some time ago I found myself having to upgrade the firmware of my PERC 5/i RAID controller sitting in my PowerEdge 1950 II server. Dell provides upgrade packages for various kinds of Linux and Windows systems, but not FreeBSD. I thought I would have to boot the server on a Linux livecd and run the updates from there, but Ian Freislich taught me that it's possible to update from within FreeBSD.

Step 1: Fetch the Windows executable

Somewhere on Dell's website you will find a Windows installer for the firmware upgrade. In my case the file was called DELL_PERC-5-I-INTEGRATED_A09_R189337.EXE. This file is actually a self-extracting zip archive, so simply transfer it to your server and unzip it:

$ unzip DELL_PERC-5-I-INTEGRATED_A09_R189337.EXE
Archive:  DELL_PERC-5-I-INTEGRATED_A09_R189337.EXE
  inflating: update.bat
  inflating: FW5461II.rom
  inflating: R189337.txt
  inflating: dos4gw.exe
  inflating: FIND.exe
  inflating: MegaFl.exe
  inflating: nocheck.bat

Step 2: Flash the controller

The file containing the firmware updates is FW5461II.rom. To flash the controller card, use mfiutil:

# mfiutil -u0 flash FW5461II.rom
WARNING: Firmware flash in progress, do not reboot machine... finished
mfi0 Pending Firmware Images:
Name  Version               Date         Time
BTBL  R.2.3.12              Nov 13 2006  15:19:25
BIOS  MT28-9
MPT1  MPTFW-  05/14/08     21:52:15
APP   1.03.50-0461          May 21 2008  09:08:28
BCON  1.03-04               Sep 28 2006  14:10:07
CTLR  1.04-019A             Aug 13 2007  23:21:34

The above command may take a minute or two to finish. Now simply reboot and enjoy your updated RAID controller!

blog comments powered by Disqus