diff options
author | Jason M. Bills <jason.m.bills@linux.intel.com> | 2020-12-08 00:38:17 +0300 |
---|---|---|
committer | Jason M. Bills <jason.m.bills@linux.intel.com> | 2020-12-08 00:38:17 +0300 |
commit | 8d6ae7f2a817751fad151168fa10ce28ee0869d8 (patch) | |
tree | 281032f7ec07c41589aa094bd165cc2a98f2d3a7 /meta-quanta/meta-gbs/recipes-gbs/boot-status-led/files/boot-status-led.sh | |
parent | c16fb8893b19075db4bcf3b5bf33c1db8c3ca2bd (diff) | |
parent | 5da3c2284560a7e08ffafd03c5b5ba44a3242228 (diff) | |
download | openbmc-8d6ae7f2a817751fad151168fa10ce28ee0869d8.tar.xz |
Merge tag '0.26' of ssh://git-amr-1.devtools.intel.com:29418/openbmc-openbmc into update
Diffstat (limited to 'meta-quanta/meta-gbs/recipes-gbs/boot-status-led/files/boot-status-led.sh')
-rw-r--r-- | meta-quanta/meta-gbs/recipes-gbs/boot-status-led/files/boot-status-led.sh | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/meta-quanta/meta-gbs/recipes-gbs/boot-status-led/files/boot-status-led.sh b/meta-quanta/meta-gbs/recipes-gbs/boot-status-led/files/boot-status-led.sh new file mode 100644 index 000000000..a80082a1c --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-gbs/boot-status-led/files/boot-status-led.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +BOOT_SERVICE_NAME="xyz.openbmc_project.State.Host" +BOOT_STATUS_OBJPATH="/xyz/openbmc_project/state/os" +BOOT_INTERFACE_NAME="xyz.openbmc_project.State.OperatingSystem.Status" +BOOT_Property="OperatingSystemState" + +LED_SERVICE_NAME="xyz.openbmc_project.LED.GroupManager" +LED_INACTIVE_OBJPATH="/xyz/openbmc_project/led/groups/boot_status_inactive" +LED_STANDBY_OBJPATH="/xyz/openbmc_project/led/groups/boot_status_standby" +LED_INTERFACE_NAME="xyz.openbmc_project.Led.Group" +LED_Property="Asserted" + +PWR_STATE_SERVICE="xyz.openbmc_project.State.Chassis" +PWR_STATE_OBJPATH="/xyz/openbmc_project/state/chassis0" +PWR_STATE_INTERFACE_NAME="xyz.openbmc_project.State.Chassis" +PWR_STATE_Property="CurrentPowerState" + +boot_status="" +power_state="" +led_status="" + +mapper wait $LED_INACTIVE_OBJPATH +mapper wait $LED_STANDBY_OBJPATH +while true; do + power_state="$(busctl get-property $PWR_STATE_SERVICE $PWR_STATE_OBJPATH $PWR_STATE_INTERFACE_NAME $PWR_STATE_Property | awk '{print $2}')" + + boot_status="$(busctl get-property $BOOT_SERVICE_NAME $BOOT_STATUS_OBJPATH $BOOT_INTERFACE_NAME $BOOT_Property | awk '{print $2}')" + + if [[ $power_state != "\"xyz.openbmc_project.State.Chassis.PowerState.On\"" ]];then + if [[ $led_status != "OFF" ]];then + busctl set-property $LED_SERVICE_NAME $LED_INACTIVE_OBJPATH $LED_INTERFACE_NAME $LED_Property b false + busctl set-property $LED_SERVICE_NAME $LED_STANDBY_OBJPATH $LED_INTERFACE_NAME $LED_Property b false + led_status="OFF" + fi + continue + else + if [[ $boot_status != "\"Standby\"" ]] && [[ $led_status != "BLINKING" ]];then + busctl set-property $LED_SERVICE_NAME $LED_INACTIVE_OBJPATH $LED_INTERFACE_NAME $LED_Property b true + led_status="BLINKING" + elif [[ $boot_status == "\"Standby\"" ]] && [[ $led_status != "ON" ]];then + busctl set-property $LED_SERVICE_NAME $LED_INACTIVE_OBJPATH $LED_INTERFACE_NAME $LED_Property b false + busctl set-property $LED_SERVICE_NAME $LED_STANDBY_OBJPATH $LED_INTERFACE_NAME $LED_Property b true + led_status="ON" + fi + fi + sleep 1 +done + +exit 0 |