I made a simple script to restart internet connection. With a litle hacking I think this can be useful :-). I run it as a cron job every 2 minutes.
#!/bin/bash temporal='/tmp/internetstat.tmp' if [ -f $temporal ]; then echo "Este script ya está en ejecución." exit 0 fi touch $temporal if ifconfig ppp0 ; then printf "Conexión ppp0 activa.\n" printf "Verificando conectividad.\n" if ping -c 6 www.yahoo.com ; then printf "Hay acceso a Internet.\n" else printf "Desactivando conexión a Internet.\n" /etc/init.d/internet stop killall pppd printf "Activando conexión a Internet.\n" delay 2 /etc/init.d/internet start /etc/init.d/ddclient restart fi else printf "Conexión ppp0 no detectada.\n" printf "Probando conectividad...\n" if ping -c 6 www.yahoo.com ; then printf "Hay internet!!!\n" else printf "Desactivando conexión a Internet.\n" /etc/init.d/internet stop killall pppd printf "Activando conexión a Internet.\n" delay 2 /etc/init.d/internet start /etc/init.d/ddclient restart fi fi rm -f $temporal exit 0