From 716ca530e1c4515d8683c9d5be3d56b301758b66 Mon Sep 17 00:00:00 2001 From: James <> Date: Wed, 4 Nov 2015 11:49:21 +0000 Subject: trunk-47381 --- target/linux/ar7/base-files/etc/diag.sh | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 target/linux/ar7/base-files/etc/diag.sh (limited to 'target/linux/ar7/base-files/etc/diag.sh') diff --git a/target/linux/ar7/base-files/etc/diag.sh b/target/linux/ar7/base-files/etc/diag.sh new file mode 100644 index 0000000..f6548e8 --- /dev/null +++ b/target/linux/ar7/base-files/etc/diag.sh @@ -0,0 +1,45 @@ +#!/bin/sh +# Copyright (C) 2007-2013 OpenWrt.org + +# This setup gives us 4.5 distinguishable states: +# +# (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 + +. /lib/functions/leds.sh + +get_status_led() { + [ -d "/sys/class/leds/status" ] && status_led="status" + [ -d "/sys/class/leds/power:green" ] && status_led="power:green" +} + +set_state() { + get_status_led + + case "$1" in + preinit) + status_led_set_timer 100 100 + ;; + failsafe) + status_led_set_timer 50 50 + ;; + preinit_regular) + status_led_blink_preinit_regular + ;; + done) + [ "$status_led" = "status" ] && { + status_led_set_heartbeat + } + [ "$status_led" = "power:green" ] && { + status_led_set_on + led_off "power:red" + } + ;; + esac +} -- cgit v1.2.3