019ea725aa
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
45 lines
1 KiB
Bash
45 lines
1 KiB
Bash
#!/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
|
|
}
|