Здравей
предлагам ти нещо, малко е грубо ама върши работа а и можеш да си го преправиш да е по тви вкус
#!/usr/bin/perl
while (!-e '/proc/sys/net/ipv4/conf/ppp0'

'>
{
system ('adsl-stop'

'>;
system ('adsl-start'

'>;
}
малко е брутално, ама друго по елементарно не се сетих.
Просто проверява в /proc/sys/net/ipv4/conf/ и ако няма /ppp0 прави опити за връзване наново. Слагаш го в крон-а за колкото време изкаш да проверява.Самия скрипт го слагаш кадето на теб ти харесва.
П.с. Пак ти казвам че е грубо - Ако проблема да нямаш нет е хардуерен независимо каде е причината, това почва да цикли докато се върже