rageek

A place for Unix Thoughts and Ideas

Updating HBA Firmware post patch 145098-02

I recently noticed the following Messages appearing in my message log.

Jan 22 11:07:19 test01.testdomain.com emlxs: [ID 349649 kern.info] [ 1.0340]emlxs0:WARNING:1540: Firmware update required. (A manual HBA reset or link reset (using luxadm or fcadm) is required.)
Jan 22 11:07:21 test01.testdomain.com emlxs: [ID 349649 kern.info] [ 1.0340]emlxs1:WARNING:1540: Firmware update required. (A manual HBA reset or link reset (using luxadm or fcadm) is required.)

After some quick research it appears that the after patch 145098-02, the emlxs driver switched from automatically upgrading the firmware of the hba’s to making it a manual process.

It can be easily upgraded through the following process.

1. Determine device paths
root@test01 # luxadm -e port
/devices/pci@0,600000/pci@0/pci@8/SUNW,emlxs@0/fp@0,0:devctl CONNECTED
/devices/pci@1,700000/pci@0/pci@0/SUNW,emlxs@0/fp@0,0:devctl CONNECTED

2. Disable path in DMP (if applicable)

Determine the controller number
root@test01 # vxdmpadm getctlr
LNAME PNAME VENDOR CTLR-ID
=============================================================================================
c2 /pci@1,700000/pci@0/pci@0/SUNW,emlxs@0/fp@0,0 Emulex 10:00:00:00:c9:8c:0f:a1
c1 /pci@0,600000/pci@0/pci@8/SUNW,emlxs@0/fp@0,0 Emulex 10:00:00:00:c9:8c:5c:74

Disable Path
root@test01 # vxdmpadm disable ctlr=c2

this can be seen in messages file as:
Jan 23 13:37:09 test01.testdomain.com vxdmp: [ID 575547 kern.notice] NOTICE: VxVM vxdmp V-5-0-0 disabled controller /pci@1,700000/pci@0/pci@0/SUNW,emlxs@0/fp@0,0 connected to disk array 18290

3. Reset hba to upgrade firmware
root@test01 # luxadm -e forcelip /devices/pci@1,700000/pci@0/pci@0/SUNW,emlxs@0/fp@0,0:devctl

Jan 23 13:39:34 test01.testdomain.com emlxs: [ID 349649 kern.info] [ 5.0334]emlxs1: NOTICE: 710: Link down.
Jan 23 13:39:38 test01.testdomain.com emlxs: [ID 349649 kern.info] [13.02C0]emlxs1: NOTICE: 200: Adapter initialization. (Firmware update needed. Updating. id=24 fw=4)
Jan 23 13:39:38 test01.testdomain.com emlxs: [ID 349649 kern.info] [ 3.0ECB]emlxs1: NOTICE:1520: Firmware download. (AWC file: KERN: old=1.20a9 new=1.21a0 Update.)
Jan 23 13:39:38 test01.testdomain.com emlxs: [ID 349649 kern.info] [ 3.0EEB]emlxs1: NOTICE:1520: Firmware download. (DWC file: TEST: new=1.02a3 Update.)
Jan 23 13:39:38 test01.testdomain.com emlxs: [ID 349649 kern.info] [ 3.0EFF]emlxs1: NOTICE:1520: Firmware download. (DWC file: STUB: old=2.80a4 new=2.82a4 Update.)
Jan 23 13:39:38 test01.testdomain.com emlxs: [ID 349649 kern.info] [ 3.0F0E]emlxs1: NOTICE:1520: Firmware download. (DWC file: SLI1: old=2.80a4 new=2.82a3 Update.)
Jan 23 13:39:38 test01.testdomain.com emlxs: [ID 349649 kern.info] [ 3.0F1D]emlxs1: NOTICE:1520: Firmware download. (DWC file: SLI2: old=2.80a4 new=2.82a4 Update.)
Jan 23 13:39:38 test01.testdomain.com emlxs: [ID 349649 kern.info] [ 3.0F2C]emlxs1: NOTICE:1520: Firmware download. (DWC file: SLI3: old=2.80a4 new=2.82a4 Update.)
Jan 23 13:39:54 test01.testdomain.com emlxs: [ID 349649 kern.info] [ 3.0143]emlxs1: NOTICE:1521: Firmware download complete. (Status good.)
Jan 23 13:39:59 test01.testdomain.com emlxs: [ID 349649 kern.info] [ 5.055E]emlxs1: NOTICE: 720: Link up. (2Gb, fabric, initiator)

4. re-enable path in DMP (if applicable)
root@test01 # vxdmpadm enable ctlr=c2
Jan 23 13:41:44 test01.testdomain.com vxdmp: [ID 575547 kern.notice] NOTICE: VxVM vxdmp V-5-0-0 enabled controller /pci@1,700000/pci@0/pci@0/SUNW,emlxs@0/fp@0,0 connected to disk array 18290

5. Double check that all paths recovered in dmp.

root@test01 # vxdmpadm getdmpnode
NAME STATE ENCLR-TYPE PATHS ENBL DSBL ENCLR-NAME
==============================================================================
hitachi_usp-v0_1063 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0
hitachi_usp-v0_1064 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0
hitachi_usp-v0_1065 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0
hitachi_usp-v0_1066 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0
hitachi_usp-v0_1067 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0
hitachi_usp-v0_1068 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0
hitachi_usp-v0_1069 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0

6. Repeat steps 4-5 on the remaining HBA
root@test01 # vxdmpadm disable ctlr=c1
root@test01 # luxadm -e forcelip /devices/pci@0,600000/pci@0/pci@8/SUNW,emlxs@0/fp@0,0:devctl
root@test01 # vxdmpadm enable ctlr=c1

root@test01 # vxdmpadm getdmpnode
NAME STATE ENCLR-TYPE PATHS ENBL DSBL ENCLR-NAME
==============================================================================
hitachi_usp-v0_1063 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0
hitachi_usp-v0_1064 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0
hitachi_usp-v0_1065 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0
hitachi_usp-v0_1066 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0
hitachi_usp-v0_1067 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0
hitachi_usp-v0_1068 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0
hitachi_usp-v0_1069 ENABLED Hitachi_USP-V 2 2 0 hitachi_usp-v0

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: