summaryrefslogtreecommitdiff
path: root/target/linux/ipq806x/base-files/etc/diag.sh
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ipq806x/base-files/etc/diag.sh')
-rwxr-xr-xtarget/linux/ipq806x/base-files/etc/diag.sh35
1 files changed, 23 insertions, 12 deletions
diff --git a/target/linux/ipq806x/base-files/etc/diag.sh b/target/linux/ipq806x/base-files/etc/diag.sh
index 0bf5934..7c9a9d0 100755
--- a/target/linux/ipq806x/base-files/etc/diag.sh
+++ b/target/linux/ipq806x/base-files/etc/diag.sh
@@ -1,34 +1,45 @@
#!/bin/sh
+# Copyright (C) 2016 Henryk Heisig hyniu@o2.pl
. /lib/functions/leds.sh
. /lib/ipq806x.sh
-get_status_led() {
- case $(ipq806x_board_name) in
- c2600)
- status_led="c2600:blue:status"
- ;;
- ea8500)
- status_led="ea8500:white:power"
- ;;
- esac
-}
+boot="$(ipq806x_get_dt_led boot)"
+failsafe="$(ipq806x_get_dt_led failsafe)"
+running="$(ipq806x_get_dt_led running)"
+upgrade="$(ipq806x_get_dt_led upgrade)"
set_state() {
- get_status_led
+ status_led="$boot"
case "$1" in
preinit)
status_led_blink_preinit
;;
failsafe)
+ status_led_off
+ [ -n "$running" ] && {
+ status_led="$running"
+ status_led_off
+ }
+ status_led="$failsafe"
status_led_blink_failsafe
;;
preinit_regular)
status_led_blink_preinit_regular
;;
+ upgrade)
+ [ -n "$running" ] && {
+ status_led="$upgrade"
+ status_led_blink_preinit_regular
+ }
+ ;;
done)
- status_led_on
+ status_led_off
+ [ -n "$running" ] && {
+ status_led="$running"
+ status_led_on
+ }
;;
esac
}