#! /bin/sh
#
# tncore       Bring up/down network-manager
#
# description: Activates/Deactivates manager to 
#              start at boot time.
#
### BEGIN INIT INFO
# Provides: $manager
# Should-Start: manager
# Short-Description: Bring up/down manager
# Description: Bring up/down manager
### END INIT INFO

processname=network-manager
options=
user=root
process_dir=/usr/bin

# Sanity checks.
if [ ! -x $process_dir/$processname ]; then 
    echo $"$processname isn't installed"
    exit 0
fi

RETVAL=0

. /etc/rc.d/init.d/functions 

# See how we were called.
case "$1" in
  start)
	start $process_dir/$processname $user $options 
	RETVAL=$?
	;;
  stop)
	stop $process_dir/$processname
	RETVAL=$?
	;;
  status)
	check_status $processname 0
	RETVAL=$?
	;;
  restart|reload|force-reload)
	cd "$CWD"
	$0 stop
	$0 start
	RETVAL=$?
	;;
  *)
	echo $"Usage: $0 {start|stop|status|restart|reload|force-reload}"
	exit 2
esac
 
 
 
radio_off_with_signal()
{
    echo 1 > /sys/class/lte_radio/rad_on
    sleep 3
    echo 0 > /sys/class/lte_radio/rad_on
}
 
 
if [ "$1" = "stop" ]
then
   /usr/bin/last | grep "^reboot " &> /dev/null
   is_reboot=$?
   if [ "$is_reboot" != "0" ]; then
       if [ -e /dev/ttyLTE0 ]; then
          logger "Power Off device. Switching off LTE modem"
          if ! chat -e -v  \
               ABORT  ERROR \
               '' AT \
               OK 'AT$QCPWRDN' \
               OK '' \
               > /dev/ttyLTE0 < /dev/ttyLTE0
           then
               radio_off_with_signal
           fi
 
          while [ -e /dev/ttyLTE0 ]; do sleep 1; done
          logger "Modem switched off"
       fi
   else
       if [ -e /dev/ttyLTE0 ]; then
            logger "Reboot requested. Keep LTE modem on"
       fi
   fi
   # Save information about filesystem state and wtpm file
   logger "Command last results:"
   /usr/bin/last | logger
   ls -l /tmp/wtmp | logger
   logger "File systems:"
   cat /proc/mounts | logger
   logger "Free space:"
   df | logger
fi
 
exit $RETVAL

