modem-restart: Add connectivity checks
This commit is contained in:
parent
abec0ce751
commit
d8c72fbb2f
|
@ -18,7 +18,28 @@ is_data_available()
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
connectivity()
|
||||||
|
{
|
||||||
|
if nmcli c show --active | grep wlan0; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $COUNTER -ge 10 ]; then
|
||||||
|
COUNTER=0
|
||||||
|
if ping -q -W5 -c1 -s0 libredns.gr; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
COUNTER=$((COUNTER + 1))
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
TRY=0
|
TRY=0
|
||||||
|
COUNTER=0
|
||||||
while :; do
|
while :; do
|
||||||
if ! is_modem_available ; then
|
if ! is_modem_available ; then
|
||||||
TRY=$((TRY + 1))
|
TRY=$((TRY + 1))
|
||||||
|
@ -30,8 +51,14 @@ while :; do
|
||||||
TRY=0
|
TRY=0
|
||||||
elif ! is_data_available; then
|
elif ! is_data_available; then
|
||||||
echo $(date): Restarting mobile data
|
echo $(date): Restarting mobile data
|
||||||
systemd-inhibit --what=sleep --why="Restart mobile data" sleep 5
|
nmcli c down internet
|
||||||
nmcli c up internet
|
nmcli c up internet
|
||||||
|
systemd-inhibit --what=sleep --why="Restart mobile data" sleep 5
|
||||||
|
elif ! connectivity; then
|
||||||
|
echo $(date): Connectivity test failed. Restaring modem...
|
||||||
|
systemctl restart eg25-manager
|
||||||
|
systemd-inhibit --what=sleep --why="modem reset" sleep 60
|
||||||
|
TRY=$((TRY + 1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sleep 5
|
sleep 5
|
||||||
|
|
Loading…
Reference in New Issue