aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar7/base-files/etc/diag.sh
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2007-12-07 00:03:14 +0000
committerFelix Fietkau <nbd@openwrt.org>2007-12-07 00:03:14 +0000
commiteeebde136dabb336e85491057fe8af8c351e9c04 (patch)
tree74e0b2f42c6a818e0f55758b8f47840fc934f96e /target/linux/ar7/base-files/etc/diag.sh
parentf648fc7bc0a62240e893137892d77ba8283c17cf (diff)
downloadupstream-eeebde136dabb336e85491057fe8af8c351e9c04.tar.gz
upstream-eeebde136dabb336e85491057fe8af8c351e9c04.tar.bz2
upstream-eeebde136dabb336e85491057fe8af8c351e9c04.zip
Minor patch to the AR7 diag.sh to make the status LED a bit more useful. From the patch:
This setup gives us 3.5 distinguishable states: - Solid OFF: Bootloader running, or kernel hung (timer task stalled) - Solid ON: Kernel hung (timer task stalled) - 5Hz blink: preinit - Heartbeat: normal operation Signed-off-by: oliver@opencloud.com SVN-Revision: 9666
Diffstat (limited to 'target/linux/ar7/base-files/etc/diag.sh')
-rw-r--r--target/linux/ar7/base-files/etc/diag.sh33
1 files changed, 20 insertions, 13 deletions
diff --git a/target/linux/ar7/base-files/etc/diag.sh b/target/linux/ar7/base-files/etc/diag.sh
index af4a1f3c91..0ce17cae89 100644
--- a/target/linux/ar7/base-files/etc/diag.sh
+++ b/target/linux/ar7/base-files/etc/diag.sh
@@ -1,19 +1,26 @@
#!/bin/sh
# Copyright (C) 2007 OpenWrt.org
-set_led() {
- local led="$1"
- local state="$2"
- [ -d "/sys/class/leds/$led" ] && echo "$state" > "/sys/class/leds/$led/brightness"
-}
+# This setup gives us 3.5 distinguishable states:
+#
+# Solid OFF: Bootloader running, or kernel hung (timer task stalled)
+# Solid ON: Kernel hung (timer task stalled)
+# 5Hz blink: preinit
+# Heartbeat: normal operation
set_state() {
- case "$1" in
- preinit)
- set_led status 255
- ;;
- done)
- set_led status 0
- ;;
- esac
+ 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
+ }
+ ;;
+ done)
+ [ -d /sys/class/leds/status ] && {
+ echo heartbeat >/sys/class/leds/status/trigger
+ }
+ ;;
+ esac
}