Rebooting the ADSL Router when it cannot Access Internet
The ADSL Modem hangs every now and then.. a reboot work all the time.. this is a issue if there is nobody to reset the modem or the site is remote.
The solution is a simple script in Python which check if “Google” is accessible every 5 min, if google is not available then reboots the ADSL Router, { Not included in the script due to dependencies: you could also send a email or syslog event at every reboot or send the copy of the log File end of the Day}
The Python Script Runs on a Linux Box.. nothing great and simple box. using Python and pExpect, the script logs into the modem whenever it cannot ping www.google.com and send a reboot command to the router. A log of the Reboot is maintained.
The CRON is enabled to periodically check availability of internet access through the modem.. every 5Mins.. (for India with BSNL) but any larger time frame can be used, as required
—System Requirements —
1. Linux Box (I use the Synology NAS)
2. Apache (NAS come pre-installed, not essential required only if GUI Interface is required)
3. Python (check after login in through terminal “~$ python -V” should show the version Installed)
4. pExpect (again at terminal “~$ which pexpect” should show the path if installed
if not then type the following at the terminal
> md tmp > cd tmp > wget http://pexpect.sourceforge.net/pexpect-2.3.tar.gz tar xzf pexpect-2.3.tar.gz > cd pexpect-2.3 > sudo python ./setup.py install
for modem with reboot CLI [media-downloader media_id=”893″ texts=”Click to Download RebootADSL”]
for Modem which use the 1-9 keystrokes CLI [media-downloader media_id=”899″ texts=”Click to Download rebADSL”]
of course this method works for any network device with has CLI (Telnet), open socket to the IP Address of the Device to check..