Ciao, dopo averci sbattuto il muso un po' di volte, condivido lo script creato per ripristinare la connessione.
Lo sto usando da tre settimane e sì, la connesione può cadere, ma ne l giro di 3-4 minuti il modem torna online.
Tutta la preparazione la trovate nei post precedenti.
(comando per iniziare a scrivere dentro il file dello script)
vim /home/root/script4.sh
(questo è lo script vero e proprio)
#!/bin/sh
if [ -f /tmp/script3.lock ]; then
exit 0
fi
if [ ! -f /tmp/script4.lock ]; then
if ! ((ping -c 1 -W 10 8.8.8.8) >0) then
sleep 2
if ! ((ping -c 1 -W 10 1.1.1.1) >0) then
sleep 2
touch /tmp/script4.lock
sys resetcm
sleep 240
rm /tmp/script4.lock
fi
fi
fi
(questi sono i comandi per salvare ed uscire dall'editor)
tasto ESC
:w (e invio)
:q (e invio
(comando per rendere eseguibile lo script)
chmod 755 /home/root/script4.sh
(comandi per programmare l'esecuzzione periodica dello script)
mkdir /etc/crontab.x
vim /etc/crontab.x/root
#min hour day month day-week command" >> /etc/crontab.x/root
##0-59 0-23 1-31 1-12 0-6(0=Sunday) exec" >> /etc/crontab.x/root
0 2 */2 * * /home/root/script3.sh
*/2 * * * * /home/root/script4.sh
ESC
:w
:q
/etc/init.d/crond.sh restart
Lo script viene eseguito ogni 2 minuti, verifica se c'è connesione provando a interrogare due indirizzi IP di importanza mondiale. Se non c'è connessione, allora resetta il modulo della connessione cellulare. Si ferma per 4 minuti in attesa che il modem torni online (di solito ce ne mette 2) e poi riparte a fare il controllo.
NB: il comando "sys resetcm" è l'unic che ha sempre funzionato, altri comandi alternativi a volte fallivano.
Ho anche notato che questo comando se usato senza connessione funziona e non cancella lo script dalla memoria temporanea, se invece viene usato mentre il modem è online allora cancella lo script e va rifatta la procedura da capo (mistero).
NB: in caso di spegnimento del modem o mancanza di corrente, la procedura va rifatta.
Un grande grazie a compact per il suo aiuto ed il suo tempo.