use the second available LED to encore mode boot states
authorFlorian Fainelli <florian@openwrt.org>
Sat, 13 Oct 2012 17:47:04 +0000 (17:47 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Sat, 13 Oct 2012 17:47:04 +0000 (17:47 +0000)
Patch from Daniel Gimpelevich.

SVN-Revision: 33749

target/linux/ar7/base-files/etc/diag.sh
target/linux/ar7/config-3.3

index b8e4dc8740d04f48854cfd9d18a4fac464591ed3..25ec89934db8ca41720cb6b4a2bb54c88d916dd7 100644 (file)
@@ -1,13 +1,16 @@
 #!/bin/sh
-# Copyright (C) 2007 OpenWrt.org
+# Copyright (C) 2007-2012 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
+# (1-LED) Solid OFF:    Bootloader running, or kernel hung (timer task stalled)
+# (1-LED) Solid ON:     Kernel hung (timer task stalled)
+# (2-LED) Solid RED:    Bootloader running, or kernel hung (timer task stalled)
+# (2-LED) Solid YELLOW: Kernel hung (timer task stalled)
+# 5Hz blink:            preinit
+# 10Hz blink:           failsafe
+# (1-LED) Heartbeat:    normal operation
+# (2-LED) Solid GREEN:  normal operation
 
 set_state() {
         case "$1" in
@@ -16,6 +19,10 @@ set_state() {
                                 echo timer >/sys/class/leds/status/trigger
                                 echo 100 >/sys/class/leds/status/delay_on
                                 echo 100 >/sys/class/leds/status/delay_off
+                        :; } || [ -d /sys/class/leds/power\:green ] && {
+                                echo timer >/sys/class/leds/power\:green/trigger
+                                echo 100 >/sys/class/leds/power\:green/delay_on
+                                echo 100 >/sys/class/leds/power\:green/delay_off
                         }
                 ;;
                 failsafe)
@@ -23,11 +30,18 @@ set_state() {
                                 echo timer >/sys/class/leds/status/trigger
                                 echo 50 >/sys/class/leds/status/delay_on
                                 echo 50 >/sys/class/leds/status/delay_off
+                        :; } || [ -d /sys/class/leds/power\:green ] && {
+                                echo timer >/sys/class/leds/power\:green/trigger
+                                echo 50 >/sys/class/leds/power\:green/delay_on
+                                echo 50 >/sys/class/leds/power\:green/delay_off
                         }
                 ;;
                 done)
                         [ -d /sys/class/leds/status ] && {
                                 echo heartbeat >/sys/class/leds/status/trigger
+                        :; } || [ -d /sys/class/leds/power\:green ] && {
+                                echo default-on >/sys/class/leds/power\:green/trigger
+                                echo none >/sys/class/leds/power\:red/trigger
                         }
                 ;;
         esac
index 9ba049741c4192ae26ece1c48f33373142946a25..7590bb94f79c4cf7c7080bd7d495b875c60fa7f6 100644 (file)
@@ -68,6 +68,7 @@ CONFIG_IRQ_FORCED_THREADING=y
 CONFIG_KALLSYMS=y
 CONFIG_KERNEL_GZIP=y
 CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
 CONFIG_MDIO_BOARDINFO=y
 CONFIG_MIPS=y
 CONFIG_MIPS_L1_CACHE_SHIFT=5