mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-13 11:01:50 +00:00
29 lines
No EOL
1.2 KiB
Bash
Executable file
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 --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" |