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 67453e6fd4e868d14befb691da83192f0003c998..91cf4bdf4b635b7bc7cdb1de84c2cfe6435d6ec4 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() {