Step-by-step guide to IBM Power Systems firmware update

IBM® Power Systems™ firmware update, which is often referred to as Change Licensed Internal Code (LIC) procedure, is usually performed on the managed systems from the Hardware Management Console (HMC). Firmware update includes the latest fixes and new features. We can use the Change Licensed Internal Code wizard from the HMC graphical user interface (GUI) to apply updates to the Licensed Internal Code (LIC) on the selected managed system.

We can select multiple managed systems to be updated simultaneously. The wizard also allows us to view the current system information or perform advanced operations. This tutorial provides the step-by-step procedure for the IBM Power Systems firmware update from the HMC command line, and the HMC GUI and is targeted for system administrators.

This step-by-step instructions can prepare the newbie for what needs to be done and how it could be done to stay on to the latest firmware level all the time. When you purchase a new hardware, the best practise is to upgrade all the firmware to the latest level.

Nitin Thorve (, Senior Associate IT Specialist – UNIX, IBM India

Priyanka Jade (, Staff Software Engineer, IBM India

Thirukumaran Vasantha Thananjayan(, Senior Staff Software Engineer, IBM India

Overview of IBM Power Systems servers

  • Hardware Management Console can be a desktop or a rack-mounted appliance that manages the servers, and is used for partitioning and as a service tool.
  • A managed system is a single physical server. It can have I/O expansion units, towers, drawers, and storage area network (SAN) resources.
  • HMC communicates to the managed system through the service processor.
  • The service processor is an embedded controller that monitors and controls the entire system and is running the bare metal Linux.
  • The IBM POWER Hypervisor™is a layer of system firmware that supports virtualization technologies, logical partitioning (LPAR), and dynamic resource movement across multiple operating system environments.

Figure 1.


The flexible service processor (FSP) firmware provides diagnostics, initialization, configuration, run-time error detection, and correction. It is required to periodically update the firmware on the Power Systems server. Keeping the firmware up-to-date can help in attaining the maximum reliability and functionality from your systems.

Firmware releases enable new function and might also contain fixes or enhancements.

Firmware service packs provide fixes and enhancements within a specific release.

This tutorial provides the following information:

  1. Current firmware details
  2. Different kinds of code download and update methods
  3. Steps to obtain the relevant firmware code updates or releases from the IBM FixCentral website
  4. Steps to update the firmware concurrently using DVD media, that is, the fixes that can be deployed on a running system without rebooting partitions or performing an initial program load (IPL) within a specific release
  5. Steps to update the firmware disruptively, that is, update requiring the system IPL within a specific release
  6. Advanced code update options from the Change Licensed Internal Code wizard
  7. Steps to upgrade to recent firmware releases disruptively using the File Transfer Protocol (FTP) method
  8. Steps to upgrade the firmware disruptively through the IBM Service website to a required level

In the following sections, let’s go through in detail covering all the topics highlighted above.

Section 1. View system information

We will use the View system information option to get the current system firmware information.

We will be using this information in IBM Fix Central to obtain information on the latest firmware updates or upgrades available for the system and proceed with the firmware update or upgrade to newer release using the instructions described in the following sections.

Select the system under test, click Updates, and then click View system information to check the currently installed, activated, and accepted levels.

Figure 1.1

The following figure shows the currently installed firmware levels on the system.

Figure 1.2

Fields in figure 1.2 are described below:

EC Number

This displays the numerical identifier of the engineering change (EC) that shows the system and GA level. It has the format of PPNNSSS, where:

  • PP is the two-character package identifier.
  • NN is the two-character name that identifies a set of platforms. This is the model-unique code for the type of system.
  • SSS is the three-character service pack code stream identifier.

LIC Type

This displays the LIC types associated with the selected target.

Machine Type/Model/Serial Number

This displays the corresponding machine type, model number, and serial number.

Installed Level

This displays the LIC level that will be activated and loaded into memory at the next system restart.

Activated Level

This displays the LIC level that is activated and loaded into memory (for example, from a level 5 to level 7).

Accepted Level

This displays the LIC level that was committed. This refers to the updates selected on the system.

This is the backup level of code that you can return to, if necessary. Generally, this is the level of code on the permanent side (p-side).

Unactivated Deferred Level

This displays the latest or highest LIC level that contains unactivated deferred updates. This refers to the updates selected on the system.

A deferred update requires a system restart to activate.

Platform IPL Level

This displays the LIC level on which the hypervisor and partition firmware were last restarted. When concurrent LIC updates are performed, the activated level will change, but the platform IPL level will remain unchanged.

Update Control

This displays the current owner of LIC update control. It can be either HMC or operating system.

Section 2. Different kinds of “Code download and update” methods

Having known the current firmware levels on the system as described in Section 1 and in order to move up to the necessary latest update that is available, we have various firmware update and upgrade methods as mentioned below. Select the one that is appropriate to your requirement.

  • DVD method
    We can get the latest firmware code information from Fix Central. You need to download the code (as described in Section 3). You will be able to download the file in the ISO format. Then, you need to burn it to a DVD media to perform the update/upgrade using the obtained DVD (and this is described in Section 4).

    Section 4 describes the concurrent firmware update procedure. We can also use the DVD method to perform code upgrades (to a new release). This can be used when the HMC cannot access Internet due to firewall.

  • FTP method
    Download the required code levels using bulk FTP from Fix Central to a remote FTP-enabled system (also described in Section 3) Then, perform the code update/upgrade procedures using the FTP method, providing the login credentials and location of the update/upgrade code on your remote FTP-enabled repository system ( as described for firmware upgrade in Section 7.

    Section 7 describes the disruptive upgrade procedure using the FTP method. Similarly, the FTP procedure can also be used for concurrent code updates (within the same release).

  • IBM service website method We can perform the Power Systems firmware update/upgrade through the IBM service website to a required level (as described in Section 8).

    Section 8 describes the code upgrade procedure disruptively using the IBM website. A similar procedure can be used for performing concurrent code updates as well.

    After selecting the required system from the HMC, ensure to select Change Licensed Internal Code in order to perform code updates (any updates within the same release) and select Upgrade Licensed Internal Code in order to perform code upgrades (by installing the different release).

Section 3. Power Systems firmware code location and download from Fix Central

Power Systems firmware fix packs or firmware releases can be obtained from the IBM Fix Central website.

Select the following categories for Power Systems firmware update and choose the appropriate machine type and model of your system to be updated.

As per the example shown in Figure 3.0, the machine type and model used is: 8203-E4A. Select the appropriate machine type of your choice and continue.

Figure 3.0

Example in Figure 3.1 shown below is for the system firmware only. Similarly, you can explore other options too.

Figure 3.1

If users are aware of the specific firmware level, then users can select the necessary option directly. If not, users can also take help from the recommendations that the website can provide about the latest and the best-suited firmware levels. If you need help, select the I need guidance.I am not sure what level of firmware is recommended option as shown in Figure 3.2.

Choose the specific level or get the recommended level as shown below:

Figure 3.2

Figure 3.3

Decide whether your system needs firmware update to the latest fix pack or upgrade to a new release based on the current levels installed on the system as obtained from View system information in the above section.

Figure 3.4

Figure 3.5

As an example, let us continue to get the firmware service pack within the current release, as shown in Figure 3.6.

Figure 3.6

Figure 3.7

Similarly, users can get the upgrade code, that is, newer release using the second option. Note that this will be a disruptive code install, that is, system power recycles.


Download the update code, if you are planning an update within the current release.

Download the upgrade code if you are planning for an upgrade to a newer release itself.

Figure 3.7 lists the latest, recommended, and available updates to your current release. Select the appropriate option and proceed further.

Continue with downloading the ISO file if you want burn it to a DVD to proceed with the firmware update using the DVD media, or get the code to a remote FTP-enabled system to perform update using the FTP method. The firmware update procedure is explained in detail in the following sections.

Figure 3.8

Figure 3.9

Figure 3.10

Section 4. Power Systems firmware concurrent update procedure using the DVD method

You can update the firmware concurrently (that is, the fixes that can be deployed on a running system without rebooting partitions or performing an IPL) within a specific release. Select the Change Licensed Internal Code option for the current release.

Figure 4.0

Figure 4.1

In the Specify LIC Repository section (as shown in Figure 4.2), select the location of the LIC update repository.

Figure 4.2

Figure 4.3

Select the DVD-RAM drive option,where you have the DVD placed and proceed with code update concurrently, as shown in Figure 4.3.

Note: Place the DVD in the HMC’s DVD drive (and not in the system’s DVD drive).

Figure 4.4

4Click OK to proceed further to the subsequent steps to perform code update. It verifies whether the system is ready for code update by performing the health check and if everything fine, we can proceed further.

The following screen captures show the step-by-step procedure to perform concurrent code update.

Figure 4.5

Figure 4.6

Figure 4.7

Figure 4.8

Figure 4.9

Figure 4.10

Section 5. Steps to update the firmware disruptively (that is, update requiring the system IPL within a specific release)

Firmware updates are usually concurrent. Disruptive update service packs are very rare. The procedure to perform disruptive update is quite similar to concurrent update (explained in Section 4) but this process will prompt for system power cycle during the operation.

Section 6. Advanced code update options from Change Licensed Internal Code wizard

We use the Select advanced features option to perform advanced operations, such as Remove and activate and Reject fix.

Remove and activate option

The Remove and activate option brings the system back to the update level that is on the permanent side. You can use this option to back off an update level.

Figure 6.0

Figure 6.1

Figure 6.2

Figure 6.3

Click OK and then Close to remove and activate the permanent side update level.

Figure 6.4

Reject Fix operation:

Boot the system in the Permanent Side mode (from ASMI -> Power/Restart Control -> Power On/Off System, and make sure that the Current firmware boot side option is displayed as Permanent) and only then the Reject Fix option gets enabled and the operation can be performed. This operation copies the currently running level (permanent side) to the temporary side. This can be used to reject a fix that has been applied.

Figure 6.5

Figure 6.6

Figure 6.7

Click OK to start this operation.

Section 7. Upgrade to newer firmware releases disruptively using the FTP method

Installing a release or a disruptive fix pack causes system IPL. All release upgrades are disruptive.

We can obtain the upgrade code, that is, the disruptive fix pack from Fix Central and burn it to a media drive and proceed with the upgrade process, which is quite similar to the concurrent update process explained in the earlier sections (except that this operation is disruptive).

In this section, let us learn how to use the FTP method to upgrade the system using the firmware code stored in a remote repository.

The following screen captures shows the steps to upgrade to newer firmware releases disruptively using the FTP method.

Figure 7.0

Figure 7.1

Figure 7.2

Figure 7.3

Figure 7.4

Figure 7.5

Figure 7.6

Figure 7.8

Figure 7.9

Clicking OK starts the disruptive upgrade. System will be on the applied release level after the upgrade operation completes.

Section 8. Steps to upgrade the firmware disruptively using the IBM service website to the required level

After logging in to the HMC, click System Management > Servers > Target Server on the left pane. Instead, you can also click the Updates icon on the same pane. All the available servers will be displayed in the right pane. In the following figure, the red highlight in the right pane shows the current level installed.

Figure 8.0

0Make sure that your target server is in the shutdown mode, and if not, switch off the server.

Now, click the Upgrade Licensed Internal Code to a new release link at the bottom of the page as shown in the following figure.

Figure 8.1

After clicking the link, you will be directed to the web page which will show information about the readiness check. If there is no errors found, you can click OK and proceed further, as shown in the following figure.

Figure 8.2

After clicking OK, you will be directed to the Specify LIC Repository page. Here, you need to select the location of the code. The options shown in the following figure are available.

Figure 8.3

If you are setting a new server configuration, the best practice at this prompt is always to select the IBM service web site option and you need not worry about the need to power off and power on the managed systems in this method.

After selecting the IBM Service web site option, you will have a new web page opened, which will show you the available LIC level details. Here, the best practice is to select the latest available code (that is, the latest available version). Most of the fixes are added by IBM and your Power Systems server will be upgraded to the latest level. Then, select the best as per your requirement, or the latest supported.

Be patient here and follow the prompts to complete the upgrade. The firmware upgrade activity will need time depending on your Internet bandwidth speed. Do not forget to switch on the server, so that the latest firmware gets activated and reflected in the navigation pane, as shown in the following figure.

Figure 8.4

Now you are done with the upgrade. Remember if you select multiple systems, you can upgrade them as well.

Visualize the Physical Layout of an AIX Volume Group

From: Brian Smith’s AIX / UNIX / Linux / Open Source blog

9/23/13 Update – See this updated verison of the script as well.  

Here is a script I’ve written to visualize the physical layout of an AIX volume group.   The script visually shows the location of every Physical Partition (PP) on each hdisk (AKA Physical Volume).   The output shows which Logical Volume (LV) is on each of the PP’s (or if it is free space).   The output is color coded so each LV has its own color so that it is very easy to see where each LV physically is across the entire Volume Group.  You can specify the number of columns of output depending on the size of your screen.

The intended use of the script is to show a visual representation of the Volume Group to make using commands which move around LP’s/PP’s such as migratelp easier to use, to make LVM/disk maintenance easier, and also as a learning tool.

Here are a few screenshots:




  When running the script you specify 2 parameters:  The volume group name, and the number of columns you would like displayed (or it will default to 3 columns if not specified).

Here is the script:


#vvg - visualize physical layout of AIX volume group
#Copyright Brian Smith, 2013

set -A colors 41m 42m 43m 44m 45m 46m 47m 100m 101m 102m 103m 104m 105m 106m
tempfile=”/tmp/`basename $0`_$$”
tempfile2=”/tmp/`basename $0`_2$$”
> $tempfile
> $tempfile2

if [ -n “$1” ]; then
echo “Specify VG name as first parameter”
exit 1

if ! lsvg $vg >/dev/null 2>&1; then
echo “Error: VG name not correct or VG not varried on”
exit 2

[ -n “$2” ] && col=$2 || col=3
if ! echo $col | grep “^[0-9]*$” >/dev/null || [ “$col” -eq 0 ]; then
echo “Error: second parameter should be number of columns”
exit 3

while [ “$count” -lt “$col” ]; do
columns=”$columns -”
count=`expr $count + 1`

. $tempfile
. $tempfile2
[ “$index” -gt 0 ] && index=`expr $index + 1`
lspv -M $pv | while read line; do
if echo $line |  awk ‘NF==1 {print}’ | grep ‘-‘ >/dev/null; then
                    beg=`echo $line | awk -F: ‘{print $2}’ | awk -F ‘-‘ ‘{print $1}’`
                    end=`echo $line | awk -F: ‘{print $2}’ | awk -F ‘-‘ ‘{print $2}’`
                    while [ “$beg” -le “$end” ]; do
                            echo “${pv}:$beg Free”
                            beg=`expr $beg + 1`
elif echo $line | awk -F: ‘{print $2}’ | grep “^[0-9]*$” >/dev/null ; then
                    echo “$line Free”
                    echo “$line”
done | while read line2; do
pp=`echo “$line2” | awk ‘{print $1}’ | awk -F: ‘{print $2}’`
lv=`echo “$line2” | awk ‘{print $2}’ | awk -F: ‘{print $1}’`
lp=`echo “$line2″ | awk ‘{print $2}’ | awk -F: ‘{print $2}’`

eval if ! [ -n \”\$${lv}\” ]\; then \
                    ${lv}=$index\;        \
                    echo ${lv}=$index \>\> $tempfile  \; \
                    index=`expr $index + 1`\;   \
                    [ \”\$index\” -gt \”13\” ] \&\& index=0 \; \
                    echo index=$index \> $tempfile2  \; \
eval printf  \\\\033[\${colors[\$${lv}]}
if [ -n “$lp” ]; then
                    printf “%-7s %-15s %+7s\033[0m ” “PP$pp” “$lv” “LP$lp”
                    printf “%-7s %-23s\033[0m ” “PP$pp” “$lv”
done | paste -d ” ” $columns

for pv in `lspv | grep ” $vg ” | awk ‘{print $1}’`; do
ppsize=`lspv $pv | grep “^PP SIZE” | awk ‘{print $3 ” ” $4}’`
echo “\033[1;36m******************************* \033[0m”
printf “\033[1;36m* %-8s                    * \n\033[0m” $pv
printf “\033[1;36m* Size   : %-10s         * \n\033[0m” “`getconf DISK_SIZE /dev/$pv` MB”
printf “\033[1;36m* PP Size: %-19s* \n\033[0m” “$ppsize”
echo “\033[1;36m******************************* \033[0m”
showdisk $pv
rm $tempfile
rm $tempfile2

AIX LPAR missing hdisk after vios reboot

AIX LPAR missing hdisk after vios reboot SOLVED –

Link shared by user on this blog who used this SUCCESSFULly!

Link to original article:
In case that you are doing routine checkup of your LPAR’s on IBM pSeries, you probably are checking status of your LPAR OS disks or volume group from time to time.
To check status of your volume grouphdisks use thisroot@aix-server> [/]  lsvg -p roottvg
hdisk0                   missing                    546               4                 00..00..00..00..04
hdisk1                   active                       546               0                 00..00..00..00..00

As you can see one of hdisk is missing! And you start to panic! “OMG, hdisk is missing, where, how, when?!?!”

There is no place for panic. You will see that one of your disks is missing only after you have restarted one of your VIOS. In are case there is two VIOS. hdisk0 is from first VIOS, hdisk1 is from second VIOS. These two hdisk is creating volume group called rootvg.

How to fix this missing hdisk state?
All you need to do is to activate.

root@aix-server> [/] varyon rootvg

This will activate your volume group rootvg. After this you will see both of your hdisk as active!
Why this is important? Because of this:

When a volume group is activated, physical partitions are synchronized if they are not current.

But there is one case when you can’t make your hdisk active without making additional changes! In this case, after you execute varyon command, error will be prompted and you won’t be able to make your hdisk active!

root@aix-server> [/] varyon rootvg
varyonvg: Cannot varyon volume group with an active dump device on a missing physical volume. Use sysdumpdev to temporarily replace the dump device with /dev/sysdumpnull and try again.

So, as error said active dump device is on missing physical volume hdisk0.(I will not explaind here what system dump device is) How to change this? First we will list status of sysdump devices.

root@aix-server> [/]  sysdumpdev -l
primary              /dev/lg_dumplv
secondary            /dev/sysdumpnull
copy directory       /var/adm/ras
forced copy flag     TRUE
always allow dump    FALSE
dump compression     ON

From here we can see, that primary device is located on /dev/lg_dumplv and secondary device is /dev/sysdumpnull. In error message, active dump device is actually primary dump device in sysdumpdev -l. So we need to change that.

root@aix-server> [/] sysdumpdev -p /dev/sysdupmnull

List again sysdump devices.

root@aix-server> [/]  sysdumpdev -l
/dev/sysdumpnullsecondary            /dev/sysdumpnull
copy directory       /var/adm/ras
forced copy flag     TRUE
always allow dump    FALSE
dump compression     ON

Now execute activation of volume group. 

root@aix-server> [/] varyon rootvg

root@aix-server> [/] 
root@aix-server> [/]  lsvg -p rootvg
hdisk0                         active            546                    4             00..00..00..00..04
hdisk1                         active            546                    0             00..00..00..00..00

As you can see now, both hdisk are active now.
Now, change back you primary dump device

root@aix-server> [/] sysdumpdev -p /dev/lg_dumplv