Vincent Chou | f16ca76 | 2022-09-12 10:31:29 -0500 | [diff] [blame^] | 1 | #!/bin/bash |
| 2 | |
| 3 | BOOT_SERVICE_NAME="xyz.openbmc_project.State.Host" |
| 4 | BOOT_STATUS_OBJPATH="/xyz/openbmc_project/state/host0" |
| 5 | BOOT_INTERFACE_NAME="xyz.openbmc_project.State.OperatingSystem.Status" |
| 6 | BOOT_Property="OperatingSystemState" |
| 7 | |
| 8 | LED_SERVICE_NAME="xyz.openbmc_project.LED.GroupManager" |
| 9 | LED_INACTIVE_OBJPATH="/xyz/openbmc_project/led/groups/boot_status_inactive" |
| 10 | LED_STANDBY_OBJPATH="/xyz/openbmc_project/led/groups/boot_status_standby" |
| 11 | LED_INTERFACE_NAME="xyz.openbmc_project.Led.Group" |
| 12 | LED_Property="Asserted" |
| 13 | |
| 14 | boot_status="" |
| 15 | led_status="" |
| 16 | |
| 17 | while true; do |
| 18 | boot_status="$(busctl get-property $BOOT_SERVICE_NAME $BOOT_STATUS_OBJPATH $BOOT_INTERFACE_NAME $BOOT_Property | awk '{print $2}')" |
| 19 | |
| 20 | if [[ $boot_status != "\"xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Standby\"" ]] && [[ $led_status != "BLINKING" ]];then |
| 21 | busctl set-property $LED_SERVICE_NAME $LED_INACTIVE_OBJPATH $LED_INTERFACE_NAME $LED_Property b true |
| 22 | busctl set-property $LED_SERVICE_NAME $LED_STANDBY_OBJPATH $LED_INTERFACE_NAME $LED_Property b false |
| 23 | led_status="BLINKING" |
| 24 | elif [[ $boot_status == "\"xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Standby\"" ]] && [[ $led_status != "ON" ]];then |
| 25 | busctl set-property $LED_SERVICE_NAME $LED_INACTIVE_OBJPATH $LED_INTERFACE_NAME $LED_Property b false |
| 26 | busctl set-property $LED_SERVICE_NAME $LED_STANDBY_OBJPATH $LED_INTERFACE_NAME $LED_Property b true |
| 27 | led_status="ON" |
| 28 | fi |
| 29 | |
| 30 | sleep 10 |
| 31 | |
| 32 | done |
| 33 | |
| 34 | exit 0 |