145 lines
4.9 KiB
Lua
145 lines
4.9 KiB
Lua
local m, section, m2, s2
|
|
|
|
m = Map("modem", translate("Mobile Network"))
|
|
m.description = translate("Modem Server For OpenWrt")
|
|
|
|
|
|
-------------------------------Fibocom Wireless Inc. FM650 Module----------------------------------
|
|
if (string.gsub(luci.sys.exec('lsusb |grep "ID 2cb7:0a05 " | wc -l'),"%s+","")=="1") then
|
|
section = m:section(TypedSection, "ndis", translate("FMFM650-CN Settings"), translate("[1]Automatic start upon startup: Check</br>[2] FMFMFM650-CN module default ECM (36) mode. If not, please modify it, otherwise dialing cannot proceed normally</br>"))
|
|
section.anonymous = true
|
|
section.addremove = false
|
|
enable = section:option(Flag, "enabled", translate("Enable"))
|
|
enable.rmempty = false
|
|
else
|
|
section = m:section(TypedSection, "ndis", translate("SIM Settings"), translate("Automatic operation upon startup \r\n ooo"))
|
|
section.anonymous = true
|
|
section.addremove = false
|
|
section:tab("general", translate("General Setup"))
|
|
section:tab("advanced", translate("Advanced Settings"))
|
|
|
|
|
|
enable = section:taboption("general", Flag, "enabled", translate("Enable"))
|
|
enable.rmempty = false
|
|
|
|
device = section:taboption("general",Value, "device", translate("Modem device"))
|
|
device.rmempty = false
|
|
local device_suggestions = nixio.fs.glob("/dev/cdc-wdm*")
|
|
if device_suggestions then
|
|
local node
|
|
for node in device_suggestions do
|
|
device:value(node)
|
|
end
|
|
end
|
|
apn = section:taboption("general", Value, "apn", translate("APN"))
|
|
username = section:taboption("general", Value, "username", translate("PAP/CHAP Username"))
|
|
password = section:taboption("general", Value, "password", translate("PAP/CHAP Password"))
|
|
password.password = true
|
|
pincode = section:taboption("general", Value, "pincode", translate("PIN Code"))
|
|
auth = section:taboption("general", Value, "auth", translate("Authentication Type"))
|
|
auth.rmempty = true
|
|
auth:value("", translate("-- Please choose --"))
|
|
auth:value("both", "PAP/CHAP (both)")
|
|
auth:value("pap", "PAP")
|
|
auth:value("chap", "CHAP")
|
|
auth:value("none", "NONE")
|
|
tool = section:taboption("general", Value, "tool", translate("Tools"))
|
|
tool:value("quectel-CM", "quectel-CM")
|
|
tool.rmempty = true
|
|
PdpType= section:taboption("general", Value, "pdptype", translate("PdpType"))
|
|
PdpType:value("IPV4", "IPV4")
|
|
PdpType:value("IPV6", "IPV6")
|
|
PdpType:value("IPV4V6", "IPV4V6")
|
|
PdpType.rmempty = true
|
|
|
|
|
|
---------------------------advanced------------------------------
|
|
bandlist = section:taboption("advanced", ListValue, "bandlist", translate("Lock Band List"))
|
|
-- if (string.gsub(luci.sys.exec('uci get system.@system[0].modem |grep lte |wc -l'),"%s+","")=="1") then
|
|
-- bandlist.default = "0"
|
|
-- bandlist:value("1", "LTE BAND1")
|
|
-- bandlist:value("2", "LTE BAND2")
|
|
-- bandlist:value("3", "LTE BAND3")
|
|
-- bandlist:value("4", "LTE BAND4")
|
|
-- bandlist:value("5", "LTE BAND5")
|
|
-- bandlist:value("7", "LTE BAND7")
|
|
-- bandlist:value("8", "LTE BAND8")
|
|
-- bandlist:value("20", "LTE BAND20")
|
|
-- bandlist:value("38", "LTE BAND38")
|
|
-- bandlist:value("40", "LTE BAND40")
|
|
-- bandlist:value("41", "LTE BAND41")
|
|
-- bandlist:value("28", "LTE BAND28")
|
|
-- bandlist:value("A", "AUTO")
|
|
-- end
|
|
bandlist:value("0", translate("Disable"))
|
|
|
|
servertype = section:taboption("advanced", ListValue, "servertype", translate("Server Type"))
|
|
servertype.default = "0"
|
|
|
|
--if (string.gsub(luci.sys.exec('uci get system.@system[0].modem |grep nr5g |wc -l'),"%s+","")=="1") then
|
|
servertype:value("1", "5G Only")
|
|
servertype:value("5", "4G/5G Only")
|
|
--end
|
|
servertype:value("2", "4G Only")
|
|
servertype:value("3", "3G Only")
|
|
servertype:value("4", "2G Only")
|
|
servertype:value("0", "AUTO")
|
|
|
|
|
|
-- s1 = m:section(TypedSection, "ndis", translate("AT Port Settings"),translate("Set tyyUSB port"))
|
|
-- s1.anonymous = true
|
|
-- s1.addremove = false
|
|
-- tyyusb= s1:option(Value, "tyyusb", translate("tyyUSB port"))
|
|
-- tyyusb.default = "2"
|
|
-- tyyusb:value("0", "0")
|
|
-- tyyusb:value("1", "1")
|
|
-- tyyusb:value("2", "2")
|
|
-- tyyusb:value("3", "3")
|
|
-- tyyusb:value("4", "4")
|
|
-- tyyusb.rmempty=false
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
s2 = m:section(TypedSection, "ndis", translate("Network Diagnostics"),translate("Network exception handling: \
|
|
check the network connection in a loop for 5 seconds. If the Ping IP address is not successful, After the network \
|
|
exceeds the abnormal number, restart and search the registered network again."))
|
|
s2.anonymous = true
|
|
s2.addremove = false
|
|
|
|
en = s2:option(Flag, "en", translate("Enable"))
|
|
en.rmempty = false
|
|
|
|
|
|
|
|
ipaddress= s2:option(Value, "ipaddress", translate("Ping IP address"))
|
|
ipaddress.default = "114.114.114.114"
|
|
ipaddress.rmempty=false
|
|
|
|
an = s2:option(Value, "an", translate("Abnormal number"))
|
|
an.default = "15"
|
|
an:value("3", "3")
|
|
an:value("5", "5")
|
|
an:value("10", "10")
|
|
an:value("15", "15")
|
|
an:value("20", "20")
|
|
an:value("25", "25")
|
|
an:value("30", "30")
|
|
an.rmempty=false
|
|
|
|
|
|
|
|
local apply = luci.http.formvalue("cbi.apply")
|
|
if apply then
|
|
-- io.popen("/etc/init.d/modeminit restart")
|
|
io.popen("/etc/init.d/modem restart")
|
|
end
|
|
|
|
return m,m2
|