IPMCTL-START-DIAGNOSTIC(1)
๐ IPMCTL-START-DIAGNOSTIC ๐
okay bestie, so this is a page from the ipmctl manual, section 1, and it's literally called ipmctl-start-diagnostic. it starts a diagnostic test. that's the whole vibe. let's get into it ๐ฉบโจ
โจ NAME โจ
ipmctl-start-diagnostic โ Starts a diagnostic test ๐งช
๐ธ SYNOPSIS ๐ธ
ipmctl start [OPTIONS] -diagnostic [TARGETS]
๐ฆ DESCRIPTION ๐ฆ
Starts a diagnostic test. that's it, that's the sentence, no notes ๐
๐ OPTIONS ๐
-h,-helpโ Displays help for the command. your lil safety net fr fr ๐ซถ-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, they do not coexist ๐ญ
-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. again: one. not both. ๐
-o (text|nvmxml),-output (text|nvmxml)โ Changes the output format. One of:"text"(default) or"nvmxml". so you either get the classic text or the nvmxml glow-up โจ
๐ TARGETS ๐
-diagnostic [Quick|Config|Security|FW]โ Start a specific test by supplying its name. All tests are run by default. One of:"Quick"โ This test verifies that the PMem module host mailbox is accessible and that basic health indicators can be read and are currently reporting acceptable values. a lil wellness check ๐ฉบ"Config"โ This test verifies that the BIOS platform configuration matches the installed hardware and the platform configuration conform to best known practices. it's giving "does your outfit match the occasion" but for hardware ๐"Security"โ This test verifies that all PMem modules have a consistent security state. It is a best practice to enable security on all PMem modules rather than just some. no half-in half-out energy, all of them or it's messy ๐"FW"โ This test verifies that all PMem modules of a given model have consistent FW installed and other FW modifiable attributes are set in accordance with best practices. Note that the test does not have a means of verifying that the installed FW is the optimal version for a given PMem module model just that it has been consistently applied across the system. so it checks consistency, not perfection โ read the fine print bestie ๐
-dimm [DimmIDS]โ Starts a diagnostic test on specific PMem modules by optionally supplying one or more comma separated PMem module identifiers. The default is to start the specified tests on all manageable PMem modules. Only valid for the Quick diagnostic test. so if you try this with anything but Quick, that's a no ๐
๐ EXAMPLES ๐
Starts all diagnostics.
ipmctl start -diagnostic
Starts the quick check diagnostic on PMem module 0x0001.
ipmctl start -diagnostic Quick -dimm 0x0001
๐ LIMITATIONS ๐
If a PMem module is unmanageable, then Quick test will report the reason, while Config, Security and FW tests will skip unmanageable PMem modules. so Quick is the one that actually tells you what's wrong, the others just quietly move on ๐ญ
โญ RETURN DATA โญ
Each diagnostic generates one or more log messages. A successful test generates a single log message per PMem module indicating that no errors were found. A failed test might generate multiple log messages each highlighting a specific error with all the relevant details. Each log contains the following information.
- Test โ The test name along with overall execution result. One of:
"Quick""Config""Security""FW"
- State โ The collective result state for each test. One of:
"Ok""Warning""Failed""Aborted"
- Message โ The message indicates the status of the test. One of:
"Ok""Failed"
- SubTestName โ The subtest name for given Test.
๐ง Valid SubTest Names by Test Name ๐ง
- Test Name:
Quickโ valid SubTest Names:ManageabilityBoot statusHealth
- Test Name:
Configโ valid SubTest Names:PMem module specsDuplicate PMem moduleSystem CapabilityNamespace LSAPCD
- Test Name:
Securityโ valid SubTest Names:Encryption statusInconsistency
- Test Name:
FWโ valid SubTest Names:FW ConsistencyViral PolicyThreshold checkSystem Time
- State โ The severity of the error for each sub-test displayed with
SubTestName. One of:"Ok""Warning""Failed""Aborted"
Events are generated as a result of invoking the Start Diagnostics command in order to analyze the Intelยฎ Optaneโข PMem module for potential issues.
Diagnostic events may fall into the following categories:
- Quick health diagnostic test event
- Platform configuration diagnostic test event
- Security diagnostic test event
- Firmware consistency and settings diagnostic test event
Each event includes the following pieces of information:
- The severity of the event that occurred. One of:
- Informational (Info)
- Warning (Warning)
- Error (Failed)
- Aborted (Aborted)
- A unique ID of the item (PMem module UUID, DimmID, NamespaceID, RegionID, etc.) the event refers to.
- A detailed description of the event in English.
The following sections list each of the possible events grouped by category of the event.
๐ Quick Health Check Events ๐
The quick health check diagnostic verifies that the Intelยฎ Optaneโข PMem module's host mailboxes are accessible and that basic health indicators can be read and are currently reporting acceptable values.
โจ Table 1. Table Quick Health Check Events โจ
okay bestie, gather round ๐ซถ this is the full roster of events the quick health check can throw at you. every single one comes with a Code, a Severity, a Message, and a lil set of Arguments that get slotted into the message wherever you see [1], [2], [3], [4] โ it's giving mad-libs but make it PMem ๐
500โ Info ๐- Message:
The quick health check succeeded. - Arguments: none, zero, zilch โ it's just here to say everything's cute โจ
- Message:
501โ Warning โ ๏ธ- Message:
The quick health check detected that PMem module [1] is not manageable because subsystem vendor ID [2] is not supported. UID: [3] - Arguments:
- PMem module Handle
- Subsystem Vendor ID
- PMem module UID
- Message:
502โ Warning โ ๏ธ- Message:
The quick health check detected that PMem module [1] is not manageable because subsystem device ID [2] is not supported. UID: [3] - Arguments:
- PMem module Handle
- Subsystem Device ID
- PMem module UID
- Message:
503โ Warning โ ๏ธ- Message:
The quick health check detected that PMem module [1] is not manageable because firmware API version [2] is not supported. UID: [3] - Arguments:
- PMem module Handle
- FW API version
- PMem module UID
- Message:
504โ Warning โ ๏ธ- Message:
The quick health check detected that PMem module [1] is reporting a bad health state [2]. UID: [3] - Arguments:
- PMem module Handle
- Actual Health State
- PMem module UID
- Message:
505โ Warning ๐ฅต- Message:
The quick health check detected that PMem module [1] is reporting a media temperature of [2] C which is above the alarm threshold [3] C. UID: [4] - Arguments:
- PMem module Handle
- Actual Media Temperature
- Media Temperature Threshold
- PMem module UID
- Message:
506โ Warning ๐- Message:
The quick health check detected that PMem module [1] is reporting percentage remaining at [2]% which is less than the alarm threshold [3]%. UID: [4] - Arguments:
- PMem module Handle
- Actual Percentage Remaining
- Percentage Remaining Threshold
- PMem module UID
- Message:
507โ Warning ๐- Message:
The quick health check detected that PMem module [1] is reporting reboot required. UID: [2] - Arguments:
- PMem module Handle
- PMem module UID
- Message:
511โ Warning ๐ฅต- Message:
The quick health check detected that PMem module [1] is reporting a controller temperature of [2] C which is above the alarm threshold [3] C. UID: [4] - Arguments:
- PMem module Handle
- Actual Controller Temperature
- Controller Temperature Threshold
- PMem module UID
- Message:
513โ Error ๐- Message:
The quick health check detected that the boot status register of PMem module [1] is not readable. UID: [2] - Arguments:
- PMem module Handle
- PMem module UID
- Message:
and that's a whole lotta events, so don't you dare scroll away yet ๐ซถ
514 โ Error ๐
Not me finding out the media on PMem module [1] is literally not ready ๐ญ the firmware is out here reporting it and everything. UID: [2]
Return data:
- PMem module Handle
- PMem module UID
515 โ Error ๐
Bestie, the firmware on PMem module [1] is reporting an error in the media. Not a vibe. UID: [2]
Return data:
- PMem module Handle
- PMem module UID
519 โ Error ๐
PMem module [1] failed to initialize BIOS POST testing ๐ณ it just did not show up to the group chat. UID: [2]
Return data:
- PMem module Handle
- PMem module UID
520 โ Error ๐
The firmware on PMem module [1] has not initialized successfully. The last known Major:Minor Checkpoint is [2]. UID: [3]
Return data:
- PMem module Handle
Major checkpoint : Minor checkpointin Boot Status Register- PMem module UID
523 โ Error ๐ฅ
PMem module [1] is reporting a viral state ๐ฑ and the way that this means the PMem module is now read-onlyโฆ yeah. It's giving "we're done here." UID: [2]
Lowkey important: viral state = read-only. That part is not a drill, bestie.
Return data:
- PMem module Handle
- PMem module UID
529 โ Warning ๐ซถ
PMem module [1] is reporting that it has no package spares available. It's out here with an empty snack drawer fr. UID: [2]
Return data:
- PMem module Handle
- PMem module UID
530 โ Info โจ
The firmware on PMem module [1] experienced an unsafe shutdown before its latest restart. Just a lil heads up, nothing dramatic (yet). UID: [2]
Return data:
- PMem module Handle
- PMem module UID
533 โ Error ๐
The firmware on PMem module [1] is reporting that the AIT DRAM is not ready. UID: [2]
Return data:
- PMem module Handle
- PMem module UID
534 โ Error ๐
The firmware on PMem module [1] is reporting that the media is disabled. UID: [2]
Return data:
- PMem module Handle
- PMem module UID
535 โ Error ๐
The firmware on PMem module [1] is reporting that the AIT DRAM is disabled. UID: [2]
Return data:
- PMem module Handle
- PMem module UID
536 โ Error ๐
The firmware on PMem module [1] failed to load successfully ๐ญ no cap. UID: [2]
Return data:
- PMem module Handle
- PMem module UID
538 โ Error ๐
PMem module [1] is reporting that the DDRT IO Init is not complete. UID: [2]
Return data:
- PMem module Handle
- PMem module UID
539โ Error ๐ โPMem module [1] is reporting that the mailbox interface is not ready. UID: [2]- 1. PMem module Handle
- 2. PMem module UID
540โ Error ๐ โAn internal error caused the quick health check to abort on PMem module [1]. UID: [2]- 1. PMem module Handle
- 2. PMem module UID
541โ Error ๐ โThe quick health check detected that PMem module [1] is busy. UID: [2]- 1. PMem module Handle
- 2. PMem module UID
542โ Error ๐ โThe quick health check detected that the platform FW did not map a region to SPA on PMem module [1]. ACPI NFIT NVPMem module State Flags Error Bit 6 Set. UID: [2]- 1. PMem module Handle
- 2. PMem module UID
543โ Error ๐ โThe quick health check detected that PMem module [1] DDRT Training is not complete/failed. UID: [2]- 1. PMem module Handle
- 2. PMem module UID
544โ Error ๐ โPMem module [1] is reporting that the DDRT IO Init is not started. UID: [2]- 1. PMem module Handle
- 2. PMem module UID
545โ Error ๐ โThe quick health check detected that the ROM on PMem module [1] has failed to complete initialization, last known Major:Minor Checkpoint is [2].- 1. PMem module Handle
- 2. Major checkpoint : Minor checkpoint in Boot Status Register
- 3. PMem module UID
๐ง Platform Configuration Check Events ๐ง
okay so this diagnostic test group is the one that's likeโฆ bestie, is your BIOS actually configured right?? ๐ It verifies that the BIOS platform configuration matches the installed hardware, and that the platform configuration conforms to best known practices. no cap, it's the vibe check for your firmware settings ๐ธ
๐ฉบ Table 2. Table Platform Configuration Check Events ๐ฉบ
okay bestie, this is the big one โ every single platform config check event, what it means, and what it hands you back. placeholders like [1] and [2] are the arguments, in order, so read them together, k? โจ
600โ severity: Info ๐- message: "The platform configuration check succeeded."
- arguments: none โ she's just here to say hi and slay ๐
601โ severity: Info ๐- message: "The platform configuration check detected that there are no manageable PMem modules."
- arguments: none
606โ severity: Info ๐- message: "The platform configuration check detected that PMem module [1] is not configured. UID: [2]"
- arguments:
- PMem module Handle
- PMem module UID
608โ severity: Error ๐- message: "The platform configuration check detected [1] PMem modules installed on the platform with the same serial number [2]."
- arguments:
- Number of PMem modules with duplicate serial numbers.
- The duplicate serial number
609โ severity: Info ๐- message: "The platform configuration check detected that PMem module [1] has a goal configuration that has not yet been applied. A system reboot is required for the new configuration to take effect. UID: [2]"
- arguments:
- PMem module Handle
- PMem module UID
618โ severity: Error ๐- message: "The platform configuration check detected that a PMem module with physical ID [1] is present in the system but failed to initialize. UID: [2]"
- arguments:
- PMem module handle in the SMBIOS table
- PMem module UID
621โ severity: Error ๐- message: "The platform configuration check detected PCD contains invalid data on PMem module [1]. UID: [2]"
- arguments:
- PMem module Handle
- PMem module UID
622โ severity: Error ๐- message: "The platform configuration check was unable to retrieve the namespace information."
- arguments: none
623โ severity: Warning โ ๏ธ- message: "The platform configuration check detected that the BIOS settings do not currently allow memory provisioning from this software."
- arguments: none
624โ severity: Error ๐- message: "The platform configuration check detected that the BIOS
- arguments: (cut off right here in this bit โ the rest of this one is coming up next, hold on bestie ๐ซถ)
ngl this table is giving long, but every code matters, so we're doing all of them. no skipping, no summarising, periodt. ๐
๐ the row with an empty code box
bestie this row has nothing in the code column, and that's not a glitch โ it means it's a continuation of the code from right before it. Same code, extra drama. ๐ญ
- Severity: Error
- What it's saying: The platform configuration check detected that the BIOS could not apply the configuration goal on PMem module
[1]because of errors in the goal data. The detailed status is COUT table status:[2][3], Partition change table status:[4], Interleave change table 1 status:[5], Interleave change table 2 status:[6]. - Return data:
- Validation Status
- Text error code corresponding to the status code
- Partition Size Change Status
- Interleave Change Status
- Interleave Change Status
๐ฅ 625 โ Error
the BIOS tried to do the thing and just... could not. the resources said no. ๐
- What it's saying: The platform configuration check detected that the BIOS could not apply the configuration goal on PMem module
[1]because the system has insufficient resources. The detailed status is COUT table status:[2][3], Partition change table status:[4], Interleave change table 1 status:[5], Interleave change table 2 status:[6]. - Return data:
- PMem module Handle
- Validation Status
- Text error code corresponding to the status code
- Partition Size Change Status
- Interleave Change Status
- Interleave Change Status
๐ญ 626 โ Error
firmware said "not today" and honestly? respect. ๐ซถ
- What it's saying: The platform configuration check detected that the BIOS could not apply the configuration goal on PMem module
[1]because of a firmware error. The detailed status is COUT table status:[2][3], Partition change table status:[4], Interleave change table 1 status:[5], Interleave change table 2 status:[6]. - Return data:
- PMem module Handle
- Validation Status
- Text error code corresponding to the status code
- Partition Size Change Status
- Interleave Change Status
- Interleave Change Status
๐
627 โ Error
the mystery-flavoured failure. no reason given, just vibes. ๐
- What it's saying: The platform configuration check detected that the BIOS could not apply the configuration goal on PMem module
[1]for an unknown reason. The detailed status is COUT table status:[2][3], Partition change table status:[4], Interleave change table 1 status:[5], Interleave change table 2 status:[6]. - Return data:
- PMem module Handle
- Validation Status
- Text error code corresponding to the status code
- Partition Size Change Status
- Interleave Change Status
- Interleave Change Status
๐ฆ 628 โ Error
somebody moved the modules. the interleave set is broken and it's giving "who touched my stuff" energy. โจ
- What it's saying: The platform configuration check detected that interleave set
[1]is broken because the PMem modules were moved[2]. - Return data:
- Interleave set index ID
- List of moved PMem modules.
๐ธ 629 โ Error
the platform looked at ADR and was like "we don't do that here". ๐
- What it's saying: The platform configuration check detected that the platform does not support ADR
โฆand therefore data integrity is not guaranteed on the PMem modules. (okay that was the tail end of the last code, we're back ๐)
630โ Error โ An internal error caused the platform configuration check to abort. no args, it just gave up ๐ญ631โ Error โ The platform configuration check detected that interleave set [1] is broken because the PMem module with UID: [2] is missing from location (Socket-Die-iMC-Channel-Slot) [3]. one of the girlies is literally not in the building ๐- Arguments โ 1. Interleave set index ID 2. PMem module UID 3. Location ID
632โ Error โ The platform configuration check detected that interleave set [1] is broken because the PMem module with UID: [2] is misplaced. It is currently in location (Socket-Die-iMC-Channel-Slot) [3] and should be moved to (Socket-Die-iMC-Channel-Slot) [4]. she's here, she's just in the wrong seat bestie, move her ๐ซถ- Arguments โ 1. Interleave set index ID 2. PMem module UID 3. Location ID 4. Location ID
633โ Error โ The platform configuration check detected that the BIOS could not fully map memory on PMem module [1] because of an error in current configuration. The detailed status is CCUR table status: [2] [3]. the BIOS tried its best and its best was not enough ๐- Arguments โ 1. PMem module Handle 2. Current Configuration Status 3. Text error code corresponding to the status code
๐ Security Check Events ๐
The security check diagnostic test group verifies that all Intelยฎ Optaneโข PMem modules have a consistent security state. vibe check but for security settings, and everyone has to match ๐
Table 3. Table Security Check Events
800โ Info โ The security check succeeded. ate, no crumbs, we love to see it โจ801โ Info โ The security check detected that there are no manageable PMem modules. nothing to check, the party is empty ๐802โ Warning โ The security check detected that security settings are inconsistent [1]. somebody's settings did NOT match and it's giving chaos ๐- Arguments โ 1. A comma separated list of the number of PMem modules in each security state
804โ Info โ The security check detected that security is not supported on all PMem modules. not every module even got the memo that security was a thing ๐ฆ805โ Error โ An internal error caused the security check to abort. the check literally walked out mid-conversation ๐
๐ ๏ธ Firmware Consistency and Settings Check Events ๐ ๏ธ
This test group verifies that all PMem modules of a given subsystem device ID have consistent FW installed and other FW modifiable attributes are set in accordance with best practices. like a group project where everyone actually submitted the same version, and also followed the rubric ๐ฅ
๐ Table 4. Table Firmware Consistency and Settings Check Events โจ
columns: Code, Severity, Message, Arguments โ in that order, no cap ๐
okay bestie, here's the full event roster. every code, every severity, every message, every argument. no skips, no summaries, we're eating today ๐
900โ Info โ the firmware consistency and settings check succeeded. no arguments, she's simply thriving ๐ธ901โ Info โ the firmware consistency and settings check detected that there are no manageable PMem modules. no arguments, periodt ๐902โ Warning โ the firmware consistency and settings check detected that firmware version on PMem modules[1]with subsystem device ID[2]is non-optimal, and the preferred version is[3].- Arguments:
- comma separated list of PMem module UIDs
- subsystem device ID
- preferred firmware version
- Arguments:
903โ Warning โ the firmware consistency and settings check detected that PMem module[1]is reporting a non-critical media temperature threshold of[2]C which is above the fatal threshold[3]C. UID:[4]- Arguments:
- PMem module Handle
- Current media temperature threshold
- Fatal media temperature threshold
- PMem module UID
- Arguments:
904โ Warning โ the firmware consistency and settings check detected that PMem module[1]is reporting a non-critical controller temperature threshold of[2]C which is above the fatal threshold[3]C. UID:[4]- Arguments:
- PMem module Handle
- Current controller temperature threshold
- Fatal controller temperature threshold
- PMem module UID
- Arguments:
905โ Warning โ the firmware consistency and settings check detected that PMem module[1]is reporting a percentage remaining of[2]% which is below the recommended threshold[3]%. UID:[4]- Arguments:
- PMem module Handle
- Current percentage remaining threshold
- Recommended percentage remaining threshold
- PMem module UID
- Arguments:
906โ Warning โ the firmware consistency and settings check detected that PMem modules have inconsistent viral policy settings. no arguments, just vibes and chaos ๐ซ910โ Error โ an internal error caused the firmware consistency and settings check to abort. no arguments. this one is not cute, bestie ๐ญ911โ Warning โ the firmware consistency and settings check detected that PMem modules have inconsistent first fast refresh settings. no arguments.
and that's the whole page, bestie ๐ brought to you by ipmctl, dated 2024-04-22, living under IPMCTL-START-DIAGNOSTIC(1). 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