diff options
Diffstat (limited to 'target/linux/brcm63xx/base-files/etc/diag.sh')
-rwxr-xr-x | target/linux/brcm63xx/base-files/etc/diag.sh | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/base-files/etc/diag.sh b/target/linux/brcm63xx/base-files/etc/diag.sh new file mode 100755 index 0000000..f77200a --- /dev/null +++ b/target/linux/brcm63xx/base-files/etc/diag.sh @@ -0,0 +1,67 @@ +#!/bin/sh +# +# Copyright (C) 2007 OpenWrt.org +# +# + +. /lib/brcm63xx.sh + +led_set_attr() { + [ -f "/sys/class/leds/$1/$2" ] && echo "$3" > "/sys/class/leds/$1/$2" +} + +status_led_set_timer() { + led_set_attr $status_led "trigger" "timer" + led_set_attr $status_led "delay_on" "$1" + led_set_attr $status_led "delay_off" "$2" + [ -n "$status_led2" ] && { + led_set_attr $status_led2 "trigger" "timer" + led_set_attr $status_led2 "delay_on" "$1" + led_set_attr $status_led2 "delay_off" "$2" + } +} + +status_led_set_morse() { + led_set_attr $status_led "trigger" "morse" + led_set_attr $status_led "delay" "$1" + led_set_attr $status_led "message" "$2" + [ -n "$status_led2" ] && { + led_set_attr $status_led2 "trigger" "morse" + led_set_attr $status_led2 "delay" "$1" + led_set_attr $status_led2 "message" "$2" + } +} + +status_led_on() { + led_set_attr $status_led "trigger" "none" + led_set_attr $status_led "brightness" 255 + [ -n "$status_led2" ] && { + led_set_attr $status_led2 "trigger" "none" + led_set_attr $status_led2 "brightness" 255 + } +} + +status_led_off() { + led_set_attr $status_led "trigger" "none" + led_set_attr $status_led "brightness" 0 + [ -n "$status_led2" ] && { + led_set_attr $status_led2 "trigger" "none" + led_set_attr $status_led2 "brightness" 0 + } +} + +set_state() { + case "$1" in + preinit) + insmod leds-gpio + status_led_on + status_led_set_timer 200 200 + ;; + failsafe) + status_led_set_timer 50 50 + ;; + done) + status_led_off + ;; + esac +} |