aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/base-files/etc/diag.sh
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2015-12-17 09:27:52 +0000
committerJohn Crispin <blogic@openwrt.org>2015-12-17 09:27:52 +0000
commit8aefd6d65c769efff4d3969d857e5931e1a3a846 (patch)
tree008d0aa4a2938158e34251eeb887355a1f642e02 /target/linux/lantiq/base-files/etc/diag.sh
parente929c43a321cee7985cc4853caf54a5a7b9a26f8 (diff)
downloadmaster-187ad058-8aefd6d65c769efff4d3969d857e5931e1a3a846.tar.gz
master-187ad058-8aefd6d65c769efff4d3969d857e5931e1a3a846.tar.bz2
master-187ad058-8aefd6d65c769efff4d3969d857e5931e1a3a846.zip
lantiq: Fix LED handling.
- Use common OpenWrt blink patterns instead of custom ones - Add preinit_regular hook - Handle the TDW89X0 that does not have a configurable power LED Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47914 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/lantiq/base-files/etc/diag.sh')
-rw-r--r--target/linux/lantiq/base-files/etc/diag.sh56
1 files changed, 32 insertions, 24 deletions
diff --git a/target/linux/lantiq/base-files/etc/diag.sh b/target/linux/lantiq/base-files/etc/diag.sh
index 26f0a3c8a9..57a7055127 100644
--- a/target/linux/lantiq/base-files/etc/diag.sh
+++ b/target/linux/lantiq/base-files/etc/diag.sh
@@ -3,40 +3,48 @@
. /lib/functions/leds.sh
-status_led="power"
+status_led=power
+[ ! -d /sys/class/leds/power/ ] && [ ! -d /sys/class/leds/power1/ ] && [ ! -d /sys/class/leds/power2/ ] && [ -d /sys/class/leds/wps/ ] && status_led=wps
set_state() {
- [ -d /sys/class/leds/power2/ ] && {
-
- case "$1" in
- preinit)
- led_set_attr "power2" "trigger" "heartbeat"
- status_led_on
- ;;
- failsafe)
- led_off "power2"
- status_led_set_timer 100 100
- ;;
- done)
- led_off "power2"
- ;;
- esac
- return
- }
-
case "$1" in
preinit)
- status_led_set_heartbeat
+ if [ -d /sys/class/leds/power2/ ]; then
+ status_led_on
+ status_led=power2
+ status_led_blink_preinit
+ status_led=power
+ else
+ status_led_blink_preinit
+ fi
;;
failsafe)
- [ -d /sys/class/leds/power1 ] && {
+ if [ -d /sys/class/leds/power2/ ]; then
+ led_off power2
+ status_led_blink_failsafe
+ elif [ -d /sys/class/leds/power1/ ]; then
status_led_off
- led_timer "power1" 100 100
- } || status_led_set_timer 100 100
+ status_led=power1
+ status_led_blink_failsafe
+ status_led=power
+ else
+ status_led_blink_failsafe
+ fi
+ ;;
+ preinit_regular)
+ if [ -d /sys/class/leds/power2/ ]; then
+ status_led_on
+ status_led=power2
+ status_led_blink_preinit_regular
+ status_led=power
+ else
+ status_led_blink_preinit_regular
+ fi
;;
done)
status_led_on
- led_off "power1"
+ led_off power1
+ led_off power2
;;
esac
}