Using the AIX or Linux command line to view the existing firmware level

Learn how to view the current firmware level using the AIX® or Linux® command line.

You must have AIX diagnostics installed on your server to perform this task
  1. Choose from the following options:
    • To use the AIX command line, continue with the next step.
    • To use the Linux command line, continue with step 3.
    • To use the AIX or Linux command line when you are using a 7037-A50 or 7047-185 system, continue with step 5.
  2. At an AIX command prompt, enter the following command:
    lsmcode
    The existing levels of server firmware are displayed. For example, you might see output similar to the following:
    The current permanent system firmware image is SF220_005.
    The current temporary system firmware image is SF220_006.
    The system is currently booted from the temporary image.
    Note:
    1. The permanent level is also known as the backup level.
    2. The temporary level is also known as the installed level.
    3. The system was booted from the temporary side, so at this time the temporary level is also the activated level.
  3. To view existing levels of server firmware for Linux, you must have the following service tools installed on your server:
    • Platform Enablement Library – librtas-xxxxx.rpm
    • Service Aids – ppc64-utils-xxxxx.rpm
    • Hardware Inventory – lsvpd-xxxxx.rpm
    where xxxxx represents a specific version of the RPM file.
    Note: If you do not have the service tools on your server, refer to Obtaining service and productivity tools for Linux.
  4. After the service tools are installed on the server running Linux, enter the following at a Linux command prompt:
    lsmcode
    The existing level of server firmware is displayed. For example, you might see output similar to the following:
    Version of system firmware is: SF220_006 (t)  SF220_005 (p)  SF220_006 (t)
    The following table provides descriptions for each of the server firmware levels displayed in the output.
    Server firmware levels displayed
    SF220_006 (t) SF220_005 (p) SF220_006 (t)

    The installed level.

    Also known as the temporary level.

    The backup level.

    Also known as the permanent level.

    The activated level.

    The level on which the server is currently running.

  5. If you have a 7037-A50 or 7047-185 system, choose from the following options:
    • If are using AIX, continue with the next step.
    • If you are using Linux, continue with step 7.
  6. At an AIX command line, enter the following command:
    lsmcode
    The existing levels of server firmware are displayed. For example, you might see output similar to the following:
    The current permanent system firmware image is AT061_055.
    The current temporary system firmware image is AT061_058.
    The system is currently booted from the temporary image.
    Note: When the lsmcode command is run on a 7037-A50 or 7047-185 system, the temporary or permanent side of the flash might report _UNKNOWN_ for the firmware level. This occurs because there is only one level of base motherboard controller firmware. The level is _UNKNOWN_ when it is not included with the system firmware.

    When you install new firmware, it is installed onto the temporary side by default. This new firmware level includes a new level of base motherboard controller code, and will cause _UNKNOWN_ to be reported for the permanent side. This is not a problem; it indicates that the firmware levels in the flash are not a combination that is included from the factory.

    To update the firmware so that _UNKNOWN_ is not reported, perform the following steps:
    1. Perform a commit operation using the appropriate operating system command.
    2. After the commit operation is complete, restart the system.
    3. When the system has restarted and the operating system is running, rerun the lsmcode command. Both the T and P should report a level (such as AT206_061) instead of _UNKNOWN_.
  7. To view existing levels of server firmware for Linux, you must have the following service tools installed on your server:
    • Platform Enablement Library – librtas-xxxxx.rpm
    • Service Aids – ppc64-utils-xxxxx.rpm
    • Hardware Inventory – lsvpd-xxxxx.rpm
    where xxxxx represents a specific version of the RPM file.
    Note: If you do not have the service tools on your server, refer to Obtaining service and productivity tools for Linux.
  8. After the service tools are installed to the server running Linux, enter the following at a Linux command line:
    lsmcode
    The existing levels of server firmware are displayed. For example, you might see output similar to the following:
    Version of system firmware is: AT061_058(t)  AT061_055(p)  AT061_058(t)
    Note: When the lsmcode command is run on a 7037-A50 or 7047-185 system, the temporary or permanent side of the flash might report _UNKNOWN_ for the firmware level. This occurs because there is only one level of base motherboard controller firmware. The level is _UNKNOWN_ when it is not included with the system firmware.

    When you install new firmware, it is installed onto the temporary side by default. This new firmware level includes a new level of base motherboard controller code, and will cause _UNKNOWN_ to be reported for the permanent side. This is not a problem; it indicates that the firmware levels in the flash are not a combination that is included from the factory.

    To update the firmware so that _UNKNOWN_ is not reported, perform the following steps:
    1. Perform a commit operation using the appropriate operating system command.
    2. After the commit operation is complete, restart the system.
    3. When the system has restarted and the operating system is running, rerun the lsmcode command. Both the T and P should report a level (such as AT206_061) instead of _UNKNOWN_.

    The following table provides descriptions for each of the server firmware levels displayed in the output.

    Server firmware levels displayed
    AT061_058 (t) AT061_055 (p) AT061_058 (t)

    The temporary level.

    The permanent level.

    The level on which the server is currently running.