46 lines
1.2 KiB
Bash
46 lines
1.2 KiB
Bash
#!/bin/sh /etc/rc.common
|
|
# /etc/init.d/smart-leds
|
|
|
|
START=98
|
|
STOP=02
|
|
|
|
USE_PROCD=1
|
|
|
|
# On Linux sources dts, leds are crossed:
|
|
# - blue:wan is actually wlan
|
|
# - green:wlan is actually wan
|
|
# - red is always power
|
|
|
|
start_service() {
|
|
procd_open_instance
|
|
procd_set_param command /bin/sh -c '
|
|
while true; do
|
|
# Wifi led if iface is up
|
|
if ip link show phy0-ap0 2>/dev/null | grep -q "UP"; then
|
|
echo 1 > /sys/class/leds/blue:wan/brightness
|
|
else
|
|
echo 0 > /sys/class/leds/blue:wan/brightness
|
|
fi
|
|
|
|
# 4G led if wwan0 has ip
|
|
if ip addr show wwan0 2>/dev/null | grep -q "inet "; then
|
|
echo 1 > /sys/class/leds/green:wlan/brightness
|
|
else
|
|
echo 0 > /sys/class/leds/green:wlan/brightness
|
|
fi
|
|
|
|
sleep 10
|
|
done
|
|
'
|
|
procd_set_param respawn
|
|
procd_set_param stdout 1
|
|
procd_set_param stderr 1
|
|
procd_close_instance
|
|
}
|
|
|
|
stop_service() {
|
|
# Apagar LEDs al parar el servicio
|
|
echo 0 > /sys/class/leds/blue:wan/brightness
|
|
echo 0 > /sys/class/leds/green:wlan/brightness
|
|
}
|