// Copyright (c) 2020, Intel Corporation.
// SPDX-License-Identifier: BSD-3-Clause

ifdef::manpage[]
ipmctl-show-error-log(1)
========================
endif::manpage[]

NAME
----
ipmctl-show-error-log - Shows thermal or media errors on the specified PMem modules

SYNOPSIS
--------
[listing]
ipmctl show [OPTIONS] -error (Thermal|Media) [TARGETS] [PROPERTIES]

DESCRIPTION
-----------
Shows thermal or media errors on the specified PMem modules.

OPTIONS
-------
-a::
-all::
  Shows all attributes.

-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.

-lpmb::
  Used to specify large transport payload size for the current invocation of ipmctl.

-spmb::
  Used to specify small transport payload size for the current invocation of ipmctl.

NOTE: The -lpmb and -spmb options are mutually exclusive and may not be used together.

ifdef::os_build[]
-o (text|nvmxml)::
-output (text|nvmxml)::
  Changes the output format. One of: "text" (default) or "nvmxml".
endif::os_build[]

TARGETS
-------
-dimm [DimmIDs]::
  Filter output to specific PMem modules by optionally supplying one or more
  comma-separated PMem module identifiers. The default is to include all manageable PMem modules.

PROPERTIES
----------
SequenceNumber::
  Error log entries are stored with a sequence number starting with 1 and
  rolling over back to 1 after 65535. Limit the error log entries returned by
  providing a sequence number. Only errors with a sequence number equal to or
  higher than provided will be returned. The default is 1.

Level::
  Severity level of errors to be fetched. One of:
  - "High": High severity errors (Default)
  - "Low": Low severity errors

Count::
  Max number of error entries to be fetched and printed.
  The default is 8 for media errors and 16 for thermal errors.

EXAMPLES
--------
Show all high thermal error log entries
[listing]
ipmctl show -error Thermal Level=High

Show all low media error log entries
[listing]
ipmctl show -error Media Level=Low

LIMITATIONS
-----------
To successfully execute this command, the specified PMem modules must be manageable
by the host software. In addition, for PMem modules with firmware version 2.3 and above,
errors due to AIT operations are no longer exposed.

RETURN DATA
-----------
Prints errors of the specified type for the specified PMem modules. If no errors are found, the
following message will be printed:
[listing]
No errors found on PMem module (DimmID)

SAMPLE OUTPUT
-------------
[listing]
--
 DimmID | System Timestamp    | Error Type
=============================================================
 0x0001 | 01/01/1970 00:00:20 | 0x04 - Locked/Illegal Access
 0x0001 | 01/01/1970 00:00:21 | 0x04 - Locked/Illegal Access
Show error executed successfully
--

[listing]
--
Media Error occurred on Dimm (DimmID):
System Timestamp : 1527266471
DPA : 0x000014c0
PDA : 0x00000600
Range : 4B
Error Type : 4 - Locked/Illegal Access
Error Flags : DPA Valid
Transaction Type : 11 - CSR Write
Sequence Number : 2
--