'\" t .\" Title: ipmctl-update-firmware .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.12 .\" Date: 2021-02-17 .\" Manual: ipmctl .\" Source: ipmctl .\" Language: English .\" .TH "IPMCTL\-UPDATE\-FIRMWARE" "1" "2021-02-17" "ipmctl" "ipmctl" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "NAME" ipmctl\-update\-firmware \- Updates the firmware on one or more PMem modules .SH "SYNOPSIS" .sp .if n .RS 4 .nf .fam C ipmctl load [OPTIONS] \-source (path) \-dimm [TARGETS] .fam .fi .if n .RE .SH "DESCRIPTION" .sp Updates the firmware on one or more PMem modules. On the next power cycle, the firmware will become active. .if n .sp .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 .B Note .ps -1 .br .sp If Address Range Scrub (ARS) is in progress on any target PMem module, an attempt will be made to abort ARS and then proceed with the firmware update. .sp .5v .RE .if n .sp .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 .B Note .ps -1 .br .sp A power cycle reboot is required to activate the updated firmware image and is recommended to ensure ARS runs to completion. .sp .5v .RE .SH "OPTIONS" .sp \-x, \-examine .RS 4 Verifies the target PMem modules are compatible and ready to receive the firmware image specified in the source option. Returns the firmware image version. .RE .sp \-f, \-force .RS 4 Downgrading the firmware to an older version is a potentially destructive operation which requires confirmation from the user for each PMem module. This option suppresses the confirmation when attempting to downgrade. .RE .sp \-h, \-help .RS 4 Displays help for the command. .RE .sp \-ddrt .RS 4 Used to specify DDRT as the desired transport protocol for the current invocation of ipmctl. .RE .sp \-smbus .RS 4 Used to specify SMBUS as the desired transport protocol for the current invocation of ipmctl. .RE .if n .sp .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 .B Note .ps -1 .br .sp The \-ddrt and \-smbus options are mutually exclusive and may not be used together. .sp .5v .RE .sp \-lpmb .RS 4 Used to specify large transport payload size for the current invocation of ipmctl. .RE .sp \-spmb .RS 4 Used to specify small transport payload size for the current invocation of ipmctl. .RE .if n .sp .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 .B Note .ps -1 .br .sp The \-lpmb and \-spmb options are mutually exclusive and may not be used together. .sp .5v .RE .sp \-source .RS 4 Specifies the firmware image binary to upload to the PMem module. .RE .sp \-recover .RS 4 \fB\-\-DEPRECATED\-\-\fP .br This flag is no longer necessary to run firmware update on PMem modules where the DDRT link is not trained. These untrained PMem modules are now automatically included when the command is run without the \fI\-recover\fP option.. However, this flag is still maintained for backwards compatibility. .RE .sp \-o (text|nvmxml), \-output (text|nvmxml) .RS 4 Changes the output format. One of: "text" (default) or "nvmxml". .RE .SH "TARGETS" .sp \-dimm [DimmIDs] .RS 4 Updates the firmware on specific PMem modules by supplying one or more comma separated PMem module identifiers. However, this is not recommended as it may put the system in an undesirable state. The default is to update all manageable PMem modules. .RE .SH "EXAMPLES" .sp Updates the firmware on all PMem modules in the system to the image in sourcefile.bin on the next power cycle. .sp .if n .RS 4 .nf .fam C ipmctl load \-source sourcefile.bin \-dimm .fam .fi .if n .RE .sp Checks the firmware image in sourcefile.bin and retrieves the version. .sp .if n .RS 4 .nf .fam C ipmctl load \-examine \-source sourcefile.bin \-dimm .fam .fi .if n .RE .SH "LIMITATIONS" .sp In order to successfully execute this command: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} The caller must have the appropriate privileges. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} The specified PMem modules must be manageable by the host software. .RE .sp Firmware version (PN.RN.SV.bbbb) updates are supported as follows: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} The product number (PN) cannot be changed. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} The revision number (RN) can be upgraded when PN is the same. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} The security revision number (SV) can be upgraded when PN.RN is the same. In some configurations it can also be downgraded when PN.RN is the same; use the examine option to determine if the security revision number can be downgraded. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} The build number (bbbb) can be upgraded or downgraded. However, if the firmware API version in the firmware image is lower than is supported by the host software and would make the PMem module become unmanageable, the downgrade is not supported. .RE .if n .sp .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 .B Note .ps -1 .br .sp Once a firmware image is staged for execution, a power cycle is required before another firmware image of the same type (production or debug) can be staged for execution using this command. .sp .5v .RE .SH "RETURN DATA" .sp When the examine option is provided, the firmware image is checked and the version number and firmware type is provided. The firmware will either be valid for the PMem module, a downgrade or invalid meaning it cannot be used for that PMem module. .SH "SAMPLE OUTPUT" .sp .if n .RS 4 .nf .fam C (file path): MM.mm.hh.bbbb Load FW on PMem module (DimmID): (Valid|Downgrade) [(with confirmation or the force option)] .fam .fi .if n .RE .sp If the firmware is being downgraded and the force option is not provided, the user will be prompted to confirm the downgrade for each PMem module. Otherwise, for each PMem module, the CLI will indicate the status of the operation. .sp .if n .RS 4 .nf .fam C Downgrade firmware on PMem module (DimmID)? (y or [n]) Downgrade firmware on PMem module (DimmID)? (y or [n]) .fam .fi .if n .RE .sp If a failure occurs when updating multiple PMem modules, the process will continue attempting to update the remaining PMem modules requested. The firmware will not become active until the next power cycle. Use the command Section [Show Device Firmware] to view more detailed information about the active and staged firmware. .sp .if n .RS 4 .nf .fam C Load FW on PMem module (DimmID): Success, a power cycle is required to activate the FW. .fam .fi .if n .RE .sp .if n .RS 4 .nf .fam C Load FW on PMem module (DimmID): Error (Code) \- (Description) .fam .fi .if n .RE