1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Add more info for qmi, modemmanger and huawei modems

This commit is contained in:
Ycarus (Yannick Chabanois) 2020-04-25 13:12:15 +02:00
parent 81789e00ac
commit 9910e61efc
6 changed files with 77 additions and 21 deletions

View file

@ -1040,6 +1040,7 @@ function interfaces_status()
local operator = ""
local phonenumber = ""
local donglestate = ""
local networktype = ""
if gateway ~= "" 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'"))
@ -1051,7 +1052,14 @@ function interfaces_status()
end
end
if uci:get("openmptcprouter", interface, "manufacturer") == "huawei" then
signal = sys.exec("omr-huawei " .. gateway .. " | tr -d '\n'")
intfdata = ut.trim(sys.exec("omr-huawei " .. gateway .. " all"))
if intfdata ~= "" then
signal = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $1}'"))
operator = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $2}'"))
phonenumber = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $3}'"))
donglestate = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $4}'"))
networktype = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $5}'"))
end
end
elseif gateway == "" then
gw_ping = "DOWN"
@ -1062,24 +1070,26 @@ function interfaces_status()
local proto = section['proto']
if proto == "qmi" then
local device = section['device']
intfdata = sys.exec("omr-qmi " .. device .. " | tr -d '\n'")
intfdata = ut.trim(sys.exec("omr-qmi " .. device .. " all"))
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'")
signal = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $1}'"))
operator = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $2}'"))
phonenumber = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $3}'"))
donglestate = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $4}'"))
networktype = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $5}'"))
end
elseif proto == "3g" then
local device = section['device']
signal = sys.exec("omr-3g " .. device .. " | tr -d '\n'")
elseif proto == "modemmanager" then
local device = section['device']
intfdata = sys.exec("omr-modemmanager " .. device .. " | tr -d '\n'")
intfdata = ut.trim(sys.exec("omr-modemmanager " .. device .. " all"))
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'")
signal = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $1}'"))
operator = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $2}'"))
phonenumber = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $3}'"))
donglestate = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $4}'"))
networktype = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $5}'"))
end
end
end
@ -1224,6 +1234,7 @@ function interfaces_status()
operator = operator,
phonenumber = phonenumber,
donglestate = donglestate,
networktype = networktype,
}
if ifname ~= nil and ifname:match("^tun.*") then
table.insert(mArray.tunnels, data);