-
Notifications
You must be signed in to change notification settings - Fork 21
RPC Debug Command Design Document
Proposed
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 debug command to rpc-go that consolidates all diagnostic and troubleshooting capabilities. The command structure will be:
rpc
└── debug
├── cira
├── csme
└── wsman
├── get
└── listrpc debug <subcommand> [options]rpc debug --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 debug 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 debug cira
# Retrieve CIRA connection logs and save as text to a specified file
rpc debug cira --output /tmp/cira.txt
# Retrieve CIRA connection logs and save as JSON to a specified file
rpc debug cira --format json --output /tmp/cira.jsonRetrieves CSME Flash Log (FLOG) for firmware debugging.
rpc debug 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 debug csme
# Retrieve CSME Flash Log and save to specified binary file
rpc debug csme --output /tmp/csme_crashdump.binRetrieves AMT WSMAN class data for debugging purposes.
List Supported Classes:
rpc debug wsman listRetrieve WSMAN Class Data:
rpc debug 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) |
json |
--all, -a |
Retrieve data for all available WSMAN classes |
Examples:
# List all supported WSMAN classes (does not fetch data)
rpc debug wsman list
# Fetch data for all WSMAN classes and output as JSON to console
rpc debug wsman get --all
# Fetch data for a single WSMAN class and output as JSON to console
rpc debug wsman get --class AMT_GeneralSettings
# Fetch data for a single WSMAN class and save to a specified file
rpc debug wsman get --class AMT_AuditLog --output audit.json
# Fetch data for all supported WSMAN classes and save as XML to a file
rpc debug wsman get --format xml --output all_classes.xml
# Fetch data for multiple WSMAN classes and output to console
rpc debug wsman get -c AMT_GeneralSettings -c AMT_EthernetPortSettings| Class Name | Description |
|---|---|
AMT_8021XProfile |
802.1X authentication profiles |
AMT_AssetTable |
Hardware asset inventory |
AMT_AssetTableService |
Asset table service |
AMT_MessageLog |
System message log |
AMT_Hdr8021Filter |
802.1X header filters |
AMT_AuditLog |
Security audit log |
AMT_BootCapabilities |
Boot capability information |
AMT_BootSettingData |
Boot configuration settings |
AMT_CryptographicCapabilities |
Crypto capabilities |
AMT_EventLogEntry |
Event log entries |
AMT_EnvironmentDetectionSettingData |
Environment detection config |
AMT_EthernetPortSettings |
Ethernet port configuration |
AMT_GeneralSettings |
General AMT settings |
AMT_ManagementPresenceRemoteSAP |
MPS remote SAP |
AMT_RedirectionService |
Redirection service status |
AMT_RemoteAccessCapabilities |
Remote access capabilities |
AMT_RemoteAccessPolicyRule |
Remote access policy rules |
AMT_SetupAndConfigurationService |
Setup and config service |
AMT_SystemPowerScheme |
Power scheme configuration |
AMT_WiFiPortConfigurationService |
WiFi port config service |
AMT_UserInitiatedConnectionService |
User-initiated connection |
AMT_RemoteAccessPolicyAppliesToMPS |
MPS policy mappings |
CIM_BIOSFeature |
BIOS feature information |
CIM_EthernetPort |
Ethernet port information |
CIM_KVMRedirectionSAP |
KVM redirection SAP |
CIM_PowerManagementCapabilities |
Power management capabilities |
CIM_RedirectionService |
Redirection service |
CIM_SoftwareIdentity |
Software version info |
CIM_WiFiEndpoint |
WiFi endpoint info |
CIM_WiFiEndpointSettings |
WiFi endpoint settings |
IPS_OptInService |
Opt-in service status |