#!/bin/sh /etc/rc.common
START=95

boot() {
        logger "poe:boot"
        poe_track=`uci -q get ucitrack.@poe[-1] 2>/dev/null`
        if [[ "$poe_track" == "poe" ]]; then
                logger "ucitrack for poe is present."
        else
                uci add ucitrack poe
                uci set ucitrack.@poe[-1].exec="/etc/init.d/poe reload"
                uci commit ucitrack
                /etc/init.d/ucitrack reload
        fi
        uci set poe.@port_configuration[0].error_log="error:0,total:0"
        uci set poe.@port_configuration[1].error_log="error:0,total:0"
        uci commit poe
        start
        return 0
}

start() {
        logger "poe:start"
        device_file="/proc/device-tree/lantronix/pid"
        if  grep -q G527 "$device_file" || grep -q G528 "$device_file"; then
                logger "poe:run"
                uci set poe.@port_configuration[0].error_log="error:0,total:0"
                uci set poe.@port_configuration[1].error_log="error:0,total:0"
                uci commit poe
                /usr/sbin/poe.sh
                poe_app &
        fi
}

stop() {
        logger "poe:stop"
        killall poe_app
        return 0
}

reload() {
        logger "poe:reload"
        stop
        start
}
