2023-04-11 21:15:01 +08:00

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