From: John Crispin Date: Fri, 9 Feb 2024 17:10:12 +0000 (+0100) Subject: base-files: allow forcing all LEDs to on/off/blink state X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=refs%2Fheads%2Fmain;p=openwrt%2Fstaging%2Fblogic.git base-files: allow forcing all LEDs to on/off/blink state * add a UCI option to disable all LEDs. * add an init.d parameter to blink all LEDs * add on/off parameters to init.d Signed-off-by: John Crispin --- diff --git a/package/base-files/files/etc/init.d/led b/package/base-files/files/etc/init.d/led index 9c4d2091c8b8..1d8930f2cdce 100755 --- a/package/base-files/files/etc/init.d/led +++ b/package/base-files/files/etc/init.d/led @@ -3,6 +3,10 @@ START=96 +extra_command "turnon" "Put the LEDs into their default state" +extra_command "turnoff" "Turn all LEDs off" +extra_command "blink" "Blink all LEDs" + led_color_set() { local cfg="$1" local sysfs="$2" @@ -171,7 +175,31 @@ load_led() { } } +turnoff() { + for led in `ls /sys/class/leds/`; do + echo 0 > /sys/class/leds/$led/brightness + done +} + +turnon() { + turnoff + . /etc/diag.sh + set_state done + start +} + +blink() { + for led in `ls /sys/class/leds/`; do + echo 0 > /sys/class/leds/$led/brightness + echo timer > /sys/class/leds/$led/trigger + done +} + start() { + [ "$(uci -q get system.@system[-1].leds_off)" = '1' ] && { + turnoff + exit 0 + } [ -e /sys/class/leds/ ] && { [ -s /var/run/led.state ] && { local led trigger brightness color