#! /bin/sh
# /etc/init.d/muxcontrol
#
### BEGIN INIT INFO
# Provides:						muxcontrol
# Required-Start:			$local_fs $network $named detectbigflash
# Required-Stop:			$local_fs $network $named
# 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

# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "Starting script muxcontrol"
    # check database to see whether modem should be turned on (A value of 2 is explicitely modem off)
    MODEM=$(/usr/local/bin/sqlite3shell /var/local/data/capeclock.db "select modem from thisdev;")
    if [ $MODEM -ne 2 ]
    	then
			sleep 1
	    MUX=$(pidof /usr/local/bin/mux)
  	  if [ -z $MUX ]
  	   then
		   /usr/local/bin/mux
  	  else
  	  	echo "Already running"
  	  fi
  	fi
    ;;
  stop)
    echo "Stopping script muxcontrol"
    MUX=$(pidof /usr/local/bin/mux)
	  if [ -z $MUX ]
	   then
	   echo "Already off"
	  else
	  	echo "Check whether gsm is running"
	  	GSM=$(pidof /usr/local/bin/gsm)
	  	while [ -n "$GSM" ]; do
	  		sleep 1
		  	GSM=$(pidof /usr/local/bin/gsm)
  		done
	  	kill $MUX
	  	sleep 16
	  	echo Done > /dev/kmsg
	  fi
    ;;
  *)
    echo "Usage: /etc/init.d/muxcontrol {start|stop}"
    exit 1
    ;;
esac

exit 0
