I received an email this week from one of my readers / followers on twitter who had gone through the effort of upgrading his LSI controller firmware. He shared the procedure with me as unfortunately it wasn’t well documented. I hope this will help others in the future, I know it will help me as I was about to look at the exact same for my VSAN environment, thanks for sharing this Tom!
— copy / paste from Tom’s document —
We do quite a bit of virtualization and storage validation and performance testing in the Taneja Group Labs (http://tanejagroup.com/). Recently, we were performing some tests with VMware’s VSAN and due to some performance issues we were having with the AHCI controllers on our servers we needed to revise our environment to add some LSI SAS 2308 controllers and attach our SSD and HDDs to the LSI card. However our new LSI SAS controllers didn’t come with the firmware mandated by the VSAN HCL (they had v14 and the HCL specifies v18) and didn’t recognize the attached drives. So we set about updating LSI 2308 firmware. Updating the LSI firmware is a simple process and can be accomplished from an ESXi 5.5 U1 server but isn’t very well documented. After updating the firmware and rebooting the system the drives were recognized and could be used by VSAN. Below are the steps I took to update my LSI controllers from v14 to v18.
Updating a LSI 2308 Card on ESXi 5.5
Download the ESXi LSI firmware/BIOS installer from here: http://www.lsi.com/downloads/Public/Host%20Bus%20Adapters/Host%20Bus%20Adapters%20Common%20Files/SAS_SATA_6G_P18/Installer_P18_for_Vmware_ESX50.zip
Download the LSI firmware/BIOS installer readme from here: http://www.lsi.com/downloads/Public/Host%20Bus%20Adapters/Host%20Bus%20Adapters%20Common%20Files/SAS_SATA_6G_P18/README_Installer_P18_VMware_ESX50.txt
Download the v18 firmware / BIOS from the MSDOS package (9207_4i4e_Package_P18_IT_Firmware_BIOS_for_MSDOS_Windows) here: http://www.lsi.com/products/host-bus-adapters/pages/lsi-sas-9207-4i4e.aspx#tab/tab4
The MSDOS_Windows package is the only zip file that contains the firmware and BIOS packages 2118.bin is the firmware, mptsas2.rom is the BIOS file. Go to the ESXi commandline (using SSH or through the DCUI) and verify that the server has a LSI card installed:
# lspci | grep LSI
0000:02:00.0 Mass storage controller: LSI LSI2308_2 [vmhba2]
# esxcfg-scsidevs -a | grep LSI
vmhba2 mpt2sas link-n/a sas.500605b006c37290 (0:2:0.0) LSI Logic / Symbios Logic LSI2308_2
# esxcli storage core adapter list | grep LSI
vmhba2 mpt2sas link-n/a sas.500605b006c37290 (0:2:0.0) LSI Logic / Symbios Logic LSI2308_2
List the drives attached:
# esxcli storage core device list | egrep -i model
The output from the command did not list anything
Unzip the files that you downloaded and use SCP to upload the vib to the ESXi 5.5 server to the /tmp directory – SSH must be enabled on the ESXi server to use scp.
scp vmware-esx-sas2flash.vib root@10.0.0.26:/tmp/
scp 9207-4i4e.bin root@10.0.0.26:/tmp/
scp mptsas2.rom root@10.0.0.26:/tmp/
Place the server in maintenance mode:
# esxcli system maintenanceMode set -e yes
Verify that the server is in maintenance mode:
# esxcli system maintenanceMode get
Enabled
The instructions from the readme gave an error code and did not install the vib:
# esxcli software vib install --force --vib /tmp/vmware-esx-sas2flash.vib
Error: Invalid option --vib
Usage: esxcli software vib install [cmd options]
The correct command to install the vib:
# esxcli software vib install --force -v /tmp/vmware-esx-sas2flash.vib
Verify the installation of the vib:
# esxcli software vib list | grep sas2flash
vmware-esx-sas2flash 1.0-03 LSI PartnerSupported 2014-03-28
List the BIOS and firmware version currently on the LSI card using the sas2flash command:
~ # /opt/lsi/bin/sas2flash -list
LSI Corporation SAS2 Flash Utility
Version 18.00.0.00 (2013.11.18)
Copyright (c) 2008-2013 LSI Corporation. All rights reserved
Adapter Selected is a LSI SAS: SAS2308_2(D1)
Controller Number : 0
Controller : SAS2308_2(D1)
PCI Address : 00:02:00:00
SAS Address : 500605b-0-06c3-7290
NVDATA Version (Default) : 0f.00.00.03
NVDATA Version (Persistent) : 0f.00.00.03
Firmware Product ID : 0x2214 (IT)
Firmware Version : 15.00.00.00
NVDATA Vendor : LSI
NVDATA Product ID : SAS9207-4i4e
BIOS Version : 07.29.00.00
UEFI BSD Version : 07.22.01.00
FCODE Version : N/A
Board Name : SAS9207-4i4e
Board Assembly : H3-25434-00G
Board Tracer Number : SV32727537
Finished Processing Commands Successfully.
Exiting SAS2Flash.
From the output we can see that the LSI card is at v 15.00. Install the firmware and BIOS using the sas2flash program that was installed from the vib:
# /opt/lsi/bin/sas2flash -o -f /tmp/9207-4i4e.bin -b /tmp/mptsas2.rom
LSI Corporation SAS2 Flash Utility
Version 18.00.0.00 (2013.11.18)
Copyright (c) 2008-2013 LSI Corporation. All rights reserved
Advanced Mode Set
Adapter Selected is a LSI SAS: SAS2308_2(D1)
Executing Operation: Flash Firmware Image
Firmware Image has a Valid Checksum.
Firmware Version 18.00.00.00
Firmware Image compatible with Controller.
Valid NVDATA Image found.
NVDATA Version 11.00.00.00
Checking for a compatible NVData image...
NVDATA Device ID and Chip Revision match verified.
NVDATA Versions Compatible.
Valid Initialization Image verified.
Valid BootLoader Image verified.
Beginning Firmware Download...
Firmware Download Successful.
Verifying Download...
Firmware Flash Successful.
Resetting Adapter...
Adapter Successfully Reset.
Executing Operation: Flash BIOS Image
Validating BIOS Image...
BIOS Header Signature is Valid
BIOS Image has a Valid Checksum.
BIOS PCI Structure Signature Valid.
BIOS Image Compatible with the SAS Controller.
Attempting to Flash BIOS Image...
Verifying Download...
Flash BIOS Image Successful.
Updated BIOS Version in BIOS Page 3.
Finished Processing Commands Successfully.
Exiting SAS2Flash.
Verify that that the card was updated to 18.00:
# /opt/lsi/bin/sas2flash -list
LSI Corporation SAS2 Flash Utility
Version 18.00.0.00 (2013.11.18)
Copyright (c) 2008-2013 LSI Corporation. All rights reserved
Adapter Selected is a LSI SAS: SAS2308_2(D1)
Controller Number : 0
Controller : SAS2308_2(D1)
PCI Address : 00:02:00:00
SAS Address : 500605b-0-06c3-7290
NVDATA Version (Default) : 11.00.00.05
NVDATA Version (Persistent) : 11.00.00.05
Firmware Product ID : 0x2214 (IT)
Firmware Version : 18.00.00.00
NVDATA Vendor : LSI
NVDATA Product ID : SAS9207-4i4e
BIOS Version : 07.35.00.00
UEFI BSD Version : 07.22.01.00
FCODE Version : N/A
Board Name : SAS9207-4i4e
Board Assembly : H3-25434-00G
Board Tracer Number : SV32727537
Finished Processing Commands Successfully.
Exiting SAS2Flash.
Reboot the system:
# esxcli system shutdown reboot -r "Update firmware for LSI"
List the drives attached to the LSI card:
# esxcli storage core device list | egrep -i model
Model: HGST HTS721010A9
Model: Cruzer Fit
Model: M4-CT256M4SSD3 ß SSD drive
Model: vmDisk-CD
Model: ST9500420AS ß HDD drive
Model: ST9500420AS
Take the host out of maintenance mode:
# esxcli system maintenanceMode set -e no
If you want to remove the vib:
# esxcli software vib remove --vibname=vmware-esx-sas2flash
I hope that helps people who need to upgrade their LSI controller firmware.
Akın AKALAN says
well done. good job Duncan !
Josh Townsend says
Thanks for sharing Tom and Duncan. Any idea if the same procedure will work with rebranded LSI cards – say the Super Micro SD series controllers?
Tom Fenton says
It might. There have been a few postings on cross flashing LSI chip enabled cards, none of them said that it “bricked” the card, but….
If you try it and it works for you please let Duncan know.
Kevin Brooksby says
Any idea why my vSphere C# client shows LSI2008 card and devices/disks attached but lspci | grep LSI and esxcfg-scsidevs -a | grep LSI lists nothing at all. Once I install the .vib and run the /opt/lsi/bin/sas2flash -list command I get the error ‘Command Not allowed without an adapter!’
I installed the P19 version of vmware-esx-sas2flash.vib and coorsponding P19 BIOS (2118it.bin and mptsas2.rom from teh LSI website for my 9211-8i HBA ctrl. I use this setup very reliably currently in pass-thru mode to a OmniOS ZFS box so i wonder why ESXi cant see the device from cli, can in fat client, and pass-thru to Illumos OS works like a charm.
Do I have too old of LSI FW on this card to flash via ESXi and need to take the DOS flash to IT mode route?
Please help! 😀
Any takers?
Valentin G says
Big Thanks!