questd: imonitor: bring down and up the wireless radios when bsd or acsd crashes

This commit is contained in:
Sukru Senli 2017-12-22 15:21:30 +01:00
parent 676e40a0cc
commit fb983f5dbc

View file

@ -140,9 +140,13 @@ check_ubus_network_call() {
restart_bsd()
{
logger -s -t $0[$$] "Restarting bsd."
killall -q -KILL bsd
bsd
logger -s -t $0[$$] "Restarting WiFi and Band Steering daemon due to bsd hangup."
killall -q -15 bsd 2>/dev/null
wlctl -i wl0 down 2>/dev/null
wlctl -i wl1 down 2>/dev/null
wlctl -i wl0 up 2>/dev/null
wlctl -i wl1 up 2>/dev/null
bsd &
}
check_bsdcall()
@ -159,9 +163,13 @@ check_bsdcall()
restart_acsd()
{
logger -s -t $0[$$] "Restarting acsd."
killall -q -KILL acsd
acsd &
logger -s -t $0[$$] "Restarting WiFi and Auto Channel Selection daemon due to acsd high CPU usage."
killall -q -9 acsd 2>/dev/null
wlctl -i wl0 down 2>/dev/null
wlctl -i wl1 down 2>/dev/null
wlctl -i wl0 up 2>/dev/null
wlctl -i wl1 up 2>/dev/null
acsd
}
check_acsd()
@ -173,7 +181,7 @@ check_acsd()
for p in $pcpu; do
p=${p%%%*}
if [ "$p" -ge "20" ]; then
if [ "$p" -ge "40" ]; then
return 1
fi
done