diff options
Diffstat (limited to 'target/linux/ar7/base-files/etc/diag.sh')
-rw-r--r-- | target/linux/ar7/base-files/etc/diag.sh | 34 |
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 +} |