openwrtv3/target/linux/bcm53xx/base-files/etc/diag.sh
John Crispin 019ea725aa add "preinit_regular" diag.sh set_state argument
This new argument is used right after starting regular preinit (which
happens if failsafe wasn't triggered). The main purpose of "preinit"
argument is to indicate that failsafe can be triggered, however we were
missing a way to inform user that we don't wait for a trigger anymore.
With this change it's clear when failsafe mode can be triggered.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 43715
2014-12-15 10:37:00 +00:00

43 lines
847 B
Bash

#!/bin/sh
# Copyright (C) 2014 OpenWrt.org
. /lib/functions/leds.sh
get_status_led() {
local status_led_file
# There may be more than one color of power LED, try to avoid amber/red
status_led_file=$(find /sys/class/leds/ -name "*:power" -a ! -name "*:amber:*" -a ! -name "*:red:*" | head -n1)
if [ -d "$status_led_file" ]; then
status_led=$(basename $status_led_file)
return
fi;
# Now just pick any power LED
status_led_file=$(find /sys/class/leds/ -name "*:power:*" | head -n1)
if [ -d "$status_led_file" ]; then
status_led=$(basename $status_led_file)
return
fi;
}
set_state() {
get_status_led
[ -z "$status_led" ] && return
case "$1" in
preinit)
status_led_blink_preinit
;;
failsafe)
status_led_blink_failsafe
;;
preinit_regular)
status_led_blink_preinit_regular
;;
done)
status_led_on
;;
esac
}