62 lines
1.4 KiB
Bash
62 lines
1.4 KiB
Bash
#!/bin/sh
|
|
|
|
ROOTER=/usr/lib/rooter
|
|
ROOTER_LINK="/tmp/links"
|
|
|
|
log() {
|
|
logger -t "Quectel GPS" "$@"
|
|
}
|
|
|
|
ifname1="ifname"
|
|
if [ -e /etc/newstyle ]; then
|
|
ifname1="device"
|
|
fi
|
|
|
|
CURRMODEM=$1
|
|
if [ $CURRMODEM = "2" ]; then
|
|
exit 0
|
|
fi
|
|
CPORT=$(uci get modem.modem$CURRMODEM.commport)
|
|
rm -f /tmp/gps
|
|
rm -f /tmp/lastgps
|
|
if [ -z "$CPORT" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
ATCMDD="AT+QGPS?"
|
|
OX=$($ROOTER/gcom/gcom-locked "/dev/ttyUSB$CPORT" "run-at.gcom" "$CURRMODEM" "$ATCMDD")
|
|
err=$(echo "$OX" | grep "+QGPS: 1")
|
|
if [ -z "$err" ]; then
|
|
ATCMDD="AT+QGPS=1"
|
|
OX=$($ROOTER/gcom/gcom-locked "/dev/ttyUSB$CPORT" "run-at.gcom" "$CURRMODEM" "$ATCMDD")
|
|
fi
|
|
|
|
log "GPS setup and waiting"
|
|
|
|
ATCMDD="AT+QCFG=\"gpsdrx\""
|
|
OX=$($ROOTER/gcom/gcom-locked "/dev/ttyUSB$CPORT" "run-at.gcom" "$CURRMODEM" "$ATCMDD")
|
|
err=$(echo "$OX" | grep "0")
|
|
if [ -n "$err" ]; then
|
|
ATCMDD="AT+QCFG=\"gpsdrx\",1"
|
|
OX=$($ROOTER/gcom/gcom-locked "/dev/ttyUSB$CPORT" "run-at.gcom" "$CURRMODEM" "$ATCMDD")
|
|
fi
|
|
ATCMDD="AT+QGPSCFG=\"outport\",\"none\""
|
|
OX=$($ROOTER/gcom/gcom-locked "/dev/ttyUSB$CPORT" "run-at.gcom" "$CURRMODEM" "$ATCMDD")
|
|
|
|
while true; do
|
|
refresh=30
|
|
ATCMDD="AT+QGPSLOC=0"
|
|
OX=$($ROOTER/gcom/gcom-locked "/dev/ttyUSB$CPORT" "run-at.gcom" "$CURRMODEM" "$ATCMDD")
|
|
err=$(echo "$OX" | grep "ERROR")
|
|
if [ -z "$err" ]; then
|
|
echo "$OX" > /tmp/gpsox
|
|
result=`ps | grep -i "processq.sh" | grep -v "grep" | wc -l`
|
|
if [ $result -lt 1 ]; then
|
|
/usr/lib/gps/processq.sh 1
|
|
fi
|
|
sleep $refresh
|
|
else
|
|
sleep 5
|
|
fi
|
|
done
|