123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #!/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
- }
|