Introduction
This document describes the procedure to update the firmware of the Emulex HBA card that is part of a Cisco C880 M4 server.
Prerequisites
Requirements
Cisco recommends that you have knowledge of these topics:
- I/O activity on the bus is stopped
- SAP HANA instance is stopped
Components Used
The information in this document is based on the Emulex HBA card installed in a Cisco C880 M4 v2 server that runs RedHat Enterprise Linux (RHEL) as the operating system.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your server is live, make sure that you understand the potential impact of any command.
Related Products
This document can also be used with this hardware and software:
- SUSE Linux Enterprise for SAP Applications Operating System- Ensure to use the SUSE specific files were appropriate.
- Cisco C880 M4 v3 server- Ensure to download the v3 specific firmware package.
Warning: If the Emulex card is re-branded from a third party vendor such as HP, you must obtain the firmware from the third party vendor. If you update the Emulex firmware directly from Emulex, it might void the support/warranty of the product and can cause hardware failure.
Procedure
Before you perform the actual firmware update, download the firmware package from cisco.com, upload the necessary files to the Cisco C800 M4 server and verify if the driver and OneCommand Manager are up to date.
Step 1. Download the latest firmware package from cisco.com and extract it to your local PC.
For C880 M4 v2 (IvyBridge): Download Software
For C880 M4 v3 (Haswell): Download Software
Note: The software package contains additionally firmware software for the Cisco C880 M4 server as well. To update those components is not covered in this document.
Step 2. Locate these files and transfer them to the /tmp folder of your Cisco C880 M4 server.
./Driver/Emulex/Firmware/FTS_UniversalBootandFWMCFC162EandLPe1600xfrom_10619322_1145685.GRP
./Driver/Emulex/Emulex_RHEL/FTS_EmulexOneCommandManagerforLinuxRHEL567R_102405101_1116465.zip
./Driver/Emulex/Emulex_RHEL/FTS_RHDUPdriverpackagelpfcforRHEL65_1024052610_1122818.zip
Note: Beware of the file names referenced that belong to the firmware package 1.0.4 version of the Cisco C880 M4 v2 server. The names will change slightly. It depends on the firmware release you like to apply.
Step 3. Ensure the OneCommand Manager (OCM) software is installed.
Log in to the server as root and verify which version of OneCommand Manager is installed:
# rpm -qa | grep ocm
elxocmlibhbaapi-10.2.405.10-1.x86_64
elxocmgui-10.2.405.10-1.x86_64
elxocmcorelibs-10.2.405.10-1.x86_64
elxocmjvm-10.2.405.10-1.x86_64
elxocmlibhbaapi-32bit-10.2.405.10-1.x86_64
elxocmcore-10.2.405.10-1.x86_64
In this example, you see that OCM version 10.2.405.10-1 is installed. Check whether a more recent version is available in the OCM package you transferred before:
# cd /tmp
# unzip -t FTS_EmulexOneCommandManagerforLinuxRHEL567R_102405101_1116465.zip
Archive: FTS_EmulexOneCommandManagerforLinuxRHEL567R_102405101_1116465.zip
testing: elxocm-rhel5-rhel6-rhel7-10.2.405.10-1.tgz OK
testing: elxocmcore-rhel5-rhel6-rhel7-10.2.405.10-1.tgz OK
If the version numbers in the file names are the same, proceed to step 4, otherwise it is recommended to update to the most recent release:
# cd /tmp
# unzip FTS_EmulexOneCommandManagerforLinuxRHEL567R_102405101_1116465.zip
# tar xzf elxocm-rhel5-rhel6-rhel7-10.2.405.10-1.tgz
# cd elxocm-rhel5-rhel6-rhel7-10.2.405.10-1
# ./install.sh
Step 4. Verify which version of the Emulex driver is currently installed on the system.
Verify which Emulex driver version is currently installed on the server:
# rpm -qa | grep lpfc
kmod-lpfc-10.2.405.26-1.x86_64
primergy-lpfc-10.2.405.26-1.x86_64
In this example, you see that driver version 10.2.405.26-1 is installed. Check whether a more recent version is available in the OCM package you transferred before:
# unzip -t FTS_RHDUPdriverpackagelpfcforRHEL65_1024052610_1122818.zip
Archive: FTS_RHDUPdriverpackagelpfcforRHEL65_1024052610_1122818.zip
testing: addon_iOW5ie/LicenseReadme.txt OK
testing: addon_iOW5ie/lpfc-10.2.405.26-1-000.i386.iso OK
testing: addon_iOW5ie/lpfc-10.2.405.26-1-000.x86_64.iso OK
If the version numbers are the same proceed with the next section. Otherwise it is recommended to update to the most recent 64bit driver release first:
# cd /tmp
# unzip FTS_RHDUPdriverpackagelpfcforRHEL65_1024052610_1122818.zip
# mount -o loop addon_iOW5ie/lpfc-10.2.405.26-1-000.x86_64.iso /mnt
# cd /mnt
# rpm -Uvh *.rpm
Verify the Firmware Release
Use this section to confirm that your configuration works properly.
With the use of the OneCommand Manager CLI, obtain a list of the port WWNs used by the HBA. Verify the current firmware version and select at least one of the WWN from the list:
# /usr/sbin/ocmanager/hbacmd listhba | grep 'Port WWN'
Port WWN : 10:00:00:90:fa:73:2f:6a
Port WWN : 10:00:00:90:fa:73:2f:6b
Port WWN : 10:00:00:90:fa:53:83:58
Port WWN : 10:00:00:90:fa:53:83:59
# /usr/sbin/ocmanager/hbacmd hbaattributes 10:00:00:90:fa:73:2f:6a |grep FW
FW Version : 1.1.43.202
Operational FW : 1.1.43.202
Service Processor FW Name : 1.1.43.202
ULP FW Name : 1.1.43.202
The firmware revision is available on the command line without OCM as well:
# cat /sys/class/scsi_host/host*/fwrev
1.1.43.202, sli-4:2:b
1.1.43.202, sli-4:2:b
1.1.43.202, sli-4:2:b
1.1.43.202, sli-4:2:b
Update the Firmware Release
Note: Alternatively, the update procedure can be performed with the use of the GUI of the OneCommand Manager too. It is recommended to run the OCM GUI in a X-window system. To start the GUI use the /usr/sbin/ocmanager/ocmanager command.
First get the list of all the WWN:
# /usr/sbin/ocmanager/hbacmd listhba | grep 'Port WWN'
Port WWN : 10:00:00:90:fa:73:2f:6a
Port WWN : 10:00:00:90:fa:73:2f:6b
Port WWN : 10:00:00:90:fa:53:83:58
Port WWN : 10:00:00:90:fa:53:83:59
Next, run the hbacmd command to install the firmware and BootCode. Replace the WWN in these commands with the ones of your system (cfr. the output of the command):
# /usr/sbin/ocmanager/hbacmd download 10:00:00:90:fa:73:2f:6a /tmp/FTS_UniversalBootandFWMCFC162EandLPe1600xfrom_10619322_1145685.GRP
# /usr/sbin/ocmanager/hbacmd download 10:00:00:90:fa:73:2f:6b /tmp/FTS_UniversalBootandFWMCFC162EandLPe1600xfrom_10619322_1145685.GRP
# /usr/sbin/ocmanager/hbacmd download 10:00:00:90:fa:53:83:58 /tmp/FTS_UniversalBootandFWMCFC162EandLPe1600xfrom_10619322_1145685.GRP
# /usr/sbin/ocmanager/hbacmd download 10:00:00:90:fa:53:83:59 /tmp/FTS_UniversalBootandFWMCFC162EandLPe1600xfrom_10619322_1145685.GRP
Finally reboot the system to activate the firmware.
When the system is available again, confirm the update was successful and verify the current version of the firmware again:
# /usr/sbin/ocmanager/hbacmd hbaattributes 10:00:00:90:fa:73:2f:6a |grep FW
FW Version : 10.6.193.22
Operational FW : 10.6.193.22
Service Processor FW Name : 10.6.193.22
ULP FW Name : 10.6.193.22
# cat /sys/class/scsi_host/host*/fwrev
10.6.193.22, sli-4:2:b
10.6.193.22, sli-4:2:b
10.6.193.22, sli-4:2:b
10.6.193.22, sli-4:2:b
Now, it is time to clean up the /tmp directory from the files we copied and extracted:
# cd /tmp
# rm FTS_UniversalBootandFWMCFC162EandLPe1600xfrom_10619322_1145685.GRP
# rm FTS_EmulexOneCommandManagerforLinuxRHEL567R_102405101_1116465.zip
# rm FTS_RHDUPdriverpackagelpfcforRHEL65_1024052610_1122818.zip
# rm elxocm-rhel5-rhel6-rhel7-10.2.405.10-1.tgz
# rm elxocmcore-rhel5-rhel6-rhel7-10.2.405.10-1.tgz
# rm -rf addon_iOW5ie
# rm -rf elxocm-rhel5-rhel6-rhel7-10.2.405.10-1
Troubleshoot
There is currently no specific troubleshooting information available for this configuration.