brauchte sowas gerade für unser emergency script, der wunsch war kurz vor dem reboot, also nach allen Fehlgeschlagenen Versuchen noch ein bisschen knight raider zu spielen um stark visuelles Feedback zu haben was - in der Theorie - den „support“ im Fehlerfall vereinfacht. ist erstmal nur sinnvoll für 841 (weil keine Ahnung was das an anderen Geräten so verursacht an Entgleisung)
wird in diesem Fall halt so aufgerufen : cat /tmp/sysinfo/model|grep -q 841 && ledfoo &
vielleicht interessiert es den ein oder anderen,
zuerst ein usleep derivat gebaut mit lua (das busybox sleep ist nur für sekunden aufwärts zu gebrauchen)
# cat /usr/bin/luasleep
#!/usr/bin/lua
clock = os.clock
function sleep(n)
local t0=clock()
while clock() - t0 <= n do
end
end
sleep(tonumber(arg[1]))
und dann das ledfoo
# cat /usr/bin/ledfoo
#!/bin/sh
# (c) fuzzle/viisauksena cc-by-nc no-military no-secretservice(and similar)
r="-r"
[ x$1 == x-h ] && echo -e "usage: $0 <option> \n\t$0 -h \t this help \n \t$0 dark \t going dark \n \t$0 light\t going light \n \t$0 1 \t 1to4 \n \t$0 2 \t 4to1 \n \t$0 3 \t blink slow2fast \n \t$0 4 \t knight rider" && exit
#alloff
for line in $(ls /sys/class/leds/); do echo 0 > /sys/class/leds/${line}/brightness; done
if [ x$1 == "xdark" ] ; then exit ; fi
if [ x$1 == "xlight" ] ; then for line in $(ls /sys/class/leds/); do echo 1 > /sys/class/leds/${line}/brightness; done ; exit; fi
#wan straight on
echo 1 > /sys/class/leds/tp-link:green:wan_status/brightness
while true; do
case $1 in
1) r=" ";;
2) r="-r";;
3) for x in 7 6 5 4 3 2 2 1 1 1 1 1 1 1 ; do luasleep 0.$x ; $0 light ; luasleep 0.$x; $0 dark; done;exit;;
4) if [ x$r == "x-r" ]; then r=" "; else r="-r"; fi ;;
esac
for line in $(ls $r /sys/class/leds/ |grep lan);
do
luasleep 0.1
echo 1 > /sys/class/leds/${line}/brightness
luasleep 0.2 && echo 0 > /sys/class/leds/${line}/brightness &
done
done
als kleiner boni funktioniert auch selbsterklärend
ledfoo dark
und ledfoo light
… oder mitlerweile ledfoo -h
um im Config mode ein knight rider lauflicht zu haben hilft dieses datei
# cat /lib/gluon/setup-mode/rc.d/S99knightrider
#!/bin/sh
/usr/bin/ledfoo 4 &