-
Notifications
You must be signed in to change notification settings - Fork 24
RPC Diagnostic Command Design Document
Confirmed
Currently, RPC-Go lacks consolidated diagnostic and troubleshooting capabilities for Intel AMT. Users and support teams need the ability to:
-
Troubleshoot CIRA Connectivity (Issue #1003): When AMT is connected in CIRA mode, it maintains data about session open/close times, closure reasons, and connectivity statistics. This data can be retrieved through PTHI command
CFG_Getcirabut is not currently exposed via rpc-go. -
Diagnose CSME/ME Firmware Errors (Issue #1004): CSME has a small partition in the SPI flash where it can save critical errors that occur during its life cycle. This FLOG data can be retrieved using HECI command
HothamCtlGetFlogvia HOTHAM protocol, but there is no mechanism to retrieve it via rpc-go for Intel support team analysis. -
Access AMT WSMAN Classes Without Password (Issue #1005): OS administrators need to access certain AMT WSMAN classes without requiring the AMT password for debugging purposes.
We will introduce a new diagnostic command to rpc-go that consolidates all diagnostic and troubleshooting capabilities. The command structure will be:
rpc
└── diagnostic
├── cira
├── csme
└── wsman
├── get
└── listrpc diagnostic <subcommand> [options]rpc diagnostic --help
List of available debug sub-commands:
cira - CIRA debug information (connection logs)
csme - CSME debug information (Flash Log / firmware error records)
wsman - AMT WSMAN debug class data retrievalRetrieves CIRA connection logs.
rpc diagnostic cira [options]| Flag | Description | Default |
|---|---|---|
--output, -o |
Output file path | stdout |
--format, -f |
Output format (json, text) |
text |
Examples:
# Retrieve CIRA connection logs and output as text to console
rpc diagnostic cira
# Retrieve CIRA connection logs and save as text to a specified file
rpc diagnostic cira --output /tmp/cira.txt
# Retrieve CIRA connection logs and save as JSON to a specified file
rpc diagnostic cira --format json --output /tmp/cira.jsonRetrieves CSME Flash Log (FLOG) for firmware debugging.
rpc diagnostic csme [options]| Flag | Description | Default |
|---|---|---|
--output, -o |
Output file path for binary data | csme_flog.bin |
Examples:
# Retrieve CSME Flash Log and save to default file (csme_flog.bin)
rpc diagnostic csme
# Retrieve CSME Flash Log and save to specified binary file
rpc diagnostic csme --output /tmp/csme_crashdump.binRetrieves AMT WSMAN class data for debugging purposes.
List Supported Classes:
rpc diagnostic wsman listRetrieve WSMAN Class Data:
rpc diagnostic wsman get [options]| Flag | Description | Default |
|---|---|---|
--class, -c |
Specific WSMAN class to retrieve | |
--output, -o |
Output file path | stdout |
--format, -f |
Output format (json, xml, table) |
json |
--all, -a |
Retrieve data for all available WSMAN classes |
Examples:
# List all supported WSMAN classes (does not fetch data)
rpc diagnostic wsman list
# Fetch data for all WSMAN classes and output as JSON to console
rpc diagnostic wsman get --all
# Fetch data for a single WSMAN class and output as JSON to console
rpc diagnostic wsman get --class AMT_GeneralSettings
# Fetch data for a single WSMAN class and save to a specified file
rpc diagnostic wsman get --class AMT_AuditLog --output audit.json
# Fetch data for all supported WSMAN classes and save as XML to a file
rpc diagnostic wsman get --format xml --output all_classes.xml
# Fetch only limited data in tabular format
rpc diagnostic wsman get --class AMT_GeneralSettings --format xml
# Fetch data for multiple WSMAN classes and output to console
rpc diagnostic wsman get -c AMT_GeneralSettings -c AMT_EthernetPortSettings