meta-bletchley: power-ctrl: add host recovery mode
Add command to trigger host recovery mode
Signed-off-by: Potin Lai <potin.lai@quantatw.com>
Change-Id: I1067c347b975ef531a58e6022e3ef4d9f3eee67a
diff --git a/meta-facebook/meta-bletchley/recipes-bletchley/motor-ctrl/files/power-ctrl b/meta-facebook/meta-bletchley/recipes-bletchley/motor-ctrl/files/power-ctrl
index b27ca32..4b0ec8a 100755
--- a/meta-facebook/meta-bletchley/recipes-bletchley/motor-ctrl/files/power-ctrl
+++ b/meta-facebook/meta-bletchley/recipes-bletchley/motor-ctrl/files/power-ctrl
@@ -309,7 +309,7 @@
}
function show_usage(){
- echo "Usage: power-ctrl [sled1 | sled2 | sled3 | sled4 | sled5 | sled6] [on off ac-on ac-off status dfu]"
+ echo "Usage: power-ctrl [sled1 | sled2 | sled3 | sled4 | sled5 | sled6] [on off ac-on ac-off status dfu recovery]"
echo " power-ctrl chassis-cycle"
}
@@ -422,6 +422,29 @@
echo "SLED$SLED_NUM: release power button failed"
exit 1
fi
+elif [[ "$ACTION" == "recovery" ]]; then
+ if [ "$(get_ac_status "$SLED_NUM")" != "$HOST_AC_OFF" ]; then
+ echo "Please turn off host before trigger recovery mode"
+ exit 1
+ fi
+ echo "Set host$SLED_NUM Recovery mode"
+
+ # press power button
+ echo "SLED$SLED_NUM: pressing power button"
+ if ! press_power_button "$SLED_NUM"; then
+ echo "SLED$SLED_NUM: press power button failed"
+ echo "SLED$SLED_NUM: releasing power button"
+ release_power_button "$SLED_NUM"
+ exit 1
+ fi
+ sleep 10
+
+ # release power button
+ echo "SLED$SLED_NUM: releasing host power button"
+ if ! release_power_button "$SLED_NUM"; then
+ echo "SLED$SLED_NUM: release power button failed"
+ exit 1
+ fi
else
echo "Unknown action: [ ${ACTION} ]"
show_usage