On the Linksys WRT54GSv1, the Power LED flickers in the "off" state.
Indicate status using the DMZ LED if available, since it has solid "on" and
"off" states.

This change was tested on the WRT54GSv1, but may also affect other brcm47xx
devices.

Fixes FS#793.

Signed-off-by: Mirko Parthey <mirko.part...@web.de>
---
 target/linux/brcm47xx/base-files/etc/diag.sh | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/target/linux/brcm47xx/base-files/etc/diag.sh 
b/target/linux/brcm47xx/base-files/etc/diag.sh
index 67453e6fd4e8..91cf4bdf4b63 100644
--- a/target/linux/brcm47xx/base-files/etc/diag.sh
+++ b/target/linux/brcm47xx/base-files/etc/diag.sh
@@ -4,21 +4,13 @@
 . /lib/functions/leds.sh
 
 get_status_led() {
-       status_led_file=$(find /sys/class/leds/ -name "*power*" |head -n1)
-       if [ ! -f $status_led_file ]; then
-               status_led=$(basename $status_led_file)
-               return
-       fi;
-       status_led_file=$(find /sys/class/leds/ -name "*diag*" |head -n1)
-       if [ ! -f $status_led_file ]; then
-               status_led=$(basename $status_led_file)
-               return
-       fi;
-       status_led_file=$(find /sys/class/leds/ -name "*wps*" |head -n1)
-       if [ ! -f $status_led_file ]; then
-               status_led=$(basename $status_led_file)
-               return
-       fi;
+       for led in dmz power diag wps; do
+               status_led_file=$(find /sys/class/leds/ -name "*${led}*" | head 
-n1)
+               if [ ! -f $status_led_file ]; then
+                       status_led=$(basename $status_led_file)
+                       return
+               fi;
+       done
 }
 
 set_state() {
-- 
2.1.4


_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to