IPMCTL-LOAD-DIMM(1)
π IPMCTL-LOAD-DIMM π
okay bestie, so this is the ipmctl manual page for ipmctl-load-dimm β the glow-up-your-firmware command. buckle up, it's giving β¨firmware updateβ¨ energy and we're gonna understand every single bit of it, no cap.
β¨ NAME β¨
ipmctl-load-dimm β updates the firmware on one or more PMem modules. that's the whole vibe. firmware glow-up, periodt. π
π SYNOPSIS π
ipmctl load [OPTIONS] -source (path) -dimm [TARGETS]
like literally that's the whole incantation. options first, then you tell it where the firmware image lives, then you tell it who's getting the update. π¦
πΈ DESCRIPTION πΈ
so what this does is update the firmware on one or more PMem modules. and here's the little plot twist bestie: on the next power cycle, the firmware will become active. so you don't get the glow-up immediately β you gotta reboot first. main character energy takes time. π
Note π«Ά 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. so it's not gonna just sit there and wait, it'll politely interrupt.
Note π a power cycle reboot is required to activate the updated firmware image, and it's also recommended to ensure ARS runs to completion. so likeβ¦ reboot. please. fr fr.
π OPTIONS π
here's where it gets juicy. every single flag, no skips:
-x,-examineβ verifies the target PMem modules are compatible and ready to receive the firmware image you specified in the source option. it also returns the firmware image version. it's basically the vibe check before the glow-up. π-f,-forceβ downgrading firmware to an older version is a potentially destructive operation which requires confirmation from the user for each PMem module. this option suppresses that confirmation when you're attempting a downgrade. so yeah it's powerful, use it with your whole chest but likeβ¦ carefully. π-h,-helpβ displays help for the command. the classic "wait what do i do" button. π-ddrtβ used to specify DDRT as the desired transport protocol for the current invocation ofipmctl. π-smbusβ used to specify SMBUS as the desired transport protocol for the current invocation ofipmctl. π’
Note β οΈ the-ddrtand-smbusoptions are mutually exclusive and may not be used together. pick one bestie, you can't have both.
-lpmbβ used to specify large transport payload size for the current invocation ofipmctl.-spmbβ used to specify small transport payload size for the current invocation ofipmctl.
Note β οΈ the-lpmband-spmboptions are mutually exclusive and may not be used together. same rule, different pair.
-sourceβ specifies the firmware image binary to upload to the PMem module. this is literally the file. the whole point. π¦-recoverβ --DEPRECATED-- okay so 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-recoveroption. however, this flag is still maintained for backwards compatibility. so it's like that one ex that still shows up but you don't actually need them anymore. π-o (text|nvmxml),-output (text|nvmxml)β changes the output format. one of:"text"(default) or"nvmxml". pick your aesthetic. π¨
π TARGETS π
-dimm [DimmIDs]β 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. so like, the default is the safe lane, and naming specific DIMMs is the risky lane. iykyk.
π EXAMPLES π
Example 1 β updates the firmware on all PMem modules in the system to the image in sourcefile.bin on the next power cycle:
ipmctl load -source sourcefile.bin -dimm
Example 2 β checks the firmware image in sourcefile.bin and retrieves the version:
ipmctl load -examine -source sourcefile.bin -dimm
look at that. clean. iconic. β
π§ LIMITATIONS π§
in order to successfully execute this command, bestie:
- the caller must have the appropriate privileges. π
- the specified PMem modules must be manageable by the host software. π₯οΈ
firmware version (PN.RN.SV.bbbb) updates are supported as follows:
- the product number (
PN) cannot be changed. π« - the revision number (
RN) can be upgraded whenPNis the same. β¬οΈ - the security revision number (
SV) can be upgraded whenPN.RNis the same. in some configurations it can also be downgraded whenPN.RNis the same; use the examine option to determine if the security revision number can be downgraded. π - 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. π
Note πΈ 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. so one at a time, okay? patience is a virtue bestie.
π₯ RETURN DATA π₯
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.
π SAMPLE OUTPUT π
(file path): MM.mm.hh.bbbb
Load FW on PMem module (DimmID): (Valid|Downgrade) [(with
confirmation or the force option)]
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.
Downgrade firmware on PMem module (DimmID)? (y or [n]) Downgrade firmware
on PMem module (DimmID)? (y or [n])
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 Firmware] to view more detailed information about the active and staged firmware. π
Load FW on PMem module (DimmID): Success, a power cycle is required to
activate the FW.
Load FW on PMem module (DimmID): Error (Code) - (Description)
and that's the whole page bestie!! π this came from the ipmctl manual, dated 2024-04-22. go forth and firmware responsibly, mwah πβ¨π¦
π¦ where this page comes from
- ubuntu noble: ipmctl 03.00.00.0485-1build1 Β· BSD-2-Clause AND BSD-3-Clause
- ubuntu questing: ipmctl 03.00.00.0485-1build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms