diff --git a/luci/luci-app-qmodem-mwan/po/zh_Hans/modem_mwan.po b/luci/luci-app-qmodem-mwan/po/zh_Hans/modem_mwan.po index 82f7024..6cb70b5 100644 --- a/luci/luci-app-qmodem-mwan/po/zh_Hans/modem_mwan.po +++ b/luci/luci-app-qmodem-mwan/po/zh_Hans/modem_mwan.po @@ -24,7 +24,7 @@ msgid "Weight" msgstr "成员权重" msgid "Mwan Config" -msgstr "mwan配置" +msgstr "多WAN配置" msgid "IPV4 Config" msgstr "IPV4配置" diff --git a/luci/luci-app-qmodem/Makefile b/luci/luci-app-qmodem/Makefile index 5719770..fefe4ee 100644 --- a/luci/luci-app-qmodem/Makefile +++ b/luci/luci-app-qmodem/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-qmodem LUCI_TITLE:=LuCI support for QWRT Modem LUCI_PKGARCH:=all -PKG_VERSION:=2.4.6 +PKG_VERSION:=2.5.0 PKG_LICENSE:=GPLv3 PKG_LINCESE_FILES:=LICENSE PKG_MAINTAINER:=Tom diff --git a/luci/luci-app-qmodem/luasrc/view/qmodem/modem_debug.htm b/luci/luci-app-qmodem/luasrc/view/qmodem/modem_debug.htm index a030dbd..711175e 100644 --- a/luci/luci-app-qmodem/luasrc/view/qmodem/modem_debug.htm +++ b/luci/luci-app-qmodem/luasrc/view/qmodem/modem_debug.htm @@ -866,6 +866,121 @@ } + class AtDebug extends ModemConfig { + constructor(cfg_id){ + super(cfg_id,"<%:AT Debug%>"); + this.config_name = "at_cfg"; + this.get_action = "get_at_cfg"; + this.set_action = "send_at"; + this.at_port=null; + this.last_choice_cmd = null; + this.get_config(); + this.render(); + } + + render(){ + this.at_input = this.createInput("at",this.config); + this.textarea = document.createElement('textarea'); + this.textarea.style.width = "100%"; + this.textarea.style.height = "600px"; + this.textarea.readOnly = true; + this.at_btn = this.createBTN("<%:Submit%>",() => { + let payload = { + "at": this.at_input.value, + "port": this.at_port + } + this.set_config(JSON.stringify(payload)); + //append input to textarea + this.textarea.value += "INPUT>> " + this.at_input.value + "\n"; + }); + this.at_port_selector = this.createDroplist(); + this.cmd_prompt = this.createDroplist(); + this.fieldset.appendChild(this.at_port_selector); + this.fieldset.appendChild(this.cmd_prompt); + this.fieldset.appendChild(this.at_input); + this.fieldset.appendChild(this.at_btn); + this.fieldset.appendChild(this.textarea); + this.at_port_selector.addEventListener('change',(event) => { + this.at_port = event.target.value; + }); + this.cmd_prompt.addEventListener('change',(event) => { + this.at_input.value = event.target.value; + }); + } + + cb_get(){ + //clear ports + while (this.at_port_selector.firstChild) { + this.at_port_selector.removeChild(this.at_port_selector.firstChild); + } + var ports=this.config.ports; + var valid_ports=this.config.valid_ports; + var using_port=this.config.using_port; + var cmds = this.config.cmds; + for (let port of ports) { + let select; + let displayport = port; + if (valid_ports.includes(port) == false) { + displayport += "<%:(invalid)%>"; + } + else{ + displayport += "<%:(valid)%>"; + } + if (port == using_port) { + displayport += "<%:(using)%>"; + select = true; + } + + var option = document.createElement('option'); + option.value = port; + option.innerHTML = displayport; + if (select) { + option.selected = true; + this.at_port = port; + } + this.at_port_selector.appendChild(option); + } + //clear cmds + while (this.cmd_prompt.firstChild) { + this.cmd_prompt.removeChild(this.cmd_prompt.firstChild); + } + for (let cmd of cmds) { + let select; + let name = cmd.name; + let value = cmd.value; + if (this.last_choice_cmd == cmd.value) { + select = true; + } + + if (this.last_choice_cmd == null) { + select = true; + } + + var option = document.createElement('option'); + option.value = value; + option.innerHTML = name; + if (select) { + option.selected = true; + this.last_choice_cmd = value; + this.at_input.value = value; + } + this.cmd_prompt.appendChild(option); + } + + } + + cb_set(){ + //append response to textarea + this.textarea.value += this.config.res + "<"}, "NeighborCell": {"class": NeighborCell, "name": "<%:Neighbor Cell%>"}, "LockBand": {"class": Lockband, "name":"<%:Lock Band%>"}, - "RebootModem": {"class": RebootModem, "name":"<%:Reboot Modem%>"} + "RebootModem": {"class": RebootModem, "name":"<%:Reboot Modem%>"}, + "AtDebug": {"class": AtDebug, "name":"<%:AT Debug%>"} } constructor(){ super(); diff --git a/luci/luci-app-qmodem/po/zh-cn/qmodem.po b/luci/luci-app-qmodem/po/zh-cn/qmodem.po index 31b3540..c6f062d 100644 --- a/luci/luci-app-qmodem/po/zh-cn/qmodem.po +++ b/luci/luci-app-qmodem/po/zh-cn/qmodem.po @@ -504,3 +504,15 @@ msgstr "GPIO 开启值" msgid "Default Metric" msgstr "默认跃点" + +msgid "AT Debug" +msgstr "AT 调试" + +msgid "(using)" +msgstr "(使用中)" + +msgid "valid" +msgstr "有效" + +msgid "invalid" +msgstr "无效" diff --git a/luci/luci-app-qmodem/po/zh_Hans/qmodem.po b/luci/luci-app-qmodem/po/zh_Hans/qmodem.po index 31b3540..c6f062d 100644 --- a/luci/luci-app-qmodem/po/zh_Hans/qmodem.po +++ b/luci/luci-app-qmodem/po/zh_Hans/qmodem.po @@ -504,3 +504,15 @@ msgstr "GPIO 开启值" msgid "Default Metric" msgstr "默认跃点" + +msgid "AT Debug" +msgstr "AT 调试" + +msgid "(using)" +msgstr "(使用中)" + +msgid "valid" +msgstr "有效" + +msgid "invalid" +msgstr "无效" diff --git a/luci/luci-app-qmodem/root/usr/share/qmodem/at_commands.json b/luci/luci-app-qmodem/root/usr/share/qmodem/at_commands.json index 4e8541e..05a2a72 100644 --- a/luci/luci-app-qmodem/root/usr/share/qmodem/at_commands.json +++ b/luci/luci-app-qmodem/root/usr/share/qmodem/at_commands.json @@ -1,193 +1,461 @@ { - "quick_commands":{ - "general":[ - {"模组信息 > ATI":"ATI"}, - {"查询SIM卡状态 > AT+CPIN?":"AT+CPIN?"}, - {"查询网络信号质量(4G) > AT+CSQ":"AT+CSQ"}, - {"查询网络信号质量(5G) > AT+CESQ":"AT+CESQ"}, - {"查询网络信息 > AT+COPS?":"AT+COPS?"}, - {"查询PDP信息 > AT+CGDCONT?":"AT+CGDCONT?"}, - {"查询PDP地址 > AT+CGPADDR":"AT+CGPADDR"}, - {"查询模组IMEI > AT+CGSN":"AT+CGSN"}, - {"查询模组IMEI > AT+GSN":"AT+GSN"}, - {"查看当前电压 > AT+CBC":"AT+CBC"}, - {"最小功能模式 > AT+CFUN=0":"AT+CFUN=0"}, - {"全功能模式 > AT+CFUN=1":"AT+CFUN=1"}, - {"重启模组 > AT+CFUN=1,1":"AT+CFUN=1,1"} - ], - "quectel":{ - "qualcomm":[ - {"SIM卡状态上报 > AT+QSIMSTAT?":"AT+QSIMSTAT?"}, - {"设置当前使用的为卡1 > AT+QUIMSLOT=1":"AT+QUIMSLOT=1"}, - {"设置当前使用的为卡2 > AT+QUIMSLOT=2":"AT+QUIMSLOT=2"}, - {"查询网络信息 > AT+QNWINFO":"AT+QNWINFO"}, - {"查询载波聚合参数 > AT+QCAINFO":"AT+QCAINFO"}, - {"查询当前拨号模式 > AT+QCFG=\"usbnet\"":"AT+QCFG=\"usbnet\""}, - {"QMI/GobiNet拨号模式 > AT+QCFG=\"usbnet\",0":"AT+QCFG=\"usbnet\",0"}, - {"ECM拨号模式 > AT+QCFG=\"usbnet\",1":"AT+QCFG=\"usbnet\",1"}, - {"MBIM拨号模式 > AT+QCFG=\"usbnet\",2":"AT+QCFG=\"usbnet\",2"}, - {"RNDIS拨号模式 > AT+QCFG=\"usbnet\",3":"AT+QCFG=\"usbnet\",3"}, - {"NCM拨号模式 > AT+QCFG=\"usbnet\",5":"AT+QCFG=\"usbnet\",5"}, - {"锁4G > AT+QNWPREFCFG=\"mode_pref\",LTE":"AT+QNWPREFCFG=\"mode_pref\",LTE"}, - {"锁5G > AT+QNWPREFCFG=\"mode_pref\",NR5G":"AT+QNWPREFCFG=\"mode_pref\",NR5G"}, - {"锁5G NSA > AT+QNWPREFCFG=\"mode_pref\",NR5G-NSA":"AT+QNWPREFCFG=\"mode_pref\",NR5G-NSA"}, - {"锁5G SA > AT+QNWPREFCFG=\"mode_pref\",NR5G-SA":"AT+QNWPREFCFG=\"mode_pref\",NR5G-SA"}, - {"恢复自动搜索网络 > AT+QNWPREFCFG=\"mode_pref\",AUTO":"AT+QNWPREFCFG=\"mode_pref\",AUTO"}, - {"查询模组IMEI > AT+EGMR=0,7":"AT+EGMR=0,7"}, - {"更改模组IMEI > AT+EGMR=1,7,\"IMEI\"":"AT+EGMR=1,7,\"在此设置IMEI\""}, - {"获取模组温度 > AT+QTEMP":"AT+QTEMP"}, - {"切换为USB通信端口 > AT+QCFG=\"data_interface\",0,0":"AT+QCFG=\"data_interface\",0,0"}, - {"切换为PCIE通信端口 > AT+QCFG=\"data_interface\",1,0":"AT+QCFG=\"data_interface\",1,0"}, - {"查看当前USB速率 > AT+QCFG=\"usbspeed\"":"AT+QCFG=\"usbspeed\""}, - {"切换为USB2.0 > AT+QCFG=\"usbspeed\",\"20\"":"AT+QCFG=\"usbspeed\",\"20\""}, - {"切换为USB3.1 Gen1(5Gbps) > AT+QCFG=\"usbspeed\",\"311\"":"AT+QCFG=\"usbspeed\",\"311\""}, - {"切换为USB3.1 Gen1(10Gbps) > AT+QCFG=\"usbspeed\",\"312\"":"AT+QCFG=\"usbspeed\",\"312\""}, - {"重置模组 > AT+QCFG=\"ResetFactory\"":"AT+QCFG=\"ResetFactory\""} - ], - "unisoc":[ - {"SIM卡状态上报 > AT+QSIMSTAT?":"AT+QSIMSTAT?"}, - {"设置当前使用的为卡1 > AT+QUIMSLOT=1":"AT+QUIMSLOT=1"}, - {"设置当前使用的为卡2 > AT+QUIMSLOT=2":"AT+QUIMSLOT=2"}, - {"查询网络信息 > AT+QNWINFO":"AT+QNWINFO"}, - {"查询载波聚合参数 > AT+QCAINFO":"AT+QCAINFO"}, - {"查询当前拨号模式 > AT+QCFG=\"usbnet\"":"AT+QCFG=\"usbnet\""}, - {"ECM拨号模式 > AT+QCFG=\"usbnet\",1":"AT+QCFG=\"usbnet\",1"}, - {"MBIM拨号模式 > AT+QCFG=\"usbnet\",2":"AT+QCFG=\"usbnet\",2"}, - {"RNDIS拨号模式 > AT+QCFG=\"usbnet\",3":"AT+QCFG=\"usbnet\",3"}, - {"NCM拨号模式 > AT+QCFG=\"usbnet\",5":"AT+QCFG=\"usbnet\",5"}, - {"锁4G > AT+QNWPREFCFG=\"mode_pref\",LTE":"AT+QNWPREFCFG=\"mode_pref\",LTE"}, - {"锁5G > AT+QNWPREFCFG=\"mode_pref\",NR5G":"AT+QNWPREFCFG=\"mode_pref\",NR5G"}, - {"锁5G NSA > AT+QNWPREFCFG=\"mode_pref\",NR5G-NSA":"AT+QNWPREFCFG=\"mode_pref\",NR5G-NSA"}, - {"锁5G SA > AT+QNWPREFCFG=\"mode_pref\",NR5G-SA":"AT+QNWPREFCFG=\"mode_pref\",NR5G-SA"}, - {"恢复自动搜索网络 > AT+QNWPREFCFG=\"mode_pref\",AUTO":"AT+QNWPREFCFG=\"mode_pref\",AUTO"}, - {"查询模组IMEI > AT+EGMR=0,7":"AT+EGMR=0,7"}, - {"更改模组IMEI > AT+EGMR=1,7,\"IMEI\"":"AT+EGMR=1,7,\"在此设置IMEI\""}, - {"获取模组温度 > AT+QTEMP":"AT+QTEMP"}, - {"切换为USB通信端口 > AT+QCFG=\"data_interface\",0,0":"AT+QCFG=\"data_interface\",0,0"}, - {"切换为PCIE通信端口 > AT+QCFG=\"data_interface\",1,0":"AT+QCFG=\"data_interface\",1,0"}, - {"查看当前USB速率 > AT+QCFG=\"usbspeed\"":"AT+QCFG=\"usbspeed\""}, - {"切换为USB2.0 > AT+QCFG=\"usbspeed\",\"20\"":"AT+QCFG=\"usbspeed\",\"20\""}, - {"切换为USB3.1 Gen1(5Gbps) > AT+QCFG=\"usbspeed\",\"311\"":"AT+QCFG=\"usbspeed\",\"311\""}, - {"切换为USB3.1 Gen1(10Gbps) > AT+QCFG=\"usbspeed\",\"312\"":"AT+QCFG=\"usbspeed\",\"312\""}, - {"重置模组 > AT+QCFG=\"ResetFactory\"":"AT+QCFG=\"ResetFactory\""} - ], - "lte":[ - {"SIM卡状态上报 > AT+QSIMSTAT?":"AT+QSIMSTAT?"}, - {"设置当前使用的为卡1 > AT+QUIMSLOT=1":"AT+QUIMSLOT=1"}, - {"设置当前使用的为卡2 > AT+QUIMSLOT=2":"AT+QUIMSLOT=2"}, - {"查询网络信息 > AT+QNWINFO":"AT+QNWINFO"}, - {"查询载波聚合参数 > AT+QCAINFO":"AT+QCAINFO"}, - {"查询当前拨号模式 > AT+QCFG=\"usbnet\"":"AT+QCFG=\"usbnet\""}, - {"QMI/GobiNet拨号模式 > AT+QCFG=\"usbnet\",0":"AT+QCFG=\"usbnet\",0"}, - {"ECM拨号模式 > AT+QCFG=\"usbnet\",1":"AT+QCFG=\"usbnet\",1"}, - {"MBIM拨号模式 > AT+QCFG=\"usbnet\",2":"AT+QCFG=\"usbnet\",2"}, - {"RNDIS拨号模式 > AT+QCFG=\"usbnet\",3":"AT+QCFG=\"usbnet\",3"}, - {"NCM拨号模式 > AT+QCFG=\"usbnet\",5":"AT+QCFG=\"usbnet\",5"}, - {"锁4G > AT+QNWPREFCFG=\"mode_pref\",LTE":"AT+QNWPREFCFG=\"mode_pref\",LTE"}, - {"锁5G > AT+QNWPREFCFG=\"mode_pref\",NR5G":"AT+QNWPREFCFG=\"mode_pref\",NR5G"}, - {"锁5G NSA > AT+QNWPREFCFG=\"mode_pref\",NR5G-NSA":"AT+QNWPREFCFG=\"mode_pref\",NR5G-NSA"}, - {"锁5G SA > AT+QNWPREFCFG=\"mode_pref\",NR5G-SA":"AT+QNWPREFCFG=\"mode_pref\",NR5G-SA"}, - {"恢复自动搜索网络 > AT+QNWPREFCFG=\"mode_pref\",AUTO":"AT+QNWPREFCFG=\"mode_pref\",AUTO"}, - {"查询模组IMEI > AT+EGMR=0,7":"AT+EGMR=0,7"}, - {"更改模组IMEI > AT+EGMR=1,7,\"IMEI\"":"AT+EGMR=1,7,\"在此设置IMEI\""}, - {"获取模组温度 > AT+QTEMP":"AT+QTEMP"}, - {"切换为USB通信端口 > AT+QCFG=\"data_interface\",0,0":"AT+QCFG=\"data_interface\",0,0"}, - {"切换为PCIE通信端口 > AT+QCFG=\"data_interface\",1,0":"AT+QCFG=\"data_interface\",1,0"}, - {"查看当前USB速率 > AT+QCFG=\"usbspeed\"":"AT+QCFG=\"usbspeed\""}, - {"切换为USB2.0 > AT+QCFG=\"usbspeed\",\"20\"":"AT+QCFG=\"usbspeed\",\"20\""}, - {"切换为USB3.1 Gen1(5Gbps) > AT+QCFG=\"usbspeed\",\"311\"":"AT+QCFG=\"usbspeed\",\"311\""}, - {"切换为USB3.1 Gen1(10Gbps) > AT+QCFG=\"usbspeed\",\"312\"":"AT+QCFG=\"usbspeed\",\"312\""}, - {"重置模组 > AT+QCFG=\"ResetFactory\"":"AT+QCFG=\"ResetFactory\""} - ] - + "general": [ + { + "模组信息 > ATI": "ATI" }, - "fibocom":{ - "qualcomm":[ - {"设置当前使用的为卡1 > AT+GTDUALSIM=0":"AT+GTDUALSIM=0"}, - {"设置当前使用的为卡2 > AT+GTDUALSIM=1":"AT+GTDUALSIM=1"}, - {"ECM手动拨号 > AT+GTRNDIS=1,1":"AT+GTRNDIS=1,1"}, - {"ECM拨号断开 > AT+GTRNDIS=0,1":"AT+GTRNDIS=0,1"}, - {"查询当前端口模式 > AT+GTUSBMODE?":"AT+GTUSBMODE?"}, - {"QMI/GobiNet拨号模式 > AT+GTUSBMODE=32":"AT+GTUSBMODE=32"}, - {"ECM拨号模式 > AT+GTUSBMODE=18":"AT+GTUSBMODE=18"}, - {"MBIM拨号模式 > AT+GTUSBMODE=30":"AT+GTUSBMODE=30"}, - {"RNDIS拨号模式 > AT+GTUSBMODE=24":"AT+GTUSBMODE=24"}, - {"NCM拨号模式 > AT+GTUSBMODE=18":"AT+GTUSBMODE=18"}, - {"锁4G > AT+GTACT=2":"AT+GTACT=2"}, - {"锁5G > AT+GTACT=14":"AT+GTACT=14"}, - {"恢复自动搜索网络 > AT+GTACT=20":"AT+GTACT=20"}, - {"查询当前连接的网络类型 > AT+PSRAT?":"AT+PSRAT?"}, - {"查询模组IMEI > AT+GTSN=0,7":"AT+GTSN=0,7"}, - {"更改模组IMEI > AT+GTSN=1,7,\"IMEI\"":"AT+GTSN=1,7,\"在此设置IMEI\""}, - {"报告一次当前BBIC的温度 > AT+MTSM=1,6":"AT+MTSM=1,6"}, - {"报告一次当前射频的温度 > AT+MTSM=1,7":"AT+MTSM=1,7"}, - {"重启模组 > AT+CFUN=15":"AT+CFUN=15"} - ], - "unisoc":[ - {"设置当前使用的为卡1 > AT+GTDUALSIM=0":"AT+GTDUALSIM=0"}, - {"设置当前使用的为卡2 > AT+GTDUALSIM=1":"AT+GTDUALSIM=1"}, - {"ECM手动拨号 > AT+GTRNDIS=1,1":"AT+GTRNDIS=1,1"}, - {"ECM拨号断开 > AT+GTRNDIS=0,1":"AT+GTRNDIS=0,1"}, - {"查询当前端口模式 > AT+GTUSBMODE?":"AT+GTUSBMODE?"}, - {"ECM拨号模式 > AT+GTUSBMODE=18":"AT+GTUSBMODE=18"}, - {"MBIM拨号模式 > AT+GTUSBMODE=30":"AT+GTUSBMODE=30"}, - {"RNDIS拨号模式 > AT+GTUSBMODE=24":"AT+GTUSBMODE=24"}, - {"NCM拨号模式 > AT+GTUSBMODE=18":"AT+GTUSBMODE=18"}, - {"锁4G > AT+GTACT=2":"AT+GTACT=2"}, - {"锁5G > AT+GTACT=14":"AT+GTACT=14"}, - {"恢复自动搜索网络 > AT+GTACT=20":"AT+GTACT=20"}, - {"查询当前连接的网络类型 > AT+PSRAT?":"AT+PSRAT?"}, - {"查询模组IMEI > AT+GTSN=0,7":"AT+GTSN=0,7"}, - {"更改模组IMEI > AT+GTSN=1,7,\"IMEI\"":"AT+GTSN=1,7,\"在此设置IMEI\""}, - {"报告一次当前BBIC的温度 > AT+MTSM=1,6":"AT+MTSM=1,6"}, - {"报告一次当前射频的温度 > AT+MTSM=1,7":"AT+MTSM=1,7"}, - {"重启模组 > AT+CFUN=15":"AT+CFUN=15"} - ], - "mediatek":[ - {"设置当前使用的为卡1 > AT+GTDUALSIM=0":"AT+GTDUALSIM=0"}, - {"设置当前使用的为卡2 > AT+GTDUALSIM=1":"AT+GTDUALSIM=1"}, - {"手动设置接入点 > AT+CGDCONT=3,\"IPV4V6\",\"APN\"":"AT+CGDCONT=3,\"IPV4V6\",\"在此设置APN\""}, - {"手动拨号 > AT+CGACT=1,3":"AT+CGACT=1,3"}, - {"停止拨号 > AT+CGACT=0,3":"AT+CGACT=0,3"}, - {"查询当前端口模式 > AT+GTUSBMODE?":"AT+GTUSBMODE?"}, - {"RNDIS拨号模式(40) > AT+GTUSBMODE=40":"AT+GTUSBMODE=40"}, - {"RNDIS拨号模式(41) > AT+GTUSBMODE=41":"AT+GTUSBMODE=41"}, - {"锁4G > AT+GTACT=2":"AT+GTACT=2"}, - {"锁5G > AT+GTACT=14":"AT+GTACT=14"}, - {"恢复自动搜索网络 > AT+GTACT=20":"AT+GTACT=20"}, - {"查询当前连接的网络类型 > AT+PSRAT?":"AT+PSRAT?"}, - {"查询载波聚合小区信息 > AT+GTCAINFO?":"AT+GTCAINFO?"}, - {"查询模组IMEI > AT+GTSN=0,7":"AT+GTSN=0,7"}, - {"更改模组IMEI > AT+GTSN=1,7,\"IMEI\"":"AT+GTSN=1,7,\"在此设置IMEI\""}, - {"解锁FCC > AT+GTFCCLOCKMODE=0":"AT+GTFCCLOCKMODE=0"}, - {"解除ESIM锁定 > AT+GTESIMCFG=0,0,0":"AT+GTESIMCFG=0,0,0"}, - {"解除温控 > AT+GTTHERMAL=0":"AT+GTTHERMAL=0"}, - {"获取当前温度 > AT+GTSENRDTEMP=0":"AT+GTSENRDTEMP=0"}, - {"重启模组 > AT+CFUN=15":"AT+CFUN=15"} - ] + { + "查询SIM卡状态 > AT+CPIN?": "AT+CPIN?" }, - "meig":{ - "qualcomm":[ - {"SIM卡状态上报 > AT^SIMSLOTURC=1":"AT^SIMSLOTURC=1"}, - {"获取SIM卡卡槽状态 > AT^SIMSLOT?":"AT^SIMSLOT?"}, - {"设置当前使用的为卡1 > AT^SIMSLOT=1":"AT^SIMSLOT=1"}, - {"设置当前使用的为卡2 > AT^SIMSLOT=2":"AT^SIMSLOT=2"}, - {"查询网络信息 > AT^SYSINFOEX":"AT^SYSINFOEX"}, - {"查询载波聚合小区信息 > AT^CELLINFO=3":"AT^CELLINFO=3"}, - {"查询当前拨号模式 > AT+SER?":"AT+SER?"}, - {"QMI/GobiNet拨号模式 > AT+SER=1,1":"AT+SER=1,1"}, - {"ECM拨号模式 > AT+SER=2,1":"AT+SER=2,1"}, - {"MBIM拨号模式 > AT+SER=3,1":"AT+SER=3,1"}, - {"RNDIS拨号模式 > AT+SER=3,1":"AT+SER=3,1"}, - {"NCM拨号模式 > AT+SER=2,1":"AT+SER=2,1"}, - {"锁4G > AT^SYSCFGEX=\"03\",all,0,2,all,all,all,all,1":"AT^SYSCFGEX=\"03\",all,0,2,all,all,all,all,1"}, - {"锁5G > AT^SYSCFGEX=\"04\",all,0,2,all,all,all,all,1":"AT^SYSCFGEX=\"04\",all,0,2,all,all,all,all,1"}, - {"恢复自动搜索网络 > AT^SYSCFGEX=\"00\",all,0,2,all,all,all,all,1":"AT^SYSCFGEX=\"00\",all,0,2,all,all,all,all,1"}, - {"查询模组IMEI > AT+LCTSN=0,7":"AT+LCTSN=0,7"}, - {"更改模组IMEI > AT+LCTSN=1,7,\"IMEI\"":"AT+LCTSN=1,7,\"在此设置IMEI\""}, - {"获取模组温度 > AT+TEMP":"AT+TEMP"}, - {"重启模组 > AT+RESET":"AT+RESET"} - ] + { + "查询网络信号质量(4G) > AT+CSQ": "AT+CSQ" + }, + { + "查询网络信号质量(5G) > AT+CESQ": "AT+CESQ" + }, + { + "查询网络信息 > AT+COPS?": "AT+COPS?" + }, + { + "查询PDP信息 > AT+CGDCONT?": "AT+CGDCONT?" + }, + { + "查询PDP地址 > AT+CGPADDR": "AT+CGPADDR" + }, + { + "查询模组IMEI > AT+CGSN": "AT+CGSN" + }, + { + "查询模组IMEI > AT+GSN": "AT+GSN" + }, + { + "查看当前电压 > AT+CBC": "AT+CBC" + }, + { + "最小功能模式 > AT+CFUN=0": "AT+CFUN=0" + }, + { + "全功能模式 > AT+CFUN=1": "AT+CFUN=1" + }, + { + "重启模组 > AT+CFUN=1,1": "AT+CFUN=1,1" } + ], + "quectel": { + "qualcomm": [ + { + "SIM卡状态上报 > AT+QSIMSTAT?": "AT+QSIMSTAT?" + }, + { + "设置当前使用的为卡1 > AT+QUIMSLOT=1": "AT+QUIMSLOT=1" + }, + { + "设置当前使用的为卡2 > AT+QUIMSLOT=2": "AT+QUIMSLOT=2" + }, + { + "查询网络信息 > AT+QNWINFO": "AT+QNWINFO" + }, + { + "查询载波聚合参数 > AT+QCAINFO": "AT+QCAINFO" + }, + { + "查询当前拨号模式 > AT+QCFG=\"usbnet\"": "AT+QCFG=\"usbnet\"" + }, + { + "QMI/GobiNet拨号模式 > AT+QCFG=\"usbnet\",0": "AT+QCFG=\"usbnet\",0" + }, + { + "ECM拨号模式 > AT+QCFG=\"usbnet\",1": "AT+QCFG=\"usbnet\",1" + }, + { + "MBIM拨号模式 > AT+QCFG=\"usbnet\",2": "AT+QCFG=\"usbnet\",2" + }, + { + "RNDIS拨号模式 > AT+QCFG=\"usbnet\",3": "AT+QCFG=\"usbnet\",3" + }, + { + "NCM拨号模式 > AT+QCFG=\"usbnet\",5": "AT+QCFG=\"usbnet\",5" + }, + { + "锁4G > AT+QNWPREFCFG=\"mode_pref\",LTE": "AT+QNWPREFCFG=\"mode_pref\",LTE" + }, + { + "锁5G > AT+QNWPREFCFG=\"mode_pref\",NR5G": "AT+QNWPREFCFG=\"mode_pref\",NR5G" + }, + { + "锁5G NSA > AT+QNWPREFCFG=\"mode_pref\",NR5G-NSA": "AT+QNWPREFCFG=\"mode_pref\",NR5G-NSA" + }, + { + "锁5G SA > AT+QNWPREFCFG=\"mode_pref\",NR5G-SA": "AT+QNWPREFCFG=\"mode_pref\",NR5G-SA" + }, + { + "恢复自动搜索网络 > AT+QNWPREFCFG=\"mode_pref\",AUTO": "AT+QNWPREFCFG=\"mode_pref\",AUTO" + }, + { + "查询模组IMEI > AT+EGMR=0,7": "AT+EGMR=0,7" + }, + { + "更改模组IMEI > AT+EGMR=1,7,\"IMEI\"": "AT+EGMR=1,7,\"在此设置IMEI\"" + }, + { + "获取模组温度 > AT+QTEMP": "AT+QTEMP" + }, + { + "切换为USB通信端口 > AT+QCFG=\"data_interface\",0,0": "AT+QCFG=\"data_interface\",0,0" + }, + { + "切换为PCIE通信端口 > AT+QCFG=\"data_interface\",1,0": "AT+QCFG=\"data_interface\",1,0" + }, + { + "查看当前USB速率 > AT+QCFG=\"usbspeed\"": "AT+QCFG=\"usbspeed\"" + }, + { + "切换为USB2.0 > AT+QCFG=\"usbspeed\",\"20\"": "AT+QCFG=\"usbspeed\",\"20\"" + }, + { + "切换为USB3.1 Gen1(5Gbps) > AT+QCFG=\"usbspeed\",\"311\"": "AT+QCFG=\"usbspeed\",\"311\"" + }, + { + "切换为USB3.1 Gen1(10Gbps) > AT+QCFG=\"usbspeed\",\"312\"": "AT+QCFG=\"usbspeed\",\"312\"" + }, + { + "重置模组 > AT+QCFG=\"ResetFactory\"": "AT+QCFG=\"ResetFactory\"" + } + ], + "unisoc": [ + { + "SIM卡状态上报 > AT+QSIMSTAT?": "AT+QSIMSTAT?" + }, + { + "设置当前使用的为卡1 > AT+QUIMSLOT=1": "AT+QUIMSLOT=1" + }, + { + "设置当前使用的为卡2 > AT+QUIMSLOT=2": "AT+QUIMSLOT=2" + }, + { + "查询网络信息 > AT+QNWINFO": "AT+QNWINFO" + }, + { + "查询载波聚合参数 > AT+QCAINFO": "AT+QCAINFO" + }, + { + "查询当前拨号模式 > AT+QCFG=\"usbnet\"": "AT+QCFG=\"usbnet\"" + }, + { + "ECM拨号模式 > AT+QCFG=\"usbnet\",1": "AT+QCFG=\"usbnet\",1" + }, + { + "MBIM拨号模式 > AT+QCFG=\"usbnet\",2": "AT+QCFG=\"usbnet\",2" + }, + { + "RNDIS拨号模式 > AT+QCFG=\"usbnet\",3": "AT+QCFG=\"usbnet\",3" + }, + { + "NCM拨号模式 > AT+QCFG=\"usbnet\",5": "AT+QCFG=\"usbnet\",5" + }, + { + "锁4G > AT+QNWPREFCFG=\"mode_pref\",LTE": "AT+QNWPREFCFG=\"mode_pref\",LTE" + }, + { + "锁5G > AT+QNWPREFCFG=\"mode_pref\",NR5G": "AT+QNWPREFCFG=\"mode_pref\",NR5G" + }, + { + "锁5G NSA > AT+QNWPREFCFG=\"mode_pref\",NR5G-NSA": "AT+QNWPREFCFG=\"mode_pref\",NR5G-NSA" + }, + { + "锁5G SA > AT+QNWPREFCFG=\"mode_pref\",NR5G-SA": "AT+QNWPREFCFG=\"mode_pref\",NR5G-SA" + }, + { + "恢复自动搜索网络 > AT+QNWPREFCFG=\"mode_pref\",AUTO": "AT+QNWPREFCFG=\"mode_pref\",AUTO" + }, + { + "查询模组IMEI > AT+EGMR=0,7": "AT+EGMR=0,7" + }, + { + "更改模组IMEI > AT+EGMR=1,7,\"IMEI\"": "AT+EGMR=1,7,\"在此设置IMEI\"" + }, + { + "获取模组温度 > AT+QTEMP": "AT+QTEMP" + }, + { + "切换为USB通信端口 > AT+QCFG=\"data_interface\",0,0": "AT+QCFG=\"data_interface\",0,0" + }, + { + "切换为PCIE通信端口 > AT+QCFG=\"data_interface\",1,0": "AT+QCFG=\"data_interface\",1,0" + }, + { + "查看当前USB速率 > AT+QCFG=\"usbspeed\"": "AT+QCFG=\"usbspeed\"" + }, + { + "切换为USB2.0 > AT+QCFG=\"usbspeed\",\"20\"": "AT+QCFG=\"usbspeed\",\"20\"" + }, + { + "切换为USB3.1 Gen1(5Gbps) > AT+QCFG=\"usbspeed\",\"311\"": "AT+QCFG=\"usbspeed\",\"311\"" + }, + { + "切换为USB3.1 Gen1(10Gbps) > AT+QCFG=\"usbspeed\",\"312\"": "AT+QCFG=\"usbspeed\",\"312\"" + }, + { + "重置模组 > AT+QCFG=\"ResetFactory\"": "AT+QCFG=\"ResetFactory\"" + } + ], + "general": [ + { + "SIM卡状态上报 > AT+QSIMSTAT?": "AT+QSIMSTAT?" + }, + { + "设置当前使用的为卡1 > AT+QUIMSLOT=1": "AT+QUIMSLOT=1" + }, + { + "设置当前使用的为卡2 > AT+QUIMSLOT=2": "AT+QUIMSLOT=2" + }, + { + "查询网络信息 > AT+QNWINFO": "AT+QNWINFO" + }, + { + "查询载波聚合参数 > AT+QCAINFO": "AT+QCAINFO" + }, + { + "查询当前拨号模式 > AT+QCFG=\"usbnet\"": "AT+QCFG=\"usbnet\"" + }, + { + "QMI/GobiNet拨号模式 > AT+QCFG=\"usbnet\",0": "AT+QCFG=\"usbnet\",0" + }, + { + "ECM拨号模式 > AT+QCFG=\"usbnet\",1": "AT+QCFG=\"usbnet\",1" + }, + { + "MBIM拨号模式 > AT+QCFG=\"usbnet\",2": "AT+QCFG=\"usbnet\",2" + }, + { + "RNDIS拨号模式 > AT+QCFG=\"usbnet\",3": "AT+QCFG=\"usbnet\",3" + }, + { + "NCM拨号模式 > AT+QCFG=\"usbnet\",5": "AT+QCFG=\"usbnet\",5" + }, + { + "锁4G > AT+QNWPREFCFG=\"mode_pref\",LTE": "AT+QNWPREFCFG=\"mode_pref\",LTE" + }, + { + "锁5G > AT+QNWPREFCFG=\"mode_pref\",NR5G": "AT+QNWPREFCFG=\"mode_pref\",NR5G" + }, + { + "锁5G NSA > AT+QNWPREFCFG=\"mode_pref\",NR5G-NSA": "AT+QNWPREFCFG=\"mode_pref\",NR5G-NSA" + }, + { + "锁5G SA > AT+QNWPREFCFG=\"mode_pref\",NR5G-SA": "AT+QNWPREFCFG=\"mode_pref\",NR5G-SA" + }, + { + "恢复自动搜索网络 > AT+QNWPREFCFG=\"mode_pref\",AUTO": "AT+QNWPREFCFG=\"mode_pref\",AUTO" + }, + { + "查询模组IMEI > AT+EGMR=0,7": "AT+EGMR=0,7" + }, + { + "更改模组IMEI > AT+EGMR=1,7,\"IMEI\"": "AT+EGMR=1,7,\"在此设置IMEI\"" + }, + { + "获取模组温度 > AT+QTEMP": "AT+QTEMP" + }, + { + "切换为USB通信端口 > AT+QCFG=\"data_interface\",0,0": "AT+QCFG=\"data_interface\",0,0" + }, + { + "切换为PCIE通信端口 > AT+QCFG=\"data_interface\",1,0": "AT+QCFG=\"data_interface\",1,0" + }, + { + "查看当前USB速率 > AT+QCFG=\"usbspeed\"": "AT+QCFG=\"usbspeed\"" + }, + { + "切换为USB2.0 > AT+QCFG=\"usbspeed\",\"20\"": "AT+QCFG=\"usbspeed\",\"20\"" + }, + { + "切换为USB3.1 Gen1(5Gbps) > AT+QCFG=\"usbspeed\",\"311\"": "AT+QCFG=\"usbspeed\",\"311\"" + }, + { + "切换为USB3.1 Gen1(10Gbps) > AT+QCFG=\"usbspeed\",\"312\"": "AT+QCFG=\"usbspeed\",\"312\"" + }, + { + "重置模组 > AT+QCFG=\"ResetFactory\"": "AT+QCFG=\"ResetFactory\"" + } + ] + }, + "fibocom": { + "qualcomm": [ + { + "设置当前使用的为卡1 > AT+GTDUALSIM=0": "AT+GTDUALSIM=0" + }, + { + "设置当前使用的为卡2 > AT+GTDUALSIM=1": "AT+GTDUALSIM=1" + }, + { + "ECM手动拨号 > AT+GTRNDIS=1,1": "AT+GTRNDIS=1,1" + }, + { + "ECM拨号断开 > AT+GTRNDIS=0,1": "AT+GTRNDIS=0,1" + }, + { + "查询当前端口模式 > AT+GTUSBMODE?": "AT+GTUSBMODE?" + }, + { + "QMI/GobiNet拨号模式 > AT+GTUSBMODE=32": "AT+GTUSBMODE=32" + }, + { + "ECM拨号模式 > AT+GTUSBMODE=18": "AT+GTUSBMODE=18" + }, + { + "MBIM拨号模式 > AT+GTUSBMODE=30": "AT+GTUSBMODE=30" + }, + { + "RNDIS拨号模式 > AT+GTUSBMODE=24": "AT+GTUSBMODE=24" + }, + { + "NCM拨号模式 > AT+GTUSBMODE=18": "AT+GTUSBMODE=18" + }, + { + "锁4G > AT+GTACT=2": "AT+GTACT=2" + }, + { + "锁5G > AT+GTACT=14": "AT+GTACT=14" + }, + { + "恢复自动搜索网络 > AT+GTACT=20": "AT+GTACT=20" + }, + { + "查询当前连接的网络类型 > AT+PSRAT?": "AT+PSRAT?" + }, + { + "查询模组IMEI > AT+GTSN=0,7": "AT+GTSN=0,7" + }, + { + "更改模组IMEI > AT+GTSN=1,7,\"IMEI\"": "AT+GTSN=1,7,\"在此设置IMEI\"" + }, + { + "报告一次当前BBIC的温度 > AT+MTSM=1,6": "AT+MTSM=1,6" + }, + { + "报告一次当前射频的温度 > AT+MTSM=1,7": "AT+MTSM=1,7" + }, + { + "重启模组 > AT+CFUN=15": "AT+CFUN=15" + } + ], + "unisoc": [ + { + "设置当前使用的为卡1 > AT+GTDUALSIM=0": "AT+GTDUALSIM=0" + }, + { + "设置当前使用的为卡2 > AT+GTDUALSIM=1": "AT+GTDUALSIM=1" + }, + { + "ECM手动拨号 > AT+GTRNDIS=1,1": "AT+GTRNDIS=1,1" + }, + { + "ECM拨号断开 > AT+GTRNDIS=0,1": "AT+GTRNDIS=0,1" + }, + { + "查询当前端口模式 > AT+GTUSBMODE?": "AT+GTUSBMODE?" + }, + { + "ECM拨号模式 > AT+GTUSBMODE=18": "AT+GTUSBMODE=18" + }, + { + "MBIM拨号模式 > AT+GTUSBMODE=30": "AT+GTUSBMODE=30" + }, + { + "RNDIS拨号模式 > AT+GTUSBMODE=24": "AT+GTUSBMODE=24" + }, + { + "NCM拨号模式 > AT+GTUSBMODE=18": "AT+GTUSBMODE=18" + }, + { + "锁4G > AT+GTACT=2": "AT+GTACT=2" + }, + { + "锁5G > AT+GTACT=14": "AT+GTACT=14" + }, + { + "恢复自动搜索网络 > AT+GTACT=20": "AT+GTACT=20" + }, + { + "查询当前连接的网络类型 > AT+PSRAT?": "AT+PSRAT?" + }, + { + "查询模组IMEI > AT+GTSN=0,7": "AT+GTSN=0,7" + }, + { + "更改模组IMEI > AT+GTSN=1,7,\"IMEI\"": "AT+GTSN=1,7,\"在此设置IMEI\"" + }, + { + "报告一次当前BBIC的温度 > AT+MTSM=1,6": "AT+MTSM=1,6" + }, + { + "报告一次当前射频的温度 > AT+MTSM=1,7": "AT+MTSM=1,7" + }, + { + "重启模组 > AT+CFUN=15": "AT+CFUN=15" + } + ], + "mediatek": [ + { + "设置当前使用的为卡1 > AT+GTDUALSIM=0": "AT+GTDUALSIM=0" + }, + { + "设置当前使用的为卡2 > AT+GTDUALSIM=1": "AT+GTDUALSIM=1" + }, + { + "手动设置接入点 > AT+CGDCONT=3,\"IPV4V6\",\"APN\"": "AT+CGDCONT=3,\"IPV4V6\",\"在此设置APN\"" + }, + { + "手动拨号 > AT+CGACT=1,3": "AT+CGACT=1,3" + }, + { + "停止拨号 > AT+CGACT=0,3": "AT+CGACT=0,3" + }, + { + "查询当前端口模式 > AT+GTUSBMODE?": "AT+GTUSBMODE?" + }, + { + "RNDIS拨号模式(40) > AT+GTUSBMODE=40": "AT+GTUSBMODE=40" + }, + { + "RNDIS拨号模式(41) > AT+GTUSBMODE=41": "AT+GTUSBMODE=41" + }, + { + "锁4G > AT+GTACT=2": "AT+GTACT=2" + }, + { + "锁5G > AT+GTACT=14": "AT+GTACT=14" + }, + { + "恢复自动搜索网络 > AT+GTACT=20": "AT+GTACT=20" + }, + { + "查询当前连接的网络类型 > AT+PSRAT?": "AT+PSRAT?" + }, + { + "查询载波聚合小区信息 > AT+GTCAINFO?": "AT+GTCAINFO?" + }, + { + "查询模组IMEI > AT+GTSN=0,7": "AT+GTSN=0,7" + }, + { + "更改模组IMEI > AT+GTSN=1,7,\"IMEI\"": "AT+GTSN=1,7,\"在此设置IMEI\"" + }, + { + "解锁FCC > AT+GTFCCLOCKMODE=0": "AT+GTFCCLOCKMODE=0" + }, + { + "解除ESIM锁定 > AT+GTESIMCFG=0,0,0": "AT+GTESIMCFG=0,0,0" + }, + { + "解除温控 > AT+GTTHERMAL=0": "AT+GTTHERMAL=0" + }, + { + "获取当前温度 > AT+GTSENRDTEMP=0": "AT+GTSENRDTEMP=0" + }, + { + "重启模组 > AT+CFUN=15": "AT+CFUN=15" + } + ] } } diff --git a/luci/luci-app-qmodem/root/usr/share/qmodem/modem_ctrl.sh b/luci/luci-app-qmodem/root/usr/share/qmodem/modem_ctrl.sh index b568636..884ca93 100755 --- a/luci/luci-app-qmodem/root/usr/share/qmodem/modem_ctrl.sh +++ b/luci/luci-app-qmodem/root/usr/share/qmodem/modem_ctrl.sh @@ -62,12 +62,54 @@ get_sms(){ fi } +get_at_cfg(){ + json_add_object at_cfg + json_add_array ports + ports=$(uci get qmodem.$config_section.ports) + for port in $ports; do + json_add_string "" "$port" + done + json_close_array + json_add_array valid_ports + v_ports=$(uci get qmodem.$config_section.valid_at_ports) + for port in $v_ports; do + json_add_string "" "$port" + done + json_close_array + json_add_string using_port $(uci get qmodem.$config_section.at_port) + json_add_array cmds + general_cmd=$(jq -rc '.general[]|to_entries' /usr/share/qmodem/at_commands.json) + + platform_cmd=$(jq -rc ".${vendor}.${platform}[]|to_entries" /usr/share/qmodem/at_commands.json) + + [ -z "$platform_cmd" ] && platform_cmd=$(jq -rc ".$vendor.general[]|to_entries" /usr/share/qmodem/at_commands.json) + cmds=$(echo -e "$general_cmd\n$platform_cmd") + IFS=$'\n' + for cmd in $cmds; do + json_add_object cmd + cmd_name="$(echo $cmd | jq -r '.[0].key')" + cmd_value="$(echo $cmd | jq -r '.[0].value')" + json_add_string "name" "$cmd_name" + json_add_string "value" "$cmd_value" + json_close_object + done + json_close_array + json_close_object + json_dump + unset IFS +} + #会初始化一个json对象 命令执行结果会保存在json对象中 json_init json_add_object result json_close_object case $method in + "get_at_cfg") + get_at_cfg + exit + ;; + "clear_dial_log") json_select result log_file="/var/run/qmodem/${config_section}_dir/dial_log" @@ -104,6 +146,19 @@ case $method in "get_neighborcell") get_neighborcell ;; + "send_at") + cmd=$(echo "$3" | jq -r '.at') + port=$(echo "$3" | jq -r '.port') + res=$(at $port $cmd) + json_add_object at_cfg + if [ "$?" == 0 ]; then + json_add_string status "1" + json_add_string cmd "at $port $cmd" + json_add_string "res" "$res" + else + json_add_string status "0" + fi + ;; "set_neighborcell") set_neighborcell $3 ;;