aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar7/base-files/etc/diag.sh
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ar7/base-files/etc/diag.sh')
-rw-r--r--target/linux/ar7/base-files/etc/diag.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/target/linux/ar7/base-files/etc/diag.sh b/target/linux/ar7/base-files/etc/diag.sh
new file mode 100644
index 000000000..b8e4dc874
--- /dev/null
+++ b/target/linux/ar7/base-files/etc/diag.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+# Copyright (C) 2007 OpenWrt.org
+
+# This setup gives us 4.5 distinguishable states:
+#
+# Solid OFF: Bootloader running, or kernel hung (timer task stalled)
+# Solid ON: Kernel hung (timer task stalled)
+# 5Hz blink: preinit
+# 10Hz blink: failsafe
+# Heartbeat: normal operation
+
+set_state() {
+ case "$1" in
+ preinit)
+ [ -d /sys/class/leds/status ] && {
+ echo timer >/sys/class/leds/status/trigger
+ echo 100 >/sys/class/leds/status/delay_on
+ echo 100 >/sys/class/leds/status/delay_off
+ }
+ ;;
+ failsafe)
+ [ -d /sys/class/leds/status ] && {
+ echo timer >/sys/class/leds/status/trigger
+ echo 50 >/sys/class/leds/status/delay_on
+ echo 50 >/sys/class/leds/status/delay_off
+ }
+ ;;
+ done)
+ [ -d /sys/class/leds/status ] && {
+ echo heartbeat >/sys/class/leds/status/trigger
+ }
+ ;;
+ esac
+}