mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
More info from qmi and modemmanager
This commit is contained in:
parent
575072289a
commit
fa093b90b4
4 changed files with 55 additions and 14 deletions
|
@ -378,6 +378,9 @@
|
||||||
}
|
}
|
||||||
var latency = mArray.wans[i].latency;
|
var latency = mArray.wans[i].latency;
|
||||||
var mtu = mArray.wans[i].mtu;
|
var mtu = mArray.wans[i].mtu;
|
||||||
|
var operator = mArray.wans[i].operator;
|
||||||
|
var phonenumber = mArray.wans[i].phonenumber;
|
||||||
|
var donglestate = mArray.wans[i].donglestate;
|
||||||
var gateway = mArray.wans[i].gateway;
|
var gateway = mArray.wans[i].gateway;
|
||||||
if (anonymize == "true" && testPrivateIP(gateway) == false)
|
if (anonymize == "true" && testPrivateIP(gateway) == false)
|
||||||
{
|
{
|
||||||
|
@ -425,6 +428,19 @@
|
||||||
{
|
{
|
||||||
content += String.format('%s %s<br />',_('mtu:'), mtu);
|
content += String.format('%s %s<br />',_('mtu:'), mtu);
|
||||||
}
|
}
|
||||||
|
if (operator !== '' && anonymize !== 'true')
|
||||||
|
{
|
||||||
|
content += String.format('%s %s<br />',_('operator:'), operator);
|
||||||
|
}
|
||||||
|
if (phonenumber !== '' && anonymize !== 'true')
|
||||||
|
{
|
||||||
|
content += String.format('%s %s<br />',_('phone number:'), phonenumber);
|
||||||
|
}
|
||||||
|
if (donglestate !== '' && anonymize !== 'true')
|
||||||
|
{
|
||||||
|
content += String.format('%s %s<br />',_('state:'), donglestate);
|
||||||
|
}
|
||||||
|
|
||||||
if(signal !== '')
|
if(signal !== '')
|
||||||
{
|
{
|
||||||
if (signal <= 0)
|
if (signal <= 0)
|
||||||
|
|
|
@ -1,12 +1,17 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
MODEM_INTF=$1
|
MODEM_INTF=$1
|
||||||
[ -z "$MODEM_INTF" ] && return
|
[ -z "$MODEM_INTF" ] && return
|
||||||
|
INFO=$2
|
||||||
timeout 1 mmcli -L | while read MODEM; do
|
timeout 1 mmcli -L | while read MODEM; do
|
||||||
MODEM_ID=$(echo $MODEM | awk -F' ' '{print $1}' | awk -F/ '{print $6}')
|
MODEM_ID=$(echo $MODEM | awk -F' ' '{print $1}' | awk -F/ '{print $6}')
|
||||||
MODEM_INFO="$(timeout 1 mmcli -m $MODEM_ID --output-keyvalue)"
|
MODEM_INFO="$(timeout 1 mmcli -m $MODEM_ID --output-keyvalue)"
|
||||||
if [ -n "$MODEM_INFO" ] && [ "$(echo "$MODEM_INFO" | grep 'modem.generic.device ' | awk -F": " '{print $2}')" = "$MODEM_INTF" ]; then
|
if [ -n "$MODEM_INFO" ] && [ "$(echo "$MODEM_INFO" | grep 'modem.generic.device ' | awk -F": " '{print $2}')" = "$MODEM_INTF" ]; then
|
||||||
PERCENT=$(echo "$MODEM_INFO" | grep 'modem.generic.signal-quality.value' | awk -F": " '{print $2}')
|
PERCENT=$(echo "$MODEM_INFO" | grep 'modem.generic.signal-quality.value' | awk -F": " '{print $2}')
|
||||||
echo $PERCENT
|
OPERATOR=$(echo "$MODEM_INFO" | grep 'modem.3gpp.operator-name' | awk -F": " '{print $2}')
|
||||||
|
NUMBER=$(echo "$MODEM_INFO" | grep 'modem.generic.own-numbders.value[1]' | awk -F": " '{print $2}')
|
||||||
|
STATE=$(echo "$MODEM_INFO" | grep 'modem.generic.state' | awk -F": " '{print $2}')
|
||||||
|
[ -z "$INFO" ] && echo $PERCENT
|
||||||
|
[ "$INFO" = "all" ] && echo "$PERCENT;$OPERATOR;$NUMBER;$STATE"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
|
@ -1,27 +1,29 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
MODEM_INTF=$1
|
MODEM_INTF=$1
|
||||||
[ -z "$MODEM_INTF" ] && return
|
[ -z "$MODEM_INTF" ] && return
|
||||||
|
INFO=$2
|
||||||
SIGNAL_INFO=$(timeout 1 uqmi -d $MODEM_INTF --get-signal-info)
|
SIGNAL_INFO=$(timeout 1 uqmi -d $MODEM_INTF --get-signal-info)
|
||||||
[ -z "$SIGNAL_INFO" ] && return
|
[ -z "$SIGNAL_INFO" ] && return
|
||||||
TYPE=$(echo $SIGNAL_INFO | jsonfilter -e '@.type')
|
TYPE=$(echo $SIGNAL_INFO | jsonfilter -e '@.type' | tr -d '\n')
|
||||||
|
PERCENT=""
|
||||||
if [ "$TYPE" = "gsm" ]; then
|
if [ "$TYPE" = "gsm" ]; then
|
||||||
RSSI=$(echo $SIGNAL_INFO | jsonfilter -e '@.rssi')
|
RSSI=$(echo $SIGNAL_INFO | jsonfilter -e '@.rssi' | tr -d '\n')
|
||||||
[ -z "$RSSI" ] && return
|
[ -z "$RSSI" ] && return
|
||||||
ASU=$(((RSSI + 113) / 2 ))
|
ASU=$(((RSSI + 113) / 2 ))
|
||||||
PERCENT=$((((ASU - 0) * 100) / ( 91 - 0 )))
|
PERCENT=$((((ASU - 0) * 100) / ( 91 - 0 )))
|
||||||
echo $PERCENT
|
elif [ "$TYPE" = "umts" ]; then
|
||||||
fi
|
RSCP=$(echo $SIGNAL_INFO | jsonfilter -e '@.rscp' | tr -d '\n')
|
||||||
if [ "$TYPE" = "umts" ]; then
|
|
||||||
RSCP=$(echo $SIGNAL_INFO | jsonfilter -e '@.rscp')
|
|
||||||
[ -z "$RSCP" ] && return
|
[ -z "$RSCP" ] && return
|
||||||
ASU=$((RSCP + 116))
|
ASU=$((RSCP + 116))
|
||||||
PERCENT=$((((ASU - 0) * 100) / ( 91 - 0 )))
|
PERCENT=$((((ASU - 0) * 100) / ( 91 - 0 )))
|
||||||
echo $PERCENT
|
elif [ "$TYPE" = "lte" ]; then
|
||||||
fi
|
RSRP=$(echo $SIGNAL_INFO | jsonfilter -e '@.rsrp' | tr -d '\n')
|
||||||
if [ "$TYPE" = "lte" ]; then
|
|
||||||
RSRP=$(echo $SIGNAL_INFO | jsonfilter -e '@.rsrp')
|
|
||||||
[ -z "$RSRP" ] && return
|
[ -z "$RSRP" ] && return
|
||||||
ASU=$((RSRP + 140))
|
ASU=$((RSRP + 140))
|
||||||
PERCENT=$((((ASU - 3) * 100) / ( 70 - 3 )))
|
PERCENT=$((((ASU - 3) * 100) / ( 70 - 3 )))
|
||||||
echo $PERCENT
|
|
||||||
fi
|
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"
|
|
@ -1037,6 +1037,9 @@ function interfaces_status()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
local signal = ""
|
local signal = ""
|
||||||
|
local operator = ""
|
||||||
|
local phonenumber = ""
|
||||||
|
local donglestate = ""
|
||||||
if gateway ~= "" then
|
if gateway ~= "" then
|
||||||
if uci:get("openmptcprouter", "settings", "disablegwping") ~= "1" and connectivity ~= "ERROR" then
|
if uci:get("openmptcprouter", "settings", "disablegwping") ~= "1" and connectivity ~= "ERROR" then
|
||||||
local gw_ping_test = ut.trim(sys.exec("ping -w 1 -c 1 " .. gateway .. " | grep '100% packet loss'"))
|
local gw_ping_test = ut.trim(sys.exec("ping -w 1 -c 1 " .. gateway .. " | grep '100% packet loss'"))
|
||||||
|
@ -1059,13 +1062,25 @@ function interfaces_status()
|
||||||
local proto = section['proto']
|
local proto = section['proto']
|
||||||
if proto == "qmi" then
|
if proto == "qmi" then
|
||||||
local device = section['device']
|
local device = section['device']
|
||||||
signal = sys.exec("omr-qmi " .. device .. " | tr -d '\n'")
|
intfdata = sys.exec("omr-qmi " .. device .. " | tr -d '\n'")
|
||||||
|
if intfdata ~= "" then
|
||||||
|
signal = sys.exec("echo ".. intfdata .. " | awk -F';' '{print $1}' | tr -d '\n'")
|
||||||
|
operator = sys.exec("echo ".. intfdata .. " | awk -F';' '{print $2}' | tr -d '\n'")
|
||||||
|
phonenumber = sys.exec("echo ".. intfdata .. " | awk -F';' '{print $3}' | tr -d '\n'")
|
||||||
|
donglestate = sys.exec("echo ".. intfdata .. " | awk -F';' '{print $4}' | tr -d '\n'")
|
||||||
|
end
|
||||||
elseif proto == "3g" then
|
elseif proto == "3g" then
|
||||||
local device = section['device']
|
local device = section['device']
|
||||||
signal = sys.exec("omr-3g " .. device .. " | tr -d '\n'")
|
signal = sys.exec("omr-3g " .. device .. " | tr -d '\n'")
|
||||||
elseif proto == "modemmanager" then
|
elseif proto == "modemmanager" then
|
||||||
local device = section['device']
|
local device = section['device']
|
||||||
signal = sys.exec("omr-modemmanager " .. device .. " | tr -d '\n'")
|
intfdata = sys.exec("omr-modemmanager " .. device .. " | tr -d '\n'")
|
||||||
|
if intfdata ~= "" then
|
||||||
|
signal = sys.exec("echo ".. intfdata .. " | awk -F';' '{print $1}' | tr -d '\n'")
|
||||||
|
operator = sys.exec("echo ".. intfdata .. " | awk -F';' '{print $2}' | tr -d '\n'")
|
||||||
|
phonenumber = sys.exec("echo ".. intfdata .. " | awk -F';' '{print $3}' | tr -d '\n'")
|
||||||
|
donglestate = sys.exec("echo ".. intfdata .. " | awk -F';' '{print $4}' | tr -d '\n'")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1206,6 +1221,9 @@ function interfaces_status()
|
||||||
multipath_state = current_multipath_state,
|
multipath_state = current_multipath_state,
|
||||||
duplicateif = duplicateif,
|
duplicateif = duplicateif,
|
||||||
signal = signal,
|
signal = signal,
|
||||||
|
operator = operator,
|
||||||
|
phonenumber = phonenumber,
|
||||||
|
donglestate = donglestate,
|
||||||
}
|
}
|
||||||
if ifname ~= nil and ifname:match("^tun.*") then
|
if ifname ~= nil and ifname:match("^tun.*") then
|
||||||
table.insert(mArray.tunnels, data);
|
table.insert(mArray.tunnels, data);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue