Provided by: ipmctl_02.00.00.3709+ds-1_amd64 bug

NAME

       ipmctl-inject-error - Injects an error or clears a previously injected error

SYNOPSIS

       ipmctl set [OPTIONS] -dimm [TARGETS] [PROPERTIES]

DESCRIPTION

       Injects an error or clears a previously injected error on one or more DCPMM for testing
       purposes.

OPTIONS

       -h, -help
           Displays help for the command.

       -ddrt
           Used to specify DDRT as the desired transport protocol for the current invocation of
           ipmctl.

       -smbus
           Used to specify SMBUS as the desired transport protocol for the current invocation of
           ipmctl.

           Note
           The -ddrt and -smbus options are mutually exclusive and may not be used together.

       -o (text|nvmxml), -output (text|nvmxml)
           Changes the output format. One of: "text" (default) or "nvmxml".

TARGETS

       -dimm [DimmIDs]
           Injects or clears an error on specific DCPMMs by supplying one or more comma separated
           DCPMM identifiers. The default is to inject the error on all manageable DCPMMs.

PROPERTIES

       This command only supports setting or clearing one type of error at a time.

       Clear

           •   "1": Clears a previously injected error. This property must be combined with one
               of the other properties indicating the previously injected error to clear.

       Temperature
           Injects an artificial media temperature in degrees Celsius into the DCPMM. The
           firmware that is monitoring the temperature of the DCPMM will then be alerted and take
           necessary precautions to preserve the DCPMM. The value is injected immediately and
           will override the firmware from reading the actual media temperature of the device and
           use this value instead which may cause adverse reactions by the firmware and result in
           an alert or log.

           Note
           The injected temperature value will remain until the next reboot or until it is
           cleared. The media temperature is an artificial temperature and will not cause harm to
           the part. Although firmware actions due to improper temperature injections may cause
           adverse effects on the DCPMM.
           If the Critical Shutdown Temperature, or higher, is passed in, this may cause the
           DCPMM firmware to perform a shutdown in order to preserve the part and data.
           The temperature value will be ignored on clear.

       Poison
           The physical address to poison.
           Poison is not possible for any address in the PM region if the PM region is locked.
           Injected poison errors are only triggered on a subsequent read of the poisoned address
           in which case an error log will be generated by the firmware, but no alerts will be
           sent.
           This command can be used to clear non-injected poison errors. The data will be zero’d
           after clearing. There is no requirement to enable error injection prior to request to
           clear poison errors.
           The caller is responsible for keeping a list of injected poison errors, in order to
           properly clear the injected errors afterwards. Simply disabling injection does not
           clear injected poison errors. Injected poison errors are persistent across power
           cycles and system resets.

           Note
           The address must be 256 byte aligned (e.g., 0x10000000, 0x10000100, 0x10000200...).

       PoisonType
           The type of memory to poison. One of:

           •   "PatrolScrub": Injects a poison error at the specified address simulating an error
               found during a patrol scrub operation indifferent to how the memory is currently
               allocated, This is the default.

           •   "MemoryMode": Injects a poison error at the specified address currently allocated
               in Memory Mode.

           •   "AppDirect": Injects a poison error at the specified address currently allocated
               as App Direct.

           Note
           If the address to poison is not currently allocated as the specified memory type, an
           error is returned.

       PackageSparing

           •   "1": Triggers an artificial package sparing. If package sparing is enabled and the
               DCPMM still has spares remaining, this will cause the firmware to report that
               there are no spares remaining.

       PercentageRemaining
           Injects an artificial percentage remaining value into the DCPMM. This will cause the
           firmware to take appropriate action based on the value and if necessary generate an
           error log, an alert, and update the health status.

       FatalMediaError

           •   "1": Injects a fake media fatal error which will cause the firmware to generate an
               error log and an alert.

           Note
           When media fatal error is injected, BSR Media Disabled status bit will be set
           indicating media error, until the fatal error is cleared using disable trigger input
           parameter to clear this injected fatal error.

           Note
           Injecting a Fatal Media error is unsupported on Windows. Please contact Microsoft for
           assistance in performing this action.

       DirtyShutdown

           •   "1": Injects an ADR failure resulting in dirty shutdown upon reboot.

EXAMPLES

       Sets the media temperature on all manageable DCPMMs to 50 degrees Celsius.

       ipmctl set -dimm Temperature=50

       Clears the injected media temperature on all manageable DCPMMs.

       ipmctl set -dimm Clear=1 Temperature=1

       Poison address 0x10000200 on DCPMM 1234.

       ipmctl set -dimm 1234 Poison=0x10000200

       Clears the injected poison of address 0x10000200 on DCPMM 1234.

       ipmctl set -dimm 1234 Poison=0x10000200 Clear=1

       Triggers an artificial package sparing on all manageable DCPMMs.

       ipmctl set -dimm PackageSparing=1

       Sets the life remaining percentage on all manageable DCPMMs to 10%.

       ipmctl set -dimm PercentageRemaining=10

       Clears the injected remaining life percentage on all manageable DCPMMs. The value of
       PercentageRemaining is irrelevant.

       ipmctl set -dimm PercentageRemaining=10 Clear=1

       Triggers an artificial ADR failure on all manageable DCPMM s resulting in a dirty shutdown
       on each DCPMM on the next reboot.

       ipmctl set -dimm DirtyShutdown=1

LIMITATIONS

       This command is available only when error injection is enabled on the DCPMM(s) in the
       BIOS. To successfully execute this command, the specified DCPMM(s) must be manageable by
       the host software.

RETURN DATA

       For each DCPMM, the CLI will indicate the status of the operation. If a failure occurs
       when injecting an error on multiple DCPMMs, the process will continue with the remaining
       DCPMMs.

SAMPLE OUTPUT

       Set temperature on DCPMM (DimmID): Success|Error (Code) -
       (Description)
       Clear injected temperature on DCPMM (DimmID): Success|Error
       (Code) - (Description)

       Poison address (Address) on DCPMM (DimmID): Success|Error
       (Code) - (Description)
       Clear injected poison of address (Address) on DCPMM
       (DimmID): Success|Error (Code) - (Description)

       Trigger package sparing on DCPMM (DimmID): Success|Error
       (Code) - (Description)
       Clear injected package sparing on DCPMM (DimmID):
       Success|Error (Code) - (Description)

       Trigger a spare capacity alarm on DCPMM (DimmID):
       Success|Error (Code) - (Description)
       Clear injected spare capacity alarm on DCPMM (DimmID):
       Success|Error (Code) - (Description)

       Create a media fatal error on DCPMM (DimmID): Success|Error
       (Code) - (Description)
       Clear injected media fatal error on DCPMM (DimmID):
       Success|Error (Code) - (Description)