You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.1 KiB
Lua
79 lines
2.1 KiB
Lua
-- Copyright 2021 Konstantine Shevlyakov <shevlakov@132lan.ru>
|
|
-- Copyright 2021 modified by Vladislav Kadulin <spanky@yandex.ru>
|
|
-- Licensed to the GNU General Public License v3.0.
|
|
|
|
require("nixio.fs")
|
|
|
|
local PATH = {
|
|
"/dev/tty[A-Z][A-Z]*",
|
|
"/dev/cdc-wdm*"
|
|
}
|
|
|
|
-- check devices
|
|
function check_dev(path)
|
|
local try_port, size = nixio.fs.glob(path)
|
|
if size > 0 then
|
|
port = translate("In automatic mode detect first answered DATA port.")
|
|
else
|
|
port = translate("Port not found!")
|
|
end
|
|
end
|
|
|
|
-- add device in ListValue
|
|
function try_port(path)
|
|
local try_port = nixio.fs.glob(path)
|
|
dev:value("", translate("Autodetect"))
|
|
for node in try_port do
|
|
dev:value(node, node)
|
|
end
|
|
end
|
|
|
|
local m = Map("modeminfo", translate("Modeminfo: Configuration"),
|
|
translate("Configuration panel of Modeminfo."))
|
|
|
|
local s = m:section(TypedSection, "modeminfo")
|
|
s.anonymous = true
|
|
|
|
local qmi_mode = s:option(Flag, "qmi_mode", translate("Use QMI"),
|
|
translate("Get modem data via qmicli (experimental). Require install qmi-utils."))
|
|
qmi_mode.rmempty = true
|
|
|
|
check_dev(PATH[1])
|
|
dev = s:option(ListValue, "device", translate("Data port"), port)
|
|
dev.default = ""
|
|
dev.rmempty = true
|
|
dev:depends("qmi_mode", 0)
|
|
try_port(PATH[1])
|
|
|
|
check_dev(PATH[2])
|
|
dev = s:option(ListValue, "device_qmi", translate("Data port"), port)
|
|
dev.default = ""
|
|
dev.rmempty = true
|
|
dev:depends("qmi_mode", 1)
|
|
try_port(PATH[2])
|
|
|
|
local decimail = s:option(Flag, "decimail", translate("Show decimal"),
|
|
translate("Show LAC and CID in decimal."))
|
|
decimail.rmempty = true
|
|
|
|
local name = s:option(Flag, "mmcli_name", translate("Name via mmcli"),
|
|
translate("Get device hardware name via mmcli utility if aviable."))
|
|
name.rmempty = true
|
|
name:depends("qmi_mode", 0)
|
|
|
|
local qmi_proxy = s:option(Flag, "qmi_proxy", translate("QMI proxy"),
|
|
translate("Enable qmi-proxy mode."))
|
|
qmi_proxy.rmempty = true
|
|
qmi_proxy:depends("qmi_mode", 1)
|
|
|
|
local short = s:option(Flag, "index", translate("Index page"),
|
|
translate("Short info on Overview page"))
|
|
short.rmempty = true
|
|
|
|
function m.on_after_commit(Map)
|
|
luci.sys.call("rm -f /tmp/modemdevice")
|
|
end
|
|
|
|
return m
|
|
|