Просмотр исходного кода

Minor patch to the AR7 diag.sh to make the status LED a bit more useful. From the patch:

This setup gives us 3.5 distinguishable states:

- Solid OFF:  Bootloader running, or kernel hung (timer task stalled)
- Solid ON:   Kernel hung (timer task stalled)
- 5Hz blink:  preinit
- Heartbeat:  normal operation

Signed-off-by: [email protected]

SVN-Revision: 9666
Felix Fietkau 18 лет назад
Родитель
Сommit
eeebde136d
1 измененных файлов с 20 добавлено и 13 удалено
  1. 20 13
      target/linux/ar7/base-files/etc/diag.sh

+ 20 - 13
target/linux/ar7/base-files/etc/diag.sh

@@ -1,19 +1,26 @@
 #!/bin/sh
 # Copyright (C) 2007 OpenWrt.org
 
-set_led() {
-	local led="$1"
-	local state="$2"
-	[ -d "/sys/class/leds/$led" ] && echo "$state" > "/sys/class/leds/$led/brightness"
-}
+# This setup gives us 3.5 distinguishable states:
+#
+# Solid OFF:  Bootloader running, or kernel hung (timer task stalled)
+# Solid ON:   Kernel hung (timer task stalled)
+# 5Hz blink:  preinit
+# Heartbeat:  normal operation
 
 set_state() {
-	case "$1" in
-		preinit)
-			set_led status 255
-		;;
-		done)
-			set_led status 0
-		;;
-	esac
+        case "$1" in
+                preinit)
+                        [ -d /sys/class/leds/status ] && {
+                                echo timer >/sys/class/leds/status/trigger
+                                echo 100 >/sys/class/leds/status/delay_on
+                                echo 100 >/sys/class/leds/status/delay_off
+                        }
+                ;;
+                done)
+                        [ -d /sys/class/leds/status ] && {
+                                echo heartbeat >/sys/class/leds/status/trigger
+                        }
+                ;;
+        esac
 }