IBM Support

How to update or upgrade Power Servers firmware code from HMC command line (CLI)

How To


Summary

This document provides a guide for how to perform code update on your Power Server from command line. Admins can take advantage of the command line to perform code update with ease using scripts and multiple command executions.

Objective

Ease of use from command line (CLI) to perform code update or upgrade for single or multiple systems.

Environment

Any HMC Version 9 or Version 10 HMC
Any HMC Version 8 or lower (most commands will apply)

Steps

Verify the HMC is at a level (with command lshmc -V) that is equal to or greater than the firmware desired to install prior to performing the following steps.
Concurrent Code Update contents

OPTION ONE: UPDATE WITHIN A RELEASE (CONCURRENT):

1.    System readiness check:
updlic -m <MT-M*S> -o k –v; echo $?
Example eBMC command:
updlic -m 9105-42A*13BEA00 -o k –v; echo $?
Example output for eBMC systems:
16:24:34 UTC: 9105-42A*13BEA00: BMC - Update complete
0 = success
[any other] = failure

Example command for an FSP based system:
updlic -m 9080-HEX*0212345 -o k –v; echo $?
Example output:
0 = success
[any other] = failure
2.    Verify levels that are installable and client desired level is in the list and concurrent:
lslic -m <MT-M*S> -r ibmwebsite -l update
Example command eBMC:
lslic -m 9105-42A*13BEA00 -r ibmwebsite -l update
Example output eBMC:
lic_type=Managed System,ecnumber=01ML1020,level=085,concurrency=Concurrent
lic_type=Managed System,ecnumber=01ML1020,level=079,concurrency=Disruptive

Example command for an FSP based system:
lslic -m 9080-HEX*0212345 -r ibmwebsite -l update
Example output: (Use the firmware table in the beginning of this document to translate customer requested level to the below output)
lic_type=Power Subsystem,ecnumber=01MH1010,level=146,spname=FW1010.40,concurrency=Concurrent
lic_type=Power Subsystem,ecnumber=01MH1010,level=140,spname=FW1010.34,concurrency=Disruptive
lic_type=Power Subsystem,ecnumber=01MH1010,level=135,spname=FW1010.32,concurrency=Disruptive
lic_type=Power Subsystem,ecnumber=01MH1010,level=122,spname=FW1010.22,concurrency=Disruptive
lic_type=Power Subsystem,ecnumber=01MH1010,level=120,spname=FW1010.21,concurrency=Disruptive
lic_type=Power Subsystem,ecnumber=01MH1010,level=117,spname=FW1010.20,concurrency=Disruptive
lic_type=Power Subsystem,ecnumber=01MH1010,level=94,spname=FW1010.10,concurrency=Disruptive
lic_type=Power Subsystem,ecnumber=01MH1010,level=75,spname=FW1010.02,concurrency=Disruptive
lic_type=Power Subsystem,ecnumber=01MH1010,level=69,spname=FW1010.01,concurrency=Disruptive
lic_type=Power Subsystem,ecnumber=01MH1010,level=64,spname=FW1010.00,concurrency=Disruptive
3.   Concurrency check within a release check for specific level:
updlic -m <MT-M*S> -o a -t sys -l <level> -r ibmwebsite –q –v
Example command eBMC:
updlic -m 9105-42A*13BEA00 -o a -t sys -l 085 -r ibmwebsite -q -v
Example output eBMC:
20:43:24 UTC: 9105-42A*13BEA00: Retrieving updates.
20:43:40 UTC: 9105-42A*13BEA00: BMC - Update complete
mtms=9105-42A*13BEA00,ecnumber=01ML1020,level=085,concurrency=All can be concurrently activated.
Example command for a FSP based system:
updlic -m 9080-HEX*0212345 -o a -t sys -l 146 -r ibmwebsite –q –v
Example output:
mtms=9080-HEX*0212345,ecnumber=01MH1010,level=146,concurrency=All can be concurrently activated.
 
4.   Pull to staging:
updlic -m <MT-M*S> -o a -t sys -r ibmwebsite –l <level> --importonly –v

Example command eBMC:
updlic -m 9105-42A*13BEA00 -o a -t sys -r ibmwebsite -l 085 --importonly -v
Example output eBMC:
16:29:30 UTC: 9105-42A*13BEA00: Retrieving updates.
16:29:44 UTC: 9105-42A*13BEA00: Current profile data backup files have been copied: 9105-42A*13BEA00: /var/hsc/profiles/13BEA00/backupFile_FirmwareUpdate
16:30:22 UTC: 9105-42A*13BEA00: BMC - Update complete

