2022-04-09 12:35:44 +02:00
|
|
|
#! /bin/sh
|
|
|
|
|
|
|
|
is_modem_available()
|
|
|
|
{
|
|
|
|
if [ -z "$(lsusb | grep "2c7c:0125")" ]; then
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2023-03-06 00:17:32 +01:00
|
|
|
is_data_available()
|
|
|
|
{
|
|
|
|
if ! nmcli c show --active | grep -e internet -e gsm > /dev/null; then
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2022-04-09 12:35:44 +02:00
|
|
|
TRY=0
|
|
|
|
while :; do
|
|
|
|
if ! is_modem_available ; then
|
|
|
|
TRY=$((TRY + 1))
|
|
|
|
echo $(date) Restarting modem, $TRY try
|
|
|
|
systemctl restart eg25-manager
|
|
|
|
systemd-inhibit --what=sleep --why="Modem reset" sleep 60
|
|
|
|
elif [ $TRY -ne 0 ]; then
|
|
|
|
echo $(date): Modem restarted successfully
|
|
|
|
TRY=0
|
2023-03-06 00:17:32 +01:00
|
|
|
elif ! is_data_available; then
|
|
|
|
echo $(date): Restarting mobile data
|
|
|
|
nmcli c up internet
|
|
|
|
systemd-inhibit --what=sleep --why="Restart mobile data" sleep 5
|
2022-04-09 12:35:44 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
sleep 30
|
|
|
|
done
|