1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-13 02:51:50 +00:00
openmptcprouter-feeds/openmptcprouter-api/files/bin/omr-qmi

29 lines
No EOL
1.2 KiB
Bash
Executable file

#!/bin/sh
MODEM_INTF=$1
[ -z "$MODEM_INTF" ] && return
INFO=$2
SIGNAL_INFO=$(timeout 1 uqmi -d $MODEM_INTF --get-signal-info)
[ -z "$SIGNAL_INFO" ] && return
TYPE=$(echo $SIGNAL_INFO | jsonfilter -e '@.type' | tr -d '\n')
PERCENT=""
if [ "$TYPE" = "gsm" ]; then
RSSI=$(echo $SIGNAL_INFO | jsonfilter -e '@.rssi' | tr -d '\n')
[ -z "$RSSI" ] && return
ASU=$(((RSSI + 113) / 2 ))
PERCENT=$((((ASU - 0) * 100) / ( 91 - 0 )))
elif [ "$TYPE" = "umts" ]; then
RSCP=$(echo $SIGNAL_INFO | jsonfilter -e '@.rscp' | tr -d '\n')
[ -z "$RSCP" ] && return
ASU=$((RSCP + 116))
PERCENT=$((((ASU - 0) * 100) / ( 91 - 0 )))
elif [ "$TYPE" = "lte" ]; then
RSRP=$(echo $SIGNAL_INFO | jsonfilter -e '@.rsrp' | tr -d '\n')
[ -z "$RSRP" ] && return
ASU=$((RSRP + 140))
PERCENT=$((((ASU - 3) * 100) / ( 70 - 3 )))
fi
[ -z "$INFO" ] && echo $PERCENT && return
OPERATOR=$(timeout 1 uqmi -d $MODEM_INTF --get-serving-system | jsonfilter -e '@.plmn_description' | tr -d '\n')
NUMBER=$(timeout 1 uqmi -d $MODEM_INTF --get-msisdn | jsonfilter -e '@' | tr -d '\n')
STATE=$(timeout 1 uqmi -d $MODEM_INTF --get-data-status | jsonfilter -e '@' | tr -d '\n')
[ "$INFO" = "all" ] && echo "$PERCENT;$OPERATOR;$NUMBER;$TATE;$TYPE"