brcm47xx: use DMZ LED as status indicator
authorMirko Parthey <mirko.parthey@web.de>
Mon, 26 Jun 2017 16:25:45 +0000 (18:25 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 2 Jul 2017 20:44:06 +0000 (22:44 +0200)
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.parthey@web.de>
target/linux/brcm47xx/base-files/etc/diag.sh

index 67453e6..91cf4bd 100644 (file)
@@ -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() {