blob: 237e432537a95842563e136d92c4f4ed4ea83866 [file] [log] [blame]
#!/bin/bash
# shellcheck disable=SC2120
# Provide source directive to shellcheck.
# shellcheck source=meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/power-cmd
source /usr/libexec/phosphor-state-manager/power-cmd
# TODO: check power status before do power cycle
# Set state effecter state: Entity ID 0x0000 for host power control, 0x3 for power cycle
GETEID=$(busctl call "$MCTP_BUS_NAME" "$MCTP_OBJ_PATH" "$MCTP_INTF_NAME" LearnEndpoint say "mctpi2c$(($1-1))" 1 0x20)
EID=$(echo "$GETEID" | awk '{print $2}')
if ! pldmtool raw -d 0x80 0x02 0x39 0x00 0x00 0x01 0x00 0x03 -m "$EID"
then
echo "Failed to set host$1 power cycle"
else
echo "Host is power cycle"
fi