Example command:
updlic -m 9080-HEX*0212345 -o a -t sys -r ibmwebsite –l 146 --importonly –v
Example output:
22:01:49 UTC: 9080-HEX*0212345: Retrieving updates.
22:01:49 UTC: 9080-HEX*0212345: Managed System Primary - Retrieving updates.
22:01:49 UTC: 9080-HEX*0212345: Managed System Secondary - Retrieving updates.
22:02:39 UTC: 9080-HEX*0212345: Managed System Primary - Completed All Updates.

Unknown output type ‘’ from command updlic for message ‘’ (0x) - <<<< Ignore this error if it occurs
BEGIN THE ACTUAL UPDATE: 
1.     Re-verify concurrency
updlic -m <MT-M*S> -o a -t sys –r disk –l <level> –q –v
Example command eBMC:
updlic -m 9105-42A*13BEA00 -o a -t sys -r disk -l 085 -q -v
Example output eBMC:
20:47:08 UTC: 9105-42A*13BEA00: Retrieving updates.
20:47:09 UTC: 9105-42A*13BEA00: BMC - Update complete
mtms=9105-42A*13BEA00,ecnumber=01ML1020,level=085,concurrency=All can be concurrently activated.

Example command for an FSP based system:
updlic -m 9080-HEX*0212345 -o a -t sys -r disk –l 146 –q –v
Example output:
All can be concurrently activated.
2.     Run code update from staging:
updlic -m <MT-M*S> -o a -t sys -r disk –l <level> –v
Example command eBMC:
updlic -m 9105-42A*13BEA00 -o a -t sys -r disk -l 085 –v
Example output eBMC (Check for deferred fixes):
20:48:32 UTC: 9105-42A*13BEA00: Retrieving updates.
20:48:33 UTC: 9105-42A*13BEA00: Current profile data backup files have been copied:
9105-42A*13BEA00: /var/hsc/profiles/13BEA00/backupFile_FirmwareUpdate
20:48:33 UTC: 9105-42A*13BEA00: Performing update for BMC firmware on 9105-42A*13BEA00
20:48:33 UTC: 9105-42A*13BEA00: BMC - Installing update image 01ML1020_085_079.tar
20:50:19 UTC: 9105-42A*13BEA00: BMC - Updating firmware, percent complete 100
20:50:20 UTC: 9105-42A*13BEA00: BMC - Activating firmware
20:50:20 UTC: 9105-42A*13BEA00: BMC - Waiting up to 30 minutes for the reboot operation to complete
20:52:31 UTC: 9105-42A*13BEA00: BMC - HSCF0025I Activating updates - PHYP.
20:52:33 UTC: 9105-42A*13BEA00: BMC - Waiting up to 60 minutes for the hypervisor activation operation to complete
20:53:40 UTC: 9105-42A*13BEA00: BMC - Update complete
HSCF0053I The following deferred fixes are present in the fix pack. Deferred fixes will be activated after the next IPL of the system.
An immediate IPL is not required, unless you want to activate one of the fixes below now.Support was added to the eBMC ASMI 

Example command:
updlic -m 9080-HEX*0212345 -o a -t sys -r disk –l 146 –v
Disruptive Update Within a Release contents
OPTION TWO: UPDATE WITHIN A RELEASE (DISRUPTIVE):
1.    System readiness check:
updlic -m <MT-M*S> -o k –v
Example command:
updlic -m 9080-HEX*0212345 -o k –v; echo $?
Example output:
0 = success
[any other] = failure
2.    Verifying levels that are installable and client desired level is in the list and disruptive as expected:
lslic -m <MT-M*S> -r ibmwebsite -l update
Example command:
lslic -m 9080-HEX*0212345 -r ibmwebsite -l update
Example output:
lic_type=Power Subsystem,ecnumber=01MH1010,level=146,spname=FW1010.40,concurrency=Concurrent
lic_type=Power Subsystem,ecnumber=01MH1010,level=140,spname=FW1010.34,concurrency=Disruptive
lic_type=Power Subsystem,ecnumber=01MH1010,level=135,spname=FW1010.32,concurrency=Disruptive
3.    Check that the updates are disruptive as expected:
updlic -m <MT-M*S> -o a -t sys -l <level> -r ibmwebsite –q –v
Example command:
updlic -m 9080-HEX*0212345 -o a -t sys -l 140 -r ibmwebsite –q –v
Example output:
All updates are disruptive.
4.    Check the state of the system
lssyscfg -r sys -Fname:type_model:serial_num:state | grep <serial>
Example command:

lssyscfg -r sys -Fname:type_model:serial_num:state | grep 0212345
Example output: 
Server-9080-HEX-SN0212345:9080-HEX:0212345:Operating
5.     Pull to staging
updlic -m <MT-M*S> -o a -t sys -r ibmwebsite –l <level> --importonly –v
Example command:
updlic -m 9080-HEX*0212345 -o a -t sys -r ibmwebsite –l 140 --importonly –v
BEGIN THE ACTUAL UPDATE: 
1.     Check the state of the system
lssyscfg -r sys -Fname:type_model:serial_num:state | grep <serial>
Example command:

lssyscfg -r sys -Fname:type_model:serial_num:state | grep 0212345
Example output: 
Server-9080-HEX-SN0212345:9080-HEX:0212345:Power Off
NOTE: For disruptive within a release, if the managed system is not powered off, have the customer quiesce all partitions and power off the system, recheck the state by repeating Step 1. above.
2.     Run from staging
updlic -m <MT-M*S> -o a -t sys -r disk –l <level> –v
Example command:
updlic -m 9080-HEX*0212345 -o a -t sys -r disk –l 140 –v
3.     Verify code update was successful and no errors returned.
 
Disruptive Upgrade to a New Release
OPTION THREE: UPGRADE TO A NEW RELEASE (ALWAYS DISRUPTIVE):
1.    System readiness check:
updlic -m <MT-M*S> -o k –v
Example command:
updlic -m 9080-HEX*0212345 -o k –v; echo $?
Example output:
0 = success
[any other] = failure
2.    Verifying levels that are installable and client desired level is in the list and disruptive:
lslic -m <MT-M*S> -r ibmwebsite -l upgrade
Example command:
lslic -m 9080-HEX*0212345 -r ibmwebsite -l upgrade
3.    Check the client desired level is disruptive as expected for an upgrade to a new release:
updlic -m <MT-M*S> -o u -t sys -l <level> -r ibmwebsite –q –v
Example command:
updlic -m 9080-HEX*0212345 -o u -t sys -l 199 -r ibmwebsite –q –v
Example output:
All updates are disruptive.

4.     Check the state of the system
lssyscfg -r sys -Fname:type_model:serial_num:state | grep <serial>
Example command:
lssyscfg -r sys -Fname:type_model:serial_num:state | grep 0212345
Example output: 
Server-9080-HEX-SN0212345:9080-HEX:0212345:Operating
3.  Pull to staging
updlic -m <MT-M*S> -o a -t sys -r ibmwebsite –l <level> --importonly –v
Example command:
updlic -m 9080-HEX*0212345 -o a -t sys -r ibmwebsite –l 199 --importonly –v
BEGIN THE ACTUAL UPGRADE:
1.     Check the state of the system:
lssyscfg -r sys -Fname:type_model:serial_num:state | grep <serial>
Example command:
lssyscfg -r sys -Fname:type_model:serial_num:state | grep 0212345
Example output: 
Server-9080-HEX-SN0212345:9080-HEX:0212345:Power Off
NOTE: For disruptive, if it's not powered off, have the customer quiesce all partitions and power off the system, recheck the state by repeating Step 1. above.
2.     Upgrade to a new specific release disruptive:
updlic -m <MT-M*S> -o u -t sys -r disk -l <level> –v
Example command:
updlic -m 9080-HEX*0212345 -o u -t sys -r disk -l 199 –v
FINAL CHECKOUT FOR ALL CODE UPDATES OR UPGRADES:
CHECKOUT:
1.    Verify the code levels:
lslic –t sys –m <MT-M*S>
Example command:
lslic –t sys –m 9080-HEX*0212345
 
2.    Check for serviceable events, resolve any issues following IBM Documentation or by engaging IBM Support.
  
lssvcevents -t hardware –m <MT-M*S> --filter status=Open -F problem_num,refcode,last_time,text
Example command:
lssvcevents -t hardware –m 9080-HEX*0212345 --filter status=Open
-Fproblem_num,pmh_num,callhome_intended,refcode,failing_mtms,last_time 
Example output of good results:
No results were found.

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"7063CR1","label":"Hardware Management Console (7063-CR1)"},"ARM Category":[{"code":"a8m0z000000GnS5AAK","label":"HMC"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}]},{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"7063CR2","label":"Hardware Management Console (7063-CR2)"},"ARM Category":[{"code":"a8m0z000000GnS5AAK","label":"HMC"}],"Platform":[{"code":"PF025","label":"Platform Independent"}]}]

Document Information

Modified date:
25 September 2025

UID

ibm17163772