AMD S2Idle

Test AMD S2Idle (suspend-to-idle) functionality using the AMD debug tools. This command runs comprehensive suspend/resume cycle testing with detailed validation and reporting.

The DUT needs amd-s2idle on PATH. The step runs it without sudo, so connect as root. The step also runs ethtool to enable Wake-on-LAN and only logs a warning when this fails. To get both tools in an image built on the FirmwareCI base image, set firmwareci.amdDebug.enable = true.

AttributeTypeRequiredDefaultDescription
cmdconstYesamd-s2idleCommand Name
namestringYesName to uniquely identify the teststep. This name will show up in reports, logs and the WebUI
transportTransportObjectYesAdditional transport options
optionsOptionsObjectNoAdditional command options
parametersAMDS2IdleOptionsNoOptions passed into the amd-s2idle tool

AMD S2Idle Options

AttributeTypeRequiredDefaultDescription
countintegerNo10Number of suspend/resume cycles to run
durationintegerNo10Duration of each suspend cycle in seconds
waitintegerNo4Time to wait before starting each cycle in seconds
formatstringNostdoutFormat of the report to produce. Options: html, txt, md, stdout
report_filestringNoFile path to write the report to (only applicable if format is html, txt, or md)
forcebooleanNofalseRun test cycle even if the system fails prerequisite checks
randombooleanNofalseRun sleep cycles with random durations and waits (using duration and wait as upper bounds)
logindbooleanNofalseUse systemd-logind to suspend the system
tool_debugbooleanNofalseEnable debug logging for the tool
bios_debugbooleanNofalseEnable BIOS/firmware debug logging

AMD S2Idle Examples

Basic Usage

cmd: amd-s2idle
name: Run AMD S2Idle test with defaults
transport:
  proto: ssh
  options:
    host: "[[attributes.Host]]"
    user: root

Custom Parameters

cmd: amd-s2idle
name: Run extended AMD S2Idle test
transport:
  proto: ssh
  options:
    host: "[[attributes.Host]]"
    user: root
options:
  timeout: 30m
parameters:
  count: 20
  duration: 15
  wait: 5
  format: html
  report_file: /tmp/s2idle-report.html

With Debug Logging

cmd: amd-s2idle
name: Run AMD S2Idle test with debug logging
transport:
  proto: ssh
  options:
    host: "[[attributes.Host]]"
    user: root
parameters:
  count: 5
  duration: 10
  tool_debug: true
  bios_debug: true