#!/bin/sh

. /usr/local/bin/telem/functions # for logg function
. /usr/local/bin/telem/modem_functions

monitorService() {
    sleep 1
    logger -t modemWD "Start"
    modemServiceOK
    while true; do
        sleep 60
        if isModemServiceRunning; then
            #logger -t modemWD "Modem service OK"
            continue
        fi
        if isAllowedToReboot; then
            logger -p "user.err" -t modemWD "Restarting device"
            reboot; sleep 60
        else
            logger -p "user.err" -t modemWD "Restarting modem service"
            /etc/init.d/S42pppd restart &
            return
        fi
    done
    logger -t modemWD "Done"
}

logger "InitPPP"

usb_ok_file=/var/local/telem/usb-ok
start_ppp=/usr/local/bin/ppp/StartPPP

while true; do
    if [ -e "$usb_ok_file" ]; then
        $start_ppp &
        # Keep monitoring
        monitorService
        exit 0
    fi
    sleep 2
done
