#! /bin/sh
# /etc/init.d/pppcontrol
#
### BEGIN INIT INFO
# Provides:						pppcontrol
# Required-Start:			$local_fs $network $named detectbigflash muxcontrol
# Required-Stop:			$local_fs $network $named muxcontrol
# Default-Start:			2 3 4 5
# Default-Stop:				0 1 6
# Short-Description:	Start and stop the ppp daemon
### END INIT INFO


# Some things that run always
#touch /var/lock/blah

RUNNING=0

log_on() {
	# get date
	DATE=$(date +%Y_%m_%d)
	FILENAME=/var/sqllog/modem_log_$DATE.log
	TIME=$(date)
	echo "$TIME ; PPP (On) $RUNNING ;" >> $FILENAME
}

log_off() {
	# get date
	DATE=$(date +%Y_%m_%d)
	FILENAME=/var/sqllog/modem_log_$DATE.log
	TIME=$(date)
	echo "$TIME ; PPP Off ;" >> $FILENAME
}

# Carry out specific functions when asked to by the system
case "$1" in
  start)
		echo "Starting script pppcontrol - waiting"
		ALT=$(pidof /usr/local/bin/db_alter)
		while [ -n "$ALT" ]
		do
			sleep 1
			echo "$ALT"
			ALT=$(pidof /usr/local/bin/db_alter)
		done
    echo "Starting script pppcontrol"
    sleep 1
    (( I = 0 ))
    # check database to see whether modem should be turned on
    MODEM=$(/usr/local/bin/sqlite3shell /var/local/data/capeclock.db "select modem from thisdev;")
    if [ $MODEM -ne 2 ]
    	then
    	while [ ! -e "/dev/gsmtty1" ]
    	do
				sleep 1
				(( I++ ))
				if [ $I -eq 3 ]
				then
					echo "No dev available"
					exit 0
				fi
    	done
	    PPP=$(pidof /usr/sbin/pppd)
  	  if [ -z $PPP ]
  	   then
		   /usr/bin/pon
			 RUNNING=0
  	  else
  	  	echo "Already running"
  	  	RUNNING=1
  	  fi
  	  log_on
  	  sleep 10
	    /usr/local/bin/sendchild -t 40000 "Please be patient" "" "" ""
  	fi
#    /usr/local/bin/ipnotify
    ;;
  stop)
    echo "Stopping script pppcontrol"
    /usr/bin/poff -a
    sleep 1
    killall gsm
    log_off
    ;;
  *)
    echo "Usage: /etc/init.d/pppcontrol {start|stop}"
    exit 1
    ;;
esac

exit 0
