Firmware Update of IBM ServeRaid BR10i with Ubuntu
system x, x3550 m3, LSI SAS 1068E, ibm 7944
I have just got a used IBM x3550 M3 server as development machine and ran into some trouble when trying to add some SSDs: the throughput was pretty slow (~100MB/s). Generally the BR10i controller supports 3G SATA2 and therefore i expected a throughput of ~250MB. I’ve figured out, that this behaviour is caused by the firmware of the LSI based RAID Controller BR10i which is fixed in v1.30.10.00. You can get the latest firmware package from IBM Fix Central (requires a developer account) but in case you are running ubuntu, you cannot install it directly, because this OS is not officially supported and the IBM tools are designed for Windows or RHEL.
But there is a simple solution out there: you can use the LSI OEM tools to update the firmware on Ubuntu!
Step 1: Download the LSI Tools#
For example Supermicro provides the required linux tools. You can download the package without registration.
root@ubuntu:/home/test# wget ftp://ftp.supermicro.com/driver/SAS/LSI/1064_1068/IT/Firmware/B3/LP-L8i/1.30.00/L8iLP_IT.zip root@ubuntu:/home/test# unzip L8iLP_IT.zip Archive: L8iLP_IT.zip creating: L8iLP_IT/ creating: L8iLP_IT/DOS/ extracting: L8iLP_IT/DOS/L8iLP_IT.bat inflating: L8iLP_IT/DOS/L8iLP_IT.fw inflating: L8iLP_IT/DOS/mptsas.rom inflating: L8iLP_IT/DOS/sasflash.exe creating: L8iLP_IT/Linux_i686_x86-64/ extracting: L8iLP_IT/Linux_i686_x86-64/L8iLP_IT.bat extracting: L8iLP_IT/Linux_i686_x86-64/L8iLP_IT.bat~ inflating: L8iLP_IT/Linux_i686_x86-64/L8iLP_IT.fw extracting: L8iLP_IT/Linux_i686_x86-64/L8i_IT.bat~ inflating: L8iLP_IT/Linux_i686_x86-64/mptsas.rom inflating: L8iLP_IT/Linux_i686_x86-64/sasflash.exe inflating: L8iLP_IT/readme.txt creating: L8iLP_IT/Win_x86/ extracting: L8iLP_IT/Win_x86/L8iLP_IT.bat inflating: L8iLP_IT/Win_x86/L8iLP_IT.fw inflating: L8iLP_IT/Win_x86/mptsas.rom inflating: L8iLP_IT/Win_x86/sasflash.exe root@ubuntu:/home/test# chmod +x L8iLP_IT/Linux_i686_x86-64/sasflash.exe
This may look weird – a .exe file on linux ? but of course, it is a executable binary which is compiled for linux!
Step 2: Extract the Firmware from Update Package#
I recommend to use the official IBM firmware – it is possible to extract the firmware + uefi rom from the update package mentioned above.
root@ubuntu:/home/test# unzip ibm_fw_sraidbr_10i-2.75_linux_32-64.bin Archive: ibm_fw_sraidbr_10i-2.75_linux_32-64.bin warning [ibm_fw_sraidbr_10i-2.75_linux_32-64.bin]: 74943 extra bytes at beginning or within zipfile (attempting to process anyway) inflating: Linux_verAny_UP0_xAny.wrapcfg inflating: image/0394_b3_02d28_1.30.10.fw inflating: image/0394_c0_02d28_1.30.10.fw inflating: image/ExtractToHDD.txt inflating: image/bios_6.30.02.rom inflating: image/ctlr-info.txt inflating: image/install.sh inflating: image/lsiIRupdate inflating: image/mindrv inflating: image/readme.txt inflating: image/sasflash inflating: image/uefi_3.16.00.06.rom inflating: linwrap
There are 3 important files in this package: uefi_3.16.00.06.rom, 0394_b3_02d28_1.30.10.fw, 0394_c0_02d28_1.30.10.fw – pay attention to the controller revision C0 or B3. The update tool will also check the revision before uploading, so it is not possible to break the card with a wrong firmware!
Step 3: Run the Firmware Update Tool#
Finally you can start the firmware update by providing the firmware as well as uefi bios files:
root@ubuntu:/home/test# ./L8iLP_IT/Linux_i686_x86-64/sasflash.exe -o -f image/0394_b3_02d28_1.30.10.fw -b image/bios_6.30.02.rom **************************************************************************** LSI Corporation SAS FLASH Utility. SASFlash Version 1.24.00.00 (2009.11.13) Copyright (c) 2006-2007 LSI Corporation. All rights reserved. **************************************************************************** Advanced Mode Set Adapter Selected is a LSI SAS 1068E(B3): Executing Operation: Flash Firmware Image Checksum Passed: 00000000 Verifying NVDATA Compatibility. . . NVDATA Versions Compatible Product ID and Vendor ID match verified. Valid BootLoader Image verified. Beginning Firmware Download Firmware Download: SUCCESSFUL! Verifying the image flashed correctly. . . Firmware Flash: SUCCESSFUL! Resetting Adapter: Adapter Successfully reset. Executing Operation: Flash BIOS Image Validating BIOS Image. . . BIOS Header Signature Valid. Checksum Passed: 00000000 BIOS Image compatible with the SAS Controller. Attempting to Flash BIOS Image. . . BIOS Flash: SUCCESSFUL! Finished Processing Commands Successfully. Exiting SASFlash.