HBA firmware upgrades on Solaris servers.
HBA firmware upgrades on Solaris servers.
In continuation to pre works for storage migration, herein I will be presenting HBA Firmware upgrades on Solaris servers (using Emulex & Lpfc utilities).
We will be upgrading HBA Firmware from version 2.72a2 to 2.82a4 for HBA Model Model: LPe11002-M4 (The procedure for all model will remain same).
1.) Before proceeding with any upgrades, always run an explorer and EMCgrub utility on the server to collect existing server outputs as this
upgrade requires server to be rebooted.
Note: a.) Some useful files which needs to be backed up before proceeding:
# cd /var/tmp/yogesh-upgrade
# /etc/powermt version > powermt_version
# /etc/powermt display dev=all > powermt_display
# echo | format > format.out
# df -k > df -k.out
# cp -p /etc/system /etc/system.date
# cp –p /kernel/drv/sd.conf sd.conf.date
# cp -p /kernel/drv/lpfc.conf lpfc.conf.date
# cp –p /kernel/drv/fp.conf /kernel/drv/fp.conf.date
# cp –p /kernel/drv/st.conf /kernel/drv/st.conf.date
# cp –p /etc/name_to_major /etc/name_to_major.date
# cp –p /kernel/drv/emcp.conf /kernel/drv/emcp.conf.date
# ls –l /devices/pseudo | grep -v root > pseudo_ownership
# pkginfo -l EMCpower > emc_version
# modinfo | grep emcp > /var/tmp/emp_modinfo
# /etc/emcpreg –list > emc_key
b.) Take a snap shots of all the devices (/dev/dsk, /dev/rdsk & /devices/pseudo) using “ls –l” (get all information on ownership/permission for these devices)
c.) Download all the recommended HBA firmware version packages and keep them in the server (under any directory say /var/tmp/yogesh-upgrade/software or
/var/tmp/
2.) Check and verify the current HBA firmware version by using:
yogesh-test# fcinfo hba-port (fcinfo only work in Solaris 10, for rest of the version best practise is to use emulex or lpfc utilities).
HBA Port WWN: 10000000c98265be
OS Device Name: /dev/cfg/c1
Manufacturer: Emulex
Model: LPe11002-M4
Firmware Version: 2.72a2 (Z3F2.72A2) ————> Current firware version.
FCode/BIOS Version: Boot:5.03a0 Fcode:3.01a1
Serial Number: BT84545214
Driver Name: emlxs
Driver Version: 2.50o (2010.01.08.09.45)
Type: N-port
State: online
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: 4Gb
Node WWN: 20000000c98265be
HBA Port WWN: 10000000c98265bf
OS Device Name: /dev/cfg/c2
Manufacturer: Emulex
Model: LPe11002-M4
Firmware Version: 2.72a2 (Z3F2.72A2) ————> Current firware version.
FCode/BIOS Version: Boot:5.03a0 Fcode:3.01a1
Serial Number: BT84545214
Driver Name: emlxs
Driver Version: 2.50o (2010.01.08.09.45)
Type: unknown
State: offline
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: not established
Node WWN: 20000000c98265bf
HBA Port WWN: 10000000c9826720
OS Device Name: /dev/cfg/c3
Manufacturer: Emulex
Model: LPe11002-M4
Firmware Version: 2.72a2 (Z3F2.72A2) ————> Current firware version.
FCode/BIOS Version: Boot:5.03a0 Fcode:3.01a1
Serial Number: BT84545379
Driver Name: emlxs
Driver Version: 2.50o (2010.01.08.09.45)
Type: N-port
State: online
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: 4Gb
Node WWN: 20000000c9826720
HBA Port WWN: 10000000c9826721
OS Device Name: /dev/cfg/c4
Manufacturer: Emulex
Model: LPe11002-M4
Firmware Version: 2.72a2 (Z3F2.72A2) ————> Current firware version.
FCode/BIOS Version: Boot:5.03a0 Fcode:3.01a1
Serial Number: BT84545379
Driver Name: emlxs
Driver Version: 2.50o (2010.01.08.09.45)
Type: unknown
State: offline
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: not established
Node WWN: 20000000c9826721Upgrade using Emulex utility:
a.) use emlxadm to upgrade the HBA firmware, below is the complete process. (for this Emulex package should be installed there in the server)
yogesh-test# cd /opt/EMLXemlxu/bin
yogesh-test# /opt/EMLXemlxu/bin# ./emlxadm
EMLXADM Device Management Utility, Version 1.00r
COPYRIGHT © 2004-2006 Emulex. All rights reserved.
Available HBA’s:
1. /devices/pci@0,600000/pci@0/pci@9/lpfc@0/fp@0,0:devctl (CONNECTED)
2. /devices/pci@0,600000/pci@0/pci@9/lpfc@0,1/fp@0,0:devctl (NOT CONNECTED)
3. /devices/pci@1,700000/lpfc@0/fp@0,0:devctl (CONNECTED)
4. /devices/pci@1,700000/lpfc@0,1/fp@0,0:devctl (NOT CONNECTED)Enter an HBA number or zero to exit: 1
HBA: /devices/pci@0,600000/pci@0/pci@9/lpfc@0/fp@0,0:devctl
Available commands: [rev2]
get_num_devs – Returns the number of FC devices seen by this HBA.
get_dev_list – Returns a list of FC devices seen by this HBA.
get_logi_params– Returns the login paramters for a specified FC device.
get_host_params – Return the host parameters.
get_sym_pname – Returns the symbolic port name of a device.
set_sym_pname– Sets the symbolic port name for a device.
get_sym_nname – Returns the symbolic node name of a device.
set_sym_nname– Sets the symbolic node name for a device.
dev_login– Performs an FC login to a device.
dev_logout– Performs an FC logout to a device.
get_state– Returns current Leadville state of a specified device.
dev_remove– Remove the FC device from Leadville management.
link_status– Request link error status from a specified D_ID.
get_fcode_rev – Returns the current Fcode revison of the HBA.
download_fcode [filename] – Download the HBA fcode.
get_fw_rev – Returns the current firmware revison of the HBA.
download_fw [filename] – Download the HBA firmware.
get_boot_rev * Returns the current boot revison of the HBA.
download_boot [filename] * Download the HBA boot image.
get_dump_size – Returns the HBA’s firmware core dump size.
force_dump – Force a firmware core dump on this HBA.
get_dump <-t,-b>– Saves firmware core dump to a file.
get_topology – Returns the current FC network topology.
reset_link– Resets the link of a specified FC device.
reset_hard – Reset the HBA.
reset_hard_core – Reset the HBA firmware core.
diag– Perform a diagnostic test on the HBA.
ns – Performs a complete query of the fabric name server.
parm_get_num * Returns the total number of configurable parameters.
parm_get_list * Returns a list of configurable parameters.
parm_getemlxadm> download_fw /var/tmp/zf282a4.all (/var/tmp/ is the location where Firware version (zf282a4.all) has been kept after downloading)
Image Components: NOP type
AWC file: KERN: version=ffe01250, 1.21a0
DWC file: SLI2: version=07e12894, 2.82a4
DWC prog: TEST: version=00f61093, 1.02a3
DWC prog: STUB: version=02e82894, 2.82a4
DWC prog: SLI1: version=06e12893, 2.82a3
DWC prog: SLI2: version=07e12894, 2.82a4
DWC prog: Unknown: version=0be12894, 2.82a4
Current: Firmware: 2.72a2
New: Firmware: 2.82a4 586664 (0x8f3a8) bytes
Are you sure you want to download this image? (y or n): y
Downloading…
Done.
emlxadm>emlxadm> hba
Available HBA’s:
1. /devices/pci@0,600000/pci@0/pci@9/lpfc@0/fp@0,0:devctl (CONNECTED)
2. /devices/pci@0,600000/pci@0/pci@9/lpfc@0,1/fp@0,0:devctl (NOT CONNECTED)
3. /devices/pci@1,700000/lpfc@0/fp@0,0:devctl (CONNECTED)
4. /devices/pci@1,700000/lpfc@0,1/fp@0,0:devctl (NOT CONNECTED)
PLEASE PROCEED WITH THE SAME STEPS FOR ALL OF THE LISTED HBA’S (1,2,3,4) DESPITE THEY ARE IN CONNECTED STATE OR NOT CONNECTED STATE AND THEN QUIT FROM THIS UTILITY.
After this we have to perform RECONFIGURE REBOOT. {reboot –- -r}
OR
b.) Do a reconfig reboot to the server.
yogesh-test# init 0
At OK> boot -r
c.) Finally check the HBA firmware versions:
yogesh-test# fcinfo hba-port
HBA Port WWN: 10000000c98265be
OS Device Name: /dev/cfg/c1
Manufacturer: Emulex
Model: LPe11002-M4
Firmware Version: 2.82a4 (Z3F2.82A4) ————> upgraded firware version.
FCode/BIOS Version: Boot:5.03a0 Fcode:3.01a1
Serial Number: BT84545214
Driver Name: emlxs
Driver Version: 2.50o (2010.01.08.09.45)
Type: N-port
State: online
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: 4Gb
Node WWN: 20000000c98265be
HBA Port WWN: 10000000c98265bf
OS Device Name: /dev/cfg/c2
Manufacturer: Emulex
Model: LPe11002-M4
Firmware Version: 2.82a4 (Z3F2.82A4) ————> upgraded firware version.
FCode/BIOS Version: Boot:5.03a0 Fcode:3.01a1
Serial Number: BT84545214
Driver Name: emlxs
Driver Version: 2.50o (2010.01.08.09.45)
Type: unknown
State: offline
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: not established
Node WWN: 20000000c98265bf
HBA Port WWN: 10000000c9826720
OS Device Name: /dev/cfg/c3
Manufacturer: Emulex
Model: LPe11002-M4
Firmware Version: 2.82a4 (Z3F2.82A4) ————> upgraded firware version.
FCode/BIOS Version: Boot:5.03a0 Fcode:3.01a1
Serial Number: BT84545379
Driver Name: emlxs
Driver Version: 2.50o (2010.01.08.09.45)
Type: N-port
State: online
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: 4Gb
Node WWN: 20000000c9826720
HBA Port WWN: 10000000c9826721
OS Device Name: /dev/cfg/c4
Manufacturer: Emulex
Model: LPe11002-M4
Firmware Version: 2.82a4 (Z3F2.82A4) ————> upgraded firware version.
FCode/BIOS Version: Boot:5.03a0 Fcode:3.01a1
Serial Number: BT84545379
Driver Name: emlxs
Driver Version: 2.50o (2010.01.08.09.45)
Type: unknown
State: offline
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: not established
Node WWN: 20000000c9826721
3.) Upgrade using LPFC utility:
a.) use LPFC to upgrade the HBA firmware, below is the complete process. (for this LPFC/HBAanyware package should be installed there in the server)
Note: Here only two HBA’s are present in the server.
yogesh-test# cd /usr/sbin/lpfc
yogesh-test#/usr/sbin/lpfc # ./lputil
LightPulse Common Utility for Solaris/SPARC. Version 2.0a13 (1/3/2006).
Copyright (c) 2005, Emulex CorporationEmulex Fibre Channel Host Adapters Detected: 2
Host Adapter 0 (lpfc0) is an LPe11002-M4 (Ready Mode)
Host Adapter 1 (lpfc1) is an LPe11002-M4 (Ready Mode)MAIN MENU
1. List Adapters
2. Adapter Information
3. Firmware Maintenance
4. Reset Adapter
5. Persistent Bindings0. Exit
Enter choice => 1
Host Adapter 0 (lpfc0) is an LPe11002-M4 (Ready Mode) First
Host Adapter 1 (lpfc1) is an LPe11002-M4 (Ready Mode) SecondMAIN MENU
1. List Adapters
2. Adapter Information
3. Firmware Maintenance
4. Reset Adapter
5. Persistent Bindings0. Exit
Enter choice => 3
0. lpfc0
1. lpfc1Select an adapter => 0 —–>SELECT FIRST HBA
FIRMWARE MAINTENANCE MENU
1. Load Firmware Image —–>Download Image
2. Display AWC File Contents
3. Display Flash Load List
4. Display RAM Load List
5. Load PCI Configuration File
6. Boot BIOS Maintenance0. Return to Main Menu
Enter choice => 1
Enter Image Filename —–>/var/tmp/zf282a4.all
Opening File…
End Of File
Checksum OK!!!
Reading AIF Header #1…
Validating Checksum…
Erasing Flash ROM Sectors…
100% complete
Loading Image…
First Download
100% complete
Image Successfully Downloaded…
Reading AIF Header #2…
Validating Checksum…
Erasing Flash ROM Sectors…
100% complete
Loading Image…
First Download
100% complete
Updating Wakeup Parameters…
Image Successfully Downloaded…
Reading AIF Header #3…
End Of File
Resetting Host Adapter…
Image Successfully Downloaded…FIRMWARE MAINTENANCE MENU
1. Load Firmware Image
2. Display AWC File Contents
3. Display Flash Load List
4. Display RAM Load List
5. Load PCI Configuration File
6. Boot BIOS Maintenance0. Return to Main Menu
Enter choice => 0
MAIN MENU
1. List Adapters
2. Adapter Information
3. Firmware Maintenance
4. Reset Adapter
5. Persistent Bindings0. Exit
Enter choice => 3
0. lpfc0
1. lpfc1Select an adapter —–>1 —–> SELECT SECOND HBA
FIRMWARE MAINTENANCE MENU
1. Load Firmware Image
2. Display AWC File Contents
3. Display Flash Load List
4. Display RAM Load List
5. Load PCI Configuration File
6. Boot BIOS Maintenance0. Return to Main Menu
Enter choice —–> 1
Enter Image Filename —–>/var/tmp/zf282a4.all
Opening File…
End Of File
Checksum OK!!!
Reading AIF Header #1…
Validating Checksum…
Erasing Flash ROM Sectors…
100% complete
Loading Image…
First Download
100% complete
Image Successfully Downloaded…
Reading AIF Header #2…
Validating Checksum…
Erasing Flash ROM Sectors…
100% complete
Loading Image…
First Download
100% complete
Updating Wakeup Parameters…
Image Successfully Downloaded…
Reading AIF Header #3…
End Of File
Resetting Host Adapter…
Image Successfully Downloaded…FIRMWARE MAINTENANCE MENU
1. Load Firmware Image
2. Display AWC File Contents
3. Display Flash Load List
4. Display RAM Load List
5. Load PCI Configuration File
6. Boot BIOS Maintenance0. Return to Main Menu
Enter choice => 0
MAIN MENU
1. List Adapters
2. Adapter Information
3. Firmware Maintenance
4. Reset Adapter
5. Persistent Bindings
0. Exit
Enter choice => 0
After this we have to perform RECONFIGURE REBOOT. {reboot –- -r}
OR
b.) Do a reconfig reboot to the server.
yogesh-test# init 0
At OK> boot -r
c.) Finally check the HBA firmware versions:
yogesh-test# fcinfo hba-port
HBA Port WWN: 10000000c98265be
OS Device Name: /dev/cfg/c1
Manufacturer: Emulex
Model: LPe11002-M4
Firmware Version: 2.82a4 (Z3F2.82A4) ————> upgraded firware version.
FCode/BIOS Version: Boot:5.03a0 Fcode:3.01a1
Serial Number: BT84545214
Driver Name: emlxs
Driver Version: 2.50o (2010.01.08.09.45)
Type: N-port
State: online
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: 4Gb
Node WWN: 20000000c98265be
HBA Port WWN: 10000000c98265bf
OS Device Name: /dev/cfg/c2
Manufacturer: Emulex
Model: LPe11002-M4
Firmware Version: 2.82a4 (Z3F2.82A4) ————> upgraded firware version.
FCode/BIOS Version: Boot:5.03a0 Fcode:3.01a1
Serial Number: BT84545214
Driver Name: emlxs
Driver Version: 2.50o (2010.01.08.09.45)
Type: unknown
State: offline
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: not established
Node WWN: 20000000c98265bf
HBA Port WWN: 10000000c9826720
OS Device Name: /dev/cfg/c3
Manufacturer: Emulex
Model: LPe11002-M4
Firmware Version: 2.82a4 (Z3F2.82A4) ————> upgraded firware version.
FCode/BIOS Version: Boot:5.03a0 Fcode:3.01a1
Serial Number: BT84545379
Driver Name: emlxs
Driver Version: 2.50o (2010.01.08.09.45)
Type: N-port
State: online
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: 4Gb
Node WWN: 20000000c9826720
HBA Port WWN: 10000000c9826721
OS Device Name: /dev/cfg/c4
Manufacturer: Emulex
Model: LPe11002-M4
Firmware Version: 2.82a4 (Z3F2.82A4) ————> upgraded firware version.
FCode/BIOS Version: Boot:5.03a0 Fcode:3.01a1
Serial Number: BT84545379
Driver Name: emlxs
Driver Version: 2.50o (2010.01.08.09.45)
Type: unknown
State: offline
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: not established
Node WWN: 20000000c9826721Note – A. Check all the devices path status (/etc/powermt display dev=all).
Note – B. Dont forget to check lpfc.conf and sd.conf files after HBA firmware upgrades.
I will cover the VXVM upgrades in my next posts and then we will proceed with the actual Storage migration methods.:-)








17 Comments on “HBA firmware upgrades on Solaris servers.”
good one, yogesh.
Nice one Yogesh
Thanks yogesh , nice post !!
Upgrading firmware looks to be very simple after reading this artical.Thanks Yogesh.. Good artical…
@Manjunath, thanks mate…but always keep a copy of lpfc.conf if you are doing upgrades using lpfc utility. Bzu u need to amend new WWN no. there and then proceed with reconfig reboot.
Thanks Yogesh…
Good post Yogesh
Thanks @Pratap
Yogesh.. i am gr8ful thanks to you. it`s really helped me a lot. Keep Rocking Yogesh.
@Reddy, Its always been an pleasure. Its nice to see that our posts are helping you champs. Thanks Again.
Now it is very simple….. thanks Yogesh Bhai.
@Manzoor Bhai, you are always Welcome.
very good post. Thanks Yogesh…
Valuable topics and easy understatning
Ayyappan, welcome to gurkulindia’s unixadminschool.Thanks for the comment
Very useful post. Can you please explain the HBA Firmware upgrade process in Linux
@Prajwala, sure. Whenever I will get a test Linux box I will capture it and post it for you.