Index Previous Next |
![]() |
It is possible for Homechoice Internet connectivity to be lost without the PPP daemon noticing, because the PPP daemon only talks to the STB and if there is a problem beyond the STB it may be necessary to close that session down and restart.
Create the following scripts:
#!/bin/ksh # # Script to ensure that PPP connectivity via Homechoice # is always available. # Run regularly from "cron". # # Ed Randall 14/5/2001 # # List of well-known hosts for checking. # If we can't ping _any_ of them, reboot the connection. HOSTS=' dns1.homechoice.co.uk dns2.homechoice.co.uk www.homechoice.co.uk mail.homechoice.co.uk croy-gw2.homechoice.co.uk croy-gw3.homechoice.co.uk gate.demon.co.uk ' typeset -i DOWN=1 for HOST in ${HOSTS} do if /sbin/ping -c 1 ${HOST} >/dev/null 2>&1 then DOWN=0 break fi done # Can't ping anything, reboot the connection if (( DOWN )) then print "Cannot ping any of:${HOSTS}" /etc/init.d/homechoice.sh restart fi # EOF
#!/bin/ksh # # Script to control PPP to homechoice # Provides start, stop, restart and test functions. # # Ed Randall 14/5/2001 # STARTCMD='/usr/sbin/ppp -background homechoice' PIDFILE=/var/run/tun0.pid PID='' function CheckProcess { if [[ ! -r "${PIDFILE}" ]] then return 1 fi PID=`cat ${PIDFILE}` if [[ -z "${PID}" ]] then return 1 fi ps -p "${PID}" | grep -q "${STARTCMD}" return $? } function StopProcess { typeset -i count=0 typeset -i done=0 print -u2 -n "Stopping ${PID}" kill ${PID} while (( count < 30 )) do if ! CheckProcess then done=1 break fi print -u2 -n '.' sleep 1 (( count += 1 )) done if (( ! done )) then print -u2 -n 'giving up, sending SIGKILL.' kill -9 ${PID} fi print -u2 '' } case $1 in start) if ! CheckProcess then ${STARTCMD} fi ;; stop) if CheckProcess then StopProcess fi ;; restart) if CheckProcess then StopProcess fi ${STARTCMD} ;; test) CheckProcess return $? ;; *) ;; esac # EOFThen add the following cronjob as "root":
# crontab -e 55,10,25,40 * * * * /usr/local/bin/pppmonitor
Link connectivity will be tested every 15 minutes, and if down it will be restarted. Ed Randall, Wed Feb 13 00:38:34 2002
Index | |
Previous : How do I debug Windows dial-up networking (using a Homechoice STB modem)? | |
Next : How do I connect to Homechoice using Linux? |