diff --git a/luci-app-modem/Makefile b/luci-app-modem/Makefile index a7b7f1c..75840fa 100644 --- a/luci-app-modem/Makefile +++ b/luci-app-modem/Makefile @@ -6,10 +6,10 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-modem LUCI_TITLE:=LuCI support for Modem LUCI_PKGARCH:=all -PKG_VERSION:=1.4.2 +PKG_VERSION:=1.4.3 PKG_LICENSE:=GPLv3 PKG_LINCESE_FILES:=LICENSE -PKF_MAINTAINER:=siriling +PKF_MAINTAINER:=Siriling LUCI_DEPENDS:=+luci-compat +kmod-usb-net +kmod-usb-net-cdc-ether +kmod-usb-acm \ +kmod-usb-net-rndis \ +kmod-usb-net-sierrawireless +kmod-usb-ohci\ @@ -25,6 +25,7 @@ LUCI_DEPENDS:=+luci-compat +kmod-usb-net +kmod-usb-net-cdc-ether +kmod-usb-acm \ +sms-tool \ +jq +grep +bc\ + define Package/luci-app-modem/conffiles /etc/config/modem endef diff --git a/luci-app-modem/README.md b/luci-app-modem/README.md index 39eb4d9..b288eff 100644 --- a/luci-app-modem/README.md +++ b/luci-app-modem/README.md @@ -36,7 +36,9 @@ | 移远通信 | RM520N-CN | 高通 | USB | RMNET,ECM,MBIM,RNDIS,NCM | | 移远通信 | RM520N-GL | 高通 | USB | RMNET,ECM,MBIM,RNDIS,NCM | | 移远通信 | RM500Q-GL | 高通 | PCIE | RMNET,MBIM | +| 移远通信 | RG500Q-EA | 高通 | PCIE | RMNET,MBIM | | 移远通信 | RM502Q-GL | 高通 | PCIE | RMNET,MBIM | +| 移远通信 | RG520N-EU | 高通 | PCIE | RMNET,MBIM | | 广和通 | FM650-CN | 紫光展锐 | USB | ECM,MBIM,RNDIS,NCM | | 广和通 | FM350-GL | 联发科 | USB | RNDIS | | 广和通 | FM150-AE-01,FM150-AE-11,FM150-AE-21,FM150-NA-01 | 高通 | USB | RMNET,ECM,MBIM,RNDIS,NCM | diff --git a/luci-app-modem/luasrc/model/cbi/modem/dial_config.lua b/luci-app-modem/luasrc/model/cbi/modem/dial_config.lua index 95dd044..5484cfc 100644 --- a/luci-app-modem/luasrc/model/cbi/modem/dial_config.lua +++ b/luci-app-modem/luasrc/model/cbi/modem/dial_config.lua @@ -35,6 +35,7 @@ function getMobileNetwork() network:value("",translate("Mobile network not found")) end + return -- for i=0,modem_number-1 do -- --获取模块名 -- local modem_name = uci:get('modem','modem'..i,'name') diff --git a/luci-app-modem/luasrc/model/cbi/modem/dial_overview.lua b/luci-app-modem/luasrc/model/cbi/modem/dial_overview.lua index 0654b8a..8c3e5c5 100644 --- a/luci-app-modem/luasrc/model/cbi/modem/dial_overview.lua +++ b/luci-app-modem/luasrc/model/cbi/modem/dial_overview.lua @@ -1,5 +1,6 @@ local d = require "luci.dispatcher" local uci = luci.model.uci.cursor() +local sys = require "luci.sys" m = Map("modem") m.title = translate("Dial Overview") @@ -31,9 +32,7 @@ function s.create(uci, t) end function s.remove(uci, t) uci.map.proceed = true - -- 设置删除 - uci.map:set(t,"delete","1") - -- uci.map:del(t) + uci.map:del(t) luci.http.redirect(d.build_url("admin", "network", "modem","dial_overview")) end diff --git a/luci-app-modem/luasrc/model/cbi/modem/modem_config.lua b/luci-app-modem/luasrc/model/cbi/modem/modem_config.lua index 48c2261..e43e318 100644 --- a/luci-app-modem/luasrc/model/cbi/modem/modem_config.lua +++ b/luci-app-modem/luasrc/model/cbi/modem/modem_config.lua @@ -18,22 +18,42 @@ end --[[ @Description 获取支持的模组信息 +@Params + data_interface 数据接口 ]] -function getSupportModems() +function getSupportModems(data_interface) local command="cat "..script_path.."modem_support.json" local result=json.parse(shell(command)) - return result["modem_support"]["usb"] + return result["modem_support"][data_interface] end --[[ @Description 按照制造商给模组分类 -@Params - support_modem 支持的模组 ]] -function getManufacturers(support_modem) +function getManufacturers() local manufacturers={} + + -- 获取支持的模组 + local support_modem=getSupportModems("usb") + -- USB + for modem in pairs(support_modem) do + local manufacturer=support_modem[modem]["manufacturer"] + if manufacturers[manufacturer] then + -- 直接插入 + table.insert(manufacturers[manufacturer],modem) + else + -- 不存在先创建一个空表 + local tmp={} + table.insert(tmp,modem) + manufacturers[manufacturer]=tmp + end + end + + -- 获取支持的模组 + local support_modem=getSupportModems("pcie") + -- PCIE for modem in pairs(support_modem) do local manufacturer=support_modem[modem]["manufacturer"] @@ -103,10 +123,8 @@ name = s:option(ListValue, "name", translate("Modem Name")) name.placeholder = translate("Not Null") name.rmempty = false --- 获取支持的模组 -local support_modem=getSupportModems() -- 按照制造商给模组分类 -local manufacturers=getManufacturers(support_modem) +local manufacturers=getManufacturers() for key in pairs(manufacturers) do local modems=manufacturers[key] diff --git a/luci-app-modem/luasrc/model/cbi/modem/plugin_config.lua b/luci-app-modem/luasrc/model/cbi/modem/plugin_config.lua index 0dfce86..1bfb9a1 100644 --- a/luci-app-modem/luasrc/model/cbi/modem/plugin_config.lua +++ b/luci-app-modem/luasrc/model/cbi/modem/plugin_config.lua @@ -47,12 +47,6 @@ end function s.remove(uci, t) uci.map.proceed = true uci.map:del(t) - - -- 获取模组数量 - local modem_number=tonumber(uci.map:get("@global[0]","modem_number"))-1 - -- 设置模组数量 - uci.map:set("@global[0]","modem_number",modem_number) - luci.http.redirect(d.build_url("admin", "network", "modem","plugin_config")) end diff --git a/luci-app-modem/luasrc/view/modem/hide_dial_config_id.htm b/luci-app-modem/luasrc/view/modem/hide_dial_config_id.htm index 98b4b3a..ac396be 100644 --- a/luci-app-modem/luasrc/view/modem/hide_dial_config_id.htm +++ b/luci-app-modem/luasrc/view/modem/hide_dial_config_id.htm @@ -6,6 +6,11 @@ var str="advanced" var advanced_element = document.querySelector('div[data-tab="'+str+'"]'); + // 适配老版luci(lede) + if (advanced_element==null) { + advanced_element = document.querySelectorAll('div[id*="'+str+'"]')[0]; + } + //隐藏拨号配置ID元素 var dial_config_id_element = advanced_element.lastElementChild; dial_config_id_element.style.display="none"; diff --git a/luci-app-modem/luasrc/view/modem/modem_debug.htm b/luci-app-modem/luasrc/view/modem/modem_debug.htm index 75cd96c..d07c0ac 100644 --- a/luci-app-modem/luasrc/view/modem/modem_debug.htm +++ b/luci-app-modem/luasrc/view/modem/modem_debug.htm @@ -1,996 +1,1142 @@ <%+header%> - - + + } + } -
-

<%:Modem Debug%>

-
<%:Debug Your Module%>
- - - + /* 隐藏AT命令标题 */ + #at_command_title { + display: none; + } -
-
-

<%:Message%>

- - - - -
-
- <%:Loading%> - <%:Loading modem%>... -
-
-
-
+ /* AT命令响应 */ + textarea { + background: #373737; + border: none; + color: #FFF; + width: 100%; + } - - - + -
- -
- - - - - - - - - - - - + + + + + + + + + + + + + + + +
<%:Current%><%:Config%>
- +
+ + + + + + + + + + + + - - - -
+ <%:Current%> + + <%:Config%> +
+ - -
- -
-
-
- - - - - - + + + + + + +
+ <%:Quick Option%> + +
+ + + + <%:Auto%> + +   + + + + <%:Custom%> + + +
+
+ <%:Quick Commands%> +
+ <%:Enter Command%> + +
+ +
+
+ + +
+
+
+ <%:Response%> +

+
+
+
+ + + +
+
+
+
- - -<%+footer%> + <%+footer%> diff --git a/luci-app-modem/luasrc/view/modem/modem_info.htm b/luci-app-modem/luasrc/view/modem/modem_info.htm index fe2d192..c95041f 100644 --- a/luci-app-modem/luasrc/view/modem/modem_info.htm +++ b/luci-app-modem/luasrc/view/modem/modem_info.htm @@ -22,6 +22,65 @@ end } } */ + .signal-view { + position: relative; + min-width: 11rem; + height: 1.5rem; + margin: 0 0; + border: thin solid #999; + background: #eee; + border-radius: 4px; + overflow: hidden; + } + + .signal-percent { + width: 0; + height: 100%; + /* transition: width .25s ease-in; */ + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + /* border-top-right-radius: 4px; + border-bottom-right-radius: 4px; */ + } + + .signal-context{ + font-family: monospace; + /* font-size: 1em; */ + font-weight: bold; + font-size-adjust: .38; + line-height: 1.5rem; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: hidden; + content: attr(title); + text-align: center; + white-space: pre; + text-overflow: ellipsis; + /* color:#000000; */ + } + + .signal-context small{ + font-family: monospace; + /* font-size: 1em; */ + font-weight: bold; + font-size-adjust: .38; + line-height: 1.5rem; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: hidden; + content: attr(title); + text-align: center; + white-space: pre; + text-overflow: ellipsis; + /* color:#000000; */ + } + table { width: 100%; border-spacing: 10px; @@ -61,7 +120,6 @@ end var rate_view; if (mb>=1) { - console.log(mb); rate_view=mb.toFixed(2)+" MB/s"; } else if (kb>=1) { @@ -188,216 +246,207 @@ end return percent.toFixed(2); } - // 获取参考信号接收功率(RSRP)的信息视图 - function get_rsrp_info_view(network_type,value) - { + // 获取参考信号的信息视图 + function get_signal_info_view(network_type,key,value) { value=parseFloat(value); - var rsrp_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"}; + var signal_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"}; + // 获取参考信号接收功率(RSRP)的信息视图' + if (key=="RSRP") { + set_rsrp_info_view(network_type,value,signal_info_view); + } + else if (key=="RSRQ") { + set_rsrq_info_view(network_type,value,signal_info_view); + } + else if (key=="SINR") { + set_sinr_info_view(network_type,value,signal_info_view); + } + else if (key=="RxLev") { + set_rxlev_info_view(network_type,value,signal_info_view); + } + + //添加100%时候的样式 + if (signal_info_view.percent==100) { + signal_info_view.style+="border-top-right-radius: 4px;border-bottom-right-radius: 4px;"; + } + + return signal_info_view; + } + + // 获取参考信号接收功率(RSRP)的信息视图 + function set_rsrp_info_view(network_type,value,signal_info_view) + { // 获取百分比 - var percent=100; if (network_type.includes("NR")) { - percent=get_percent(value,-153,31); + signal_info_view.percent=get_percent(value,-153,31); } else if (network_type.includes("LTE")) { - percent=get_percent(value,-140,-44); + signal_info_view.percent=get_percent(value,-140,-44); } else if (network_type.includes("WCDMA")) { - // percent=get_percent(value,-140,-44); + // signal_info_view.percent=get_percent(value,-140,-44); } // 获取样式 - var quality="Unknown"; var color="gray"; if (value>=-70) { - quality="Excellent"; + signal_info_view.quality="Excellent"; color="limegreen"; } else if (value>=-80&&value<-70) { - quality="Good"; + signal_info_view.quality="Good"; color="lime"; } else if (value>=-90&&value<-80) { - quality="Fair"; + signal_info_view.quality="Fair"; color="gold"; } else if (value<-90) { - quality="Bad"; + signal_info_view.quality="Bad"; color="red"; } - rsrp_info_view.percent=percent; - rsrp_info_view.quality=quality; - rsrp_info_view.style='width:'+rsrp_info_view.percent+'%;background-color: '+color+';'; - - return rsrp_info_view; + signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';'; } // 获取参考信号接收质量(RSRQ)的信息视图 - function get_rsrq_info_view(network_type,value) + function set_rsrq_info_view(network_type,value,signal_info_view) { - value=parseFloat(value); - var rsrq_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"}; - // 获取百分比 - var percent=100; if (network_type.includes("NR")) { - percent=get_percent(value,-43,20); + signal_info_view.percent=get_percent(value,-43,20); } else if (network_type.includes("LTE")) { - percent=get_percent(value,-19.5,-3); + signal_info_view.percent=get_percent(value,-19.5,-3); } else if (network_type.includes("WCDMA")) { - // percent=get_percent(value,-19.5,-3); + // signal_info_view.percent=get_percent(value,-19.5,-3); } // 获取样式 - var quality="Unknown"; var color="gray"; if (value>=-10) { - quality="Excellent"; + signal_info_view.quality="Excellent"; color="limegreen"; } else if (value>=-15&&value<-10) { - quality="Good"; + signal_info_view.quality="Good"; color="lime"; } else if (value>=-20&&value<-15) { - quality="Fair"; + signal_info_view.quality="Fair"; color="gold"; } else if (value<-20) { - quality="Bad"; + signal_info_view.quality="Bad"; color="red"; } - rsrq_info_view.percent=percent; - rsrq_info_view.quality=quality; - rsrq_info_view.style='width:'+rsrq_info_view.percent+'%;background-color: '+color+';'; - - return rsrq_info_view; + signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';'; } // 获取信噪比(SINR)的信息视图 - function get_sinr_info_view(network_type,value) + function set_sinr_info_view(network_type,value,signal_info_view) { - value=parseFloat(value); - var sinr_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"}; - // 获取百分比 - var percent=100; if (network_type.includes("NR")) { - percent=get_percent(value,-23,40); + signal_info_view.percent=get_percent(value,-23,40); } else if (network_type.includes("LTE")) { - percent=get_percent(value,-20,-30); + signal_info_view.percent=get_percent(value,-20,-30); } else if (network_type.includes("WCDMA")) { - // percent=get_percent(value,-20,-30); + // signal_info_view.percent=get_percent(value,-20,-30); } // 获取样式 - var quality="Unknown"; var color="gray"; if (value>=25) { - quality="Excellent"; + signal_info_view.quality="Excellent"; color="limegreen"; } else if (value>=15&&value<25) { - quality="Good"; + signal_info_view.quality="Good"; color="lime"; } else if (value>=10&&value<15) { - quality="Fair"; + signal_info_view.quality="Fair"; color="gold"; } else if (value<10) { - quality="Bad"; + signal_info_view.quality="Bad"; color="red"; } - sinr_info_view.percent=percent; - sinr_info_view.quality=quality; - sinr_info_view.style='width:'+sinr_info_view.percent+'%;background-color: '+color+';'; - - return sinr_info_view; + signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';'; } // 获取接收信号功率(RxLev)的信息视图 - function get_rxlev_info_view(network_type,value) + function set_rxlev_info_view(network_type,value,signal_info_view) { - value=parseFloat(value); - var sinr_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"}; - // 获取百分比 - var percent=100; if (network_type.includes("NR")) { - percent=get_percent(value,-153,31); + signal_info_view.percent=get_percent(value,-153,31); } else if (network_type.includes("LTE")) { - percent=get_percent(value,-140,-44); + signal_info_view.percent=get_percent(value,-140,-44); } else if (network_type.includes("WCDMA")) { - percent=get_percent(value,-120,-25); + signal_info_view.percent=get_percent(value,-120,-25); } else if (network_type.includes("GSM")) { - percent=get_percent(value,-110,-48); + signal_info_view.percent=get_percent(value,-110,-48); } // 获取样式 - var quality="Unknown"; var color="gray"; if (value>=-70) { - quality="Excellent"; + signal_info_view.quality="Excellent"; color="limegreen"; } else if (value>=-80&&value<-70) { - quality="Good"; + signal_info_view.quality="Good"; color="lime"; } else if (value>=-90&&value<-80) { - quality="Fair"; + signal_info_view.quality="Fair"; color="gold"; } - else if (value<-100) + else if (value<-90) { - quality="Bad"; + signal_info_view.quality="Bad"; color="red"; } - sinr_info_view.percent=percent; - sinr_info_view.quality=quality; - sinr_info_view.style='width:'+sinr_info_view.percent+'%;background-color: '+color+';'; - - return sinr_info_view; + signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';'; } //获取小区信息视图 @@ -446,30 +495,35 @@ end if (key=="RSRP") { - var rsrp_info_view=get_rsrp_info_view(network_type,value); - value='
'; + var unit="dBm"; + var signal_info_view=get_signal_info_view(network_type,"RSRP",value); + // value='
'; + value='
'+value+' dB | '+translation[signal_info_view.quality]+' ('+signal_info_view.percent+'%)
'; } else if (key=="RxLev") { - var rxlev_info_view=get_rxlev_info_view(network_type,value); - value='
'; + var unit="dBm"; + var signal_info_view=get_signal_info_view(network_type,"RxLev",value); + value='
'+value+' dB | '+translation[signal_info_view.quality]+' ('+signal_info_view.percent+'%)
'; } else { value=value+" dBm"; } } - else if (key=="RSRQ"||key=="SINR"||key=="RSSNR"||key=="Ec/Io") { + else if (key=="RSRQ"||key=="SINR"||key=="RSSNR"||key=="Srxlev"||key=="Ec/Io") { if (key=="RSRQ") { - var rsrq_info_view=get_rsrq_info_view(network_type,value); - value='
'; + var unit="dB"; + var signal_info_view=get_signal_info_view(network_type,"RSRQ",value); + value='
'+value+' dB | '+translation[signal_info_view.quality]+' ('+signal_info_view.percent+'%)
'; } else if (key=="SINR") { - var sinr_info_view=get_sinr_info_view(network_type,value); - value='
'; + var unit="dB"; + var signal_info_view=get_signal_info_view(network_type,"SINR",value); + value='
'+value+' dB | '+translation[signal_info_view.quality]+' ('+signal_info_view.percent+'%)
'; } else { @@ -477,9 +531,9 @@ end } } else if (key=="SCS") { - value=value+" KHz"; + value=value+" kHz"; } - cell_info_view+=''+translation[key]+' ('+key+')'+value+''; + cell_info_view+=''+translation[key]+''+value+''; break; } } diff --git a/luci-app-modem/luasrc/view/modem/modem_scan.htm b/luci-app-modem/luasrc/view/modem/modem_scan.htm index a0ccc91..e2f9edd 100644 --- a/luci-app-modem/luasrc/view/modem/modem_scan.htm +++ b/luci-app-modem/luasrc/view/modem/modem_scan.htm @@ -41,6 +41,6 @@ function modem_scan()
- <%:The automatic configuration modem is triggered only at startup, otherwise, manual scanning is necessary%> + <%:The automatic configuration modem is triggered only at modem startup, otherwise, manual scanning is necessary%>
<%+cbi/valuefooter%> diff --git a/luci-app-modem/po/zh-cn/modem.po b/luci-app-modem/po/zh-cn/modem.po index 009ace5..86e6f26 100644 --- a/luci-app-modem/po/zh-cn/modem.po +++ b/luci-app-modem/po/zh-cn/modem.po @@ -395,109 +395,112 @@ msgid "WCDMA Mode" msgstr "WCDMA 模式" msgid "MCC" -msgstr "移动国家代码" +msgstr "移动国家代码 (MCC)" msgid "MNC" -msgstr "移动网络代码" +msgstr "移动网络代码 (MNC)" msgid "Duplex Mode" -msgstr "双工模式" +msgstr "双工模式 (Duplex Mode)" msgid "LAC" -msgstr "位置区码" +msgstr "位置区码 (LAC)" msgid "Cell ID" -msgstr "小区ID" +msgstr "小区ID (Cell ID)" msgid "Physical Cell ID" -msgstr "物理小区ID" +msgstr "物理小区ID (Physical Cell ID)" msgid "TAC" -msgstr "跟踪区编码" +msgstr "跟踪区编码 (TAC)" msgid "ARFCN" -msgstr "绝对射频信道号" +msgstr "绝对射频信道号 (ARFCN)" msgid "EARFCN" -msgstr "E-UTRA绝对射频信道号" +msgstr "E-UTRA绝对射频信道号 (EARFCN)" msgid "UARFCN" -msgstr "UTRA绝对射频信道号" +msgstr "UTRA绝对射频信道号 (UARFCN)" msgid "Band" -msgstr "频段" +msgstr "频段 (Band)" msgid "Freq band indicator" -msgstr "频带指示" +msgstr "频带指示 (Freq band indicator)" msgid "UL Bandwidth" -msgstr "上行带宽" +msgstr "上行带宽 (UL Bandwidth)" msgid "DL Bandwidth" -msgstr "下行带宽" +msgstr "下行带宽 (DL Bandwidth)" msgid "RSRP" -msgstr "参考信号接收功率" +msgstr "参考信号接收功率 (RSRP)" msgid "RSRQ" -msgstr "参考信号接收质量" +msgstr "参考信号接收质量 (RSRQ)" msgid "RSSI" -msgstr "接收信号强度指示" +msgstr "接收信号强度指示 (RSSI)" msgid "SINR" -msgstr "信号与干扰加噪声比" - -msgid "RSSNR" -msgstr "信号干扰比" - -msgid "SCS" -msgstr "NR子载波间隔" - -msgid "CQI" -msgstr "信道质量指示" - -msgid "TX Power" -msgstr "TX 功率" - -msgid "PSC" -msgstr "主扰码" - -msgid "RAC" -msgstr "路由区域码" - -msgid "RSCP" -msgstr "接收信号码功率" - -msgid "每比特能量与干扰功率密度(干扰比)之比" -msgstr "Eb/Io" - -msgid "每比特能量与噪声功率密度(噪声比)之比" -msgstr "Eb/No" - -msgid "每码片能量与干扰功率密度(干扰比)之比" -msgstr "Ec/Io" - -msgid "每码片能量与噪声功率密度(噪声比)之比" -msgstr "Ec/No" - -msgid "Physical Channel" -msgstr "物理信道" - -msgid "Spreading Factor" -msgstr "扩频因子" - -msgid "Slot" -msgstr "插槽格式" - -msgid "Speech Code" -msgstr "语音编码" - -msgid "Compression Mode" -msgstr "压缩模式" +msgstr "信号与干扰加噪声比 (SINR)" msgid "RxLev" -msgstr "接收信号功率" +msgstr "接收信号功率 (RxLev)" + +msgid "RSSNR" +msgstr "信号干扰比 (RSSNR)" + +msgid "SCS" +msgstr "NR子载波间隔 (SCS)" + +msgid "CQI" +msgstr "信道质量指示 (CQI)" + +msgid "TX Power" +msgstr "TX 功率 (TX Power)" + +msgid "Srxlev" +msgstr "服务小区接收信号功率 (Srxlev)" + +msgid "PSC" +msgstr "主扰码 (PSC)" + +msgid "RAC" +msgstr "路由区域码 (RAC)" + +msgid "RSCP" +msgstr "接收信号码功率 (RSCP)" + +msgid "Eb/Io" +msgstr "每比特能量与干扰功率密度(干扰比)之比" + +msgid "Eb/No" +msgstr "每比特能量与噪声功率密度(噪声比)之比" + +msgid "Ec/Io" +msgstr "每码片能量与干扰功率密度(干扰比)之比" + +msgid "Ec/No" +msgstr "每码片能量与噪声功率密度(噪声比)之比" + +msgid "Physical Channel" +msgstr "物理信道 (Physical Channel)" + +msgid "Spreading Factor" +msgstr "扩频因子 (Spreading Factor)" + +msgid "Slot" +msgstr "插槽格式 (Slot)" + +msgid "Speech Code" +msgstr "语音编码 (Speech Code)" + +msgid "Compression Mode" +msgstr "压缩模式 (Compression Mode)" msgid "CHN-CMCC" msgstr "中国移动" @@ -536,16 +539,16 @@ msgid "46011" msgstr "中国电信" msgid "Excellent" -msgstr "非常好" +msgstr "优秀" msgid "Good" -msgstr "好" +msgstr "良好" msgid "Fair" msgstr "一般" msgid "Bad" -msgstr "差" +msgstr "较差" msgid "Plugin Config" msgstr "插件配置" @@ -562,8 +565,8 @@ msgstr "扫描" msgid "Scaning modem..." msgstr "正在扫描中..." -msgid "The automatic configuration modem is triggered only at startup, otherwise, manual scanning is necessary" -msgstr "自动配置模组只有在启动的时候才会触发,其他情况需要手动点击扫描" +msgid "The automatic configuration modem is triggered only at modem startup, otherwise, manual scanning is necessary" +msgstr "自动配置模组只有在模组启动的时候才会触发,其他情况需要手动点击扫描" msgid "Manual Configuration" msgstr "手动配置" @@ -572,7 +575,7 @@ msgid "Enable the manual configuration of modem information" msgstr "启用手动配置模组信息" msgid "(After enable, the automatic scanning and configuration function for modem information will be disabled)" -msgstr "(启用后将禁用自动扫描配置模组信息功能)" +msgstr "(启用后将禁用自动扫描并配置模组信息功能)" msgid "Plugin Info" msgstr "插件信息" diff --git a/luci-app-modem/po/zh_Hans/modem.po b/luci-app-modem/po/zh_Hans/modem.po index ac455aa..86e6f26 100644 --- a/luci-app-modem/po/zh_Hans/modem.po +++ b/luci-app-modem/po/zh_Hans/modem.po @@ -352,6 +352,18 @@ msgstr "网络信息" msgid "Network Type" msgstr "网络类型" +msgid "CQI UL" +msgstr "上行信道质量指示" + +msgid "CQI DL" +msgstr "下行信道质量指示" + +msgid "AMBR UL" +msgstr "上行访问最大比特率" + +msgid "AMBR DL" +msgstr "下行访问最大比特率" + msgid "Tx Rate" msgstr "上传速率" @@ -383,109 +395,112 @@ msgid "WCDMA Mode" msgstr "WCDMA 模式" msgid "MCC" -msgstr "移动国家代码" +msgstr "移动国家代码 (MCC)" msgid "MNC" -msgstr "移动网络代码" +msgstr "移动网络代码 (MNC)" msgid "Duplex Mode" -msgstr "双工模式" +msgstr "双工模式 (Duplex Mode)" msgid "LAC" -msgstr "位置区码" +msgstr "位置区码 (LAC)" msgid "Cell ID" -msgstr "小区ID" +msgstr "小区ID (Cell ID)" msgid "Physical Cell ID" -msgstr "物理小区ID" +msgstr "物理小区ID (Physical Cell ID)" msgid "TAC" -msgstr "跟踪区编码" +msgstr "跟踪区编码 (TAC)" msgid "ARFCN" -msgstr "绝对射频信道号" +msgstr "绝对射频信道号 (ARFCN)" msgid "EARFCN" -msgstr "E-UTRA绝对射频信道号" +msgstr "E-UTRA绝对射频信道号 (EARFCN)" msgid "UARFCN" -msgstr "UTRA绝对射频信道号" +msgstr "UTRA绝对射频信道号 (UARFCN)" msgid "Band" -msgstr "频段" +msgstr "频段 (Band)" msgid "Freq band indicator" -msgstr "频带指示" +msgstr "频带指示 (Freq band indicator)" msgid "UL Bandwidth" -msgstr "上行带宽" +msgstr "上行带宽 (UL Bandwidth)" msgid "DL Bandwidth" -msgstr "下行带宽" +msgstr "下行带宽 (DL Bandwidth)" msgid "RSRP" -msgstr "参考信号接收功率" +msgstr "参考信号接收功率 (RSRP)" msgid "RSRQ" -msgstr "参考信号接收质量" +msgstr "参考信号接收质量 (RSRQ)" msgid "RSSI" -msgstr "接收信号强度指示" +msgstr "接收信号强度指示 (RSSI)" msgid "SINR" -msgstr "信号与干扰加噪声比" - -msgid "RSSNR" -msgstr "信号干扰比" - -msgid "SCS" -msgstr "NR子载波间隔" - -msgid "CQI" -msgstr "信道质量指示" - -msgid "TX Power" -msgstr "TX 功率" - -msgid "PSC" -msgstr "主扰码" - -msgid "RAC" -msgstr "路由区域码" - -msgid "RSCP" -msgstr "接收信号码功率" - -msgid "每比特能量与干扰功率密度(干扰比)之比" -msgstr "Eb/Io" - -msgid "每比特能量与噪声功率密度(噪声比)之比" -msgstr "Eb/No" - -msgid "每码片能量与干扰功率密度(干扰比)之比" -msgstr "Ec/Io" - -msgid "每码片能量与噪声功率密度(噪声比)之比" -msgstr "Ec/No" - -msgid "Physical Channel" -msgstr "物理信道" - -msgid "Spreading Factor" -msgstr "扩频因子" - -msgid "Slot" -msgstr "插槽格式" - -msgid "Speech Code" -msgstr "语音编码" - -msgid "Compression Mode" -msgstr "压缩模式" +msgstr "信号与干扰加噪声比 (SINR)" msgid "RxLev" -msgstr "接收信号功率" +msgstr "接收信号功率 (RxLev)" + +msgid "RSSNR" +msgstr "信号干扰比 (RSSNR)" + +msgid "SCS" +msgstr "NR子载波间隔 (SCS)" + +msgid "CQI" +msgstr "信道质量指示 (CQI)" + +msgid "TX Power" +msgstr "TX 功率 (TX Power)" + +msgid "Srxlev" +msgstr "服务小区接收信号功率 (Srxlev)" + +msgid "PSC" +msgstr "主扰码 (PSC)" + +msgid "RAC" +msgstr "路由区域码 (RAC)" + +msgid "RSCP" +msgstr "接收信号码功率 (RSCP)" + +msgid "Eb/Io" +msgstr "每比特能量与干扰功率密度(干扰比)之比" + +msgid "Eb/No" +msgstr "每比特能量与噪声功率密度(噪声比)之比" + +msgid "Ec/Io" +msgstr "每码片能量与干扰功率密度(干扰比)之比" + +msgid "Ec/No" +msgstr "每码片能量与噪声功率密度(噪声比)之比" + +msgid "Physical Channel" +msgstr "物理信道 (Physical Channel)" + +msgid "Spreading Factor" +msgstr "扩频因子 (Spreading Factor)" + +msgid "Slot" +msgstr "插槽格式 (Slot)" + +msgid "Speech Code" +msgstr "语音编码 (Speech Code)" + +msgid "Compression Mode" +msgstr "压缩模式 (Compression Mode)" msgid "CHN-CMCC" msgstr "中国移动" @@ -524,16 +539,16 @@ msgid "46011" msgstr "中国电信" msgid "Excellent" -msgstr "非常好" +msgstr "优秀" msgid "Good" -msgstr "好" +msgstr "良好" msgid "Fair" msgstr "一般" msgid "Bad" -msgstr "差" +msgstr "较差" msgid "Plugin Config" msgstr "插件配置" @@ -550,8 +565,8 @@ msgstr "扫描" msgid "Scaning modem..." msgstr "正在扫描中..." -msgid "The automatic configuration modem is triggered only at startup, otherwise, manual scanning is necessary" -msgstr "自动配置模组只有在启动的时候才会触发,其他情况需要手动点击扫描" +msgid "The automatic configuration modem is triggered only at modem startup, otherwise, manual scanning is necessary" +msgstr "自动配置模组只有在模组启动的时候才会触发,其他情况需要手动点击扫描" msgid "Manual Configuration" msgstr "手动配置" @@ -560,7 +575,7 @@ msgid "Enable the manual configuration of modem information" msgstr "启用手动配置模组信息" msgid "(After enable, the automatic scanning and configuration function for modem information will be disabled)" -msgstr "(启用后将禁用自动扫描配置模组信息功能)" +msgstr "(启用后将禁用自动扫描并配置模组信息功能)" msgid "Plugin Info" msgstr "插件信息" diff --git a/luci-app-modem/root/etc/init.d/modem b/luci-app-modem/root/etc/init.d/modem index 7d227d2..b917635 100755 --- a/luci-app-modem/root/etc/init.d/modem +++ b/luci-app-modem/root/etc/init.d/modem @@ -197,9 +197,28 @@ set_interface() esac } +#设置移远模组MAC地址 +set_quectel_mac() +{ + local mac_address="$(cat /sys/class/net/${network}/address)" + local null_mac="00:00:00:00:00:00" + [ -z "$mac_address" ] || [ "$mac_address" = "$null_mac" ] && { + #方法一(lua) + # local mac_address=$(lua -e 'math.randomseed(os.time()); for i=1,6 do io.write(string.format("%02X", math.random(0, 255))); if i < 6 then io.write(":") end; end') + #方法二(shell) + mac_address="$(generate_mac_address)" + ifconfig "${network}" hw ether "${mac_address}" + } +} + #移远拨号工具 quectel_cm() { + #获取制造商 + local manufacturer=$(uci -q get modem.modem${modem_no}.manufacturer) + #移远500系列模组特殊处理(解决在6.x内核下缺失MAC地址使用制造商驱动导致拨号异常问题) + [ "$manufacturer" = "quectel" ] && set_quectel_mac + #拨号 procd_open_instance procd_set_param command "quectel-CM" @@ -566,19 +585,9 @@ dial() { local enable #启用 local id #ID - local delete #删除 config_get enable $1 enable config_get id $1 id - config_get delete $1 delete - - #删除拨号配置 - [ "$delete" = "1" ] && { - stop_dial "$id" - uci -q del modem.${id} - uci commit modem - return 0 - } #停止拨号配置 [ "$enable" = "0" ] && { @@ -618,7 +627,7 @@ dial() sleep 5s done - #查看移动网络是否已经有配置在运行 + #查看该移动网络是否已经有拨号配置在运行 mkdir -m 0755 -p "${MODEM_RUNDIR}" if [ ! -f "${MODEM_RUN_CONFIG}" ] || ! grep -q "${network}" "${MODEM_RUN_CONFIG}"; then #文件不存在或者未记录该移动网络 @@ -630,7 +639,7 @@ dial() set_interface "${modem_no}" "$network_interface" else local config_id=$(awk -v network="${network}" -F',' '!/^#/ && $0 ~ network { print $2 }' "${MODEM_RUN_CONFIG}") - #该移动网络已存在,且已有其他配置运行 + #该移动网络已存在,且已有其他拨号配置在运行 if [ "$id" != "$config_id" ]; then uci set modem.$1.enable=0 uci commit modem @@ -726,6 +735,44 @@ manual_set_modem_config() uci commit modem } +#删除拨号配置 +del_dial_config() +{ + #运行配置是否存在 + if [ -f "${MODEM_RUN_CONFIG}" ]; then + + local configs=$(cat ${MODEM_RUN_CONFIG}) + for config in $configs; do + #设置标志位 + local flag="0" + local id=$(echo "$config" | awk -F',' '{print $2}') + + local config_number=2 + for i in $(seq 0 $((config_number-1))); do + local config_id=$(uci -q get modem.@dial-config[${i}].id) + [ "$config_id" = "$id" ] && { + flag="1" + } + done + + #删除运行配置 + [ "$flag" = "0" ] && { + sed -i "/${id}/d" "${MODEM_RUN_CONFIG}" + } + done + fi +} + +#统计模组数量 +count_modem_number() +{ + local network #移动网络 + + config_get network $1 network + + modem_count=$((modem_count+1)) +} + service_triggers() { procd_add_reload_trigger "modem" @@ -736,11 +783,20 @@ start_service() { if [ "$enable_dial" = "0" ]; then stop_service else - #加载模组配置 config_load modem #手动设置模组信息 config_foreach manual_set_modem_config "modem-device" + + #统计模组数量 + modem_count=0 + config_foreach count_modem_number "modem-device" + #设置模组数量 + uci set modem.@global[0].modem_number=${modem_count} + uci commit modem + + #删除拨号配置 + del_dial_config #加载拨号配置 config_foreach dial "dial-config" fi diff --git a/luci-app-modem/root/usr/share/modem/modem_info.sh b/luci-app-modem/root/usr/share/modem/modem_info.sh index 469d84d..c5e177c 100755 --- a/luci-app-modem/root/usr/share/modem/modem_info.sh +++ b/luci-app-modem/root/usr/share/modem/modem_info.sh @@ -54,8 +54,9 @@ init_modem_info() nr_rsrp='' nr_rsrq='' nr_sinr='' - nr_scs='' nr_rxlev='' + nr_scs='' + nr_srxlev='' #EN-DC模式(LTE) endc_lte_mcc='' endc_lte_mnc='' @@ -71,9 +72,10 @@ init_modem_info() endc_lte_rsrq='' endc_lte_rssi='' endc_lte_sinr='' + endc_lte_rxlev='' endc_lte_cql='' endc_lte_tx_power='' - endc_lte_rxlev='' + endc_lte_srxlev='' #EN-DC模式(NR5G-NSA) endc_nr_mcc='' endc_nr_mnc='' @@ -100,9 +102,10 @@ init_modem_info() lte_rsrq='' lte_rssi='' lte_sinr='' + lte_rxlev='' lte_cql='' lte_tx_power='' - lte_rxlev='' + lte_srxlev='' #WCDMA模式 wcdma_mcc='' wcdma_mnc='' @@ -198,8 +201,9 @@ set_cell_info() {\"RSRP\":\"$nr_rsrp\", \"full_name\":\"Reference Signal Received Power\"}, {\"RSRQ\":\"$nr_rsrq\", \"full_name\":\"Reference Signal Received Quality\"}, {\"SINR\":\"$nr_sinr\", \"full_name\":\"Signal to Interference plus Noise Ratio Bandwidth\"}, + {\"RxLev\":\"$nr_rxlev\", \"full_name\":\"Received Signal Level\"}, {\"SCS\":\"$nr_scs\", \"full_name\":\"SCS\"}, - {\"RxLev\":\"$nr_rxlev\", \"full_name\":\"Received Signal Level\"} + {\"Srxlev\":\"$nr_srxlev\", \"full_name\":\"Serving Cell Receive Level\"} ] }" elif [ "$network_mode" = "EN-DC Mode" ]; then @@ -221,10 +225,11 @@ set_cell_info() {\"RSRQ\":\"$endc_lte_rsrq\", \"full_name\":\"Reference Signal Received Quality\"}, {\"RSSI\":\"$endc_lte_rssi\", \"full_name\":\"Received Signal Strength Indicator\"}, {\"SINR\":\"$endc_lte_sinr\", \"full_name\":\"Signal to Interference plus Noise Ratio Bandwidth\"}, + {\"RxLev\":\"$endc_lte_rxlev\", \"full_name\":\"Received Signal Level\"}, {\"RSSNR\":\"$endc_lte_rssnr\", \"full_name\":\"Radio Signal Strength Noise Ratio\"}, {\"CQI\":\"$endc_lte_cql\", \"full_name\":\"Channel Quality Indicator\"}, {\"TX Power\":\"$endc_lte_tx_power\", \"full_name\":\"TX Power\"}, - {\"RxLev\":\"$endc_lte_rxlev\", \"full_name\":\"Received Signal Level\"} + {\"Srxlev\":\"$endc_lte_srxlev\", \"full_name\":\"Serving Cell Receive Level\"} ] }, @@ -261,10 +266,11 @@ set_cell_info() {\"RSRQ\":\"$lte_rsrq\", \"full_name\":\"Reference Signal Received Quality\"}, {\"RSSI\":\"$lte_rssi\", \"full_name\":\"Received Signal Strength Indicator\"}, {\"SINR\":\"$lte_sinr\", \"full_name\":\"Signal to Interference plus Noise Ratio Bandwidth\"}, + {\"RxLev\":\"$lte_rxlev\", \"full_name\":\"RxLev\"}, {\"RSSNR\":\"$lte_rssnr\", \"full_name\":\"Radio Signal Strength Noise Ratio\"}, {\"CQI\":\"$lte_cql\", \"full_name\":\"Channel Quality Indicator\"}, {\"TX Power\":\"$lte_tx_power\", \"full_name\":\"TX Power\"}, - {\"RxLev\":\"$lte_rxlev\", \"full_name\":\"RxLev\"} + {\"Srxlev\":\"$lte_srxlev\", \"full_name\":\"Serving Cell Receive Level\"} ] }" elif [ "$network_mode" = "WCDMA Mode" ]; then diff --git a/luci-app-modem/root/usr/share/modem/modem_support.json b/luci-app-modem/root/usr/share/modem/modem_support.json index a902343..3cc896d 100644 --- a/luci-app-modem/root/usr/share/modem/modem_support.json +++ b/luci-app-modem/root/usr/share/modem/modem_support.json @@ -105,7 +105,7 @@ "define_connect":"1", "modes":["qmi","gobinet","ecm","mbim","rndis","ncm"] }, - "SRM815":{ + "srm815":{ "manufacturer_id":"2dee", "manufacturer":"meig", "platform":"qualcomm", @@ -113,64 +113,23 @@ "define_connect":"1", "modes":["qmi","gobinet","ecm","mbim","rndis"] }, - "SRM825":{ + "srm825":{ "manufacturer_id":"2dee", "manufacturer":"meig", "platform":"qualcomm", "data_interface":"usb", "define_connect":"1", "modes":["qmi","gobinet","ecm","mbim","rndis"] - }, - "device":{ - "quectel":{ - "unisoc":{ - "vendor_id":["2c7c"], - "product_id":["6001","6002","6004","6005","6006","6007","0900","0901","0902","0903","0904"] - }, - "qualcomm":{ - "vendor_id":["2c7c"], - "product_id":["0121","0125","0191","0195","0296","0306","030b","0435","0452","0455","0512","0620","0800","0801"] - }, - "mediatek":{ - "vendor_id":["2c7c"], - "product_id":["0700","7001","7003"] - } - }, - "fibocom":{ - "unisoc":{ - "vendor_id":["2cb7","3c93","3763"], - "product_id":["0a04","0a05","0a06","0a07","3c93","ffff"] - }, - "qualcomm":{ - "vendor_id":["2cb7"], - "product_id":["0104","0105","0106","0107","0108","0109","010A","010B","010F","0110","0111"] - }, - "mediatek":{ - "vendor_id":["0e8d"], - "product_id":["7126","7127"] - } - }, - "meig":{ - "unisoc":{ - "vendor_id":["2dee"], - "product_id":["4d50","4d51","4d52","4d53"] - }, - "qualcomm":{ - "vendor_id":["2dee","05c6"], - "product_id":["4d22","4d23","4d38","4d45","f601"] - }, - "hisilicon":{ - "vendor_id":["2dee","4d20"], - "product_id":["7126","7127"] - }, - "asrmicro":{ - "vendor_id":["2dee"], - "product_id":["4d57","4d58","4d59"] - } - } } }, "pcie":{ + "rm500q-cn":{ + "manufacturer":"quectel", + "platform":"qualcomm", + "data_interface":"pcie", + "define_connect":"1", + "modes":["qmi","gobinet","mbim"] + }, "rm500q-gl":{ "manufacturer":"quectel", "platform":"qualcomm", @@ -178,8 +137,22 @@ "define_connect":"1", "modes":["qmi","gobinet","mbim"] }, + "rg500q-ea":{ + "manufacturer":"quectel", + "platform":"qualcomm", + "data_interface":"pcie", + "define_connect":"1", + "modes":["qmi","gobinet","mbim"] + }, "rm502q-gl":{ - "manufacturer":"fibocom", + "manufacturer":"quectel", + "platform":"qualcomm", + "data_interface":"pcie", + "define_connect":"1", + "modes":["qmi","gobinet","mbim"] + }, + "rg520n-eu":{ + "manufacturer":"quectel", "platform":"qualcomm", "data_interface":"pcie", "define_connect":"1", @@ -199,6 +172,54 @@ "define_connect":"1", "modes":["qmi","mbim"] } + }, + "device":{ + "quectel":{ + "unisoc":{ + "vendor_id":["2c7c"], + "product_id":["6001","6002","6004","6005","6006","6007","0900","0901","0902","0903","0904"] + }, + "qualcomm":{ + "vendor_id":["2c7c"], + "product_id":["0121","0125","0191","0195","0296","0306","030b","0435","0452","0455","0512","0620","0800","0801"] + }, + "mediatek":{ + "vendor_id":["2c7c"], + "product_id":["0700","7001","7003"] + } + }, + "fibocom":{ + "unisoc":{ + "vendor_id":["2cb7","3c93","3763"], + "product_id":["0a04","0a05","0a06","0a07","3c93","ffff"] + }, + "qualcomm":{ + "vendor_id":["2cb7"], + "product_id":["0104","0105","0106","0107","0108","0109","010A","010B","010F","0110","0111"] + }, + "mediatek":{ + "vendor_id":["0e8d"], + "product_id":["7126","7127"] + } + }, + "meig":{ + "unisoc":{ + "vendor_id":["2dee"], + "product_id":["4d50","4d51","4d52","4d53"] + }, + "qualcomm":{ + "vendor_id":["2dee","05c6"], + "product_id":["4d22","4d23","4d38","4d45","f601"] + }, + "hisilicon":{ + "vendor_id":["2dee","4d20"], + "product_id":["7126","7127"] + }, + "asrmicro":{ + "vendor_id":["2dee"], + "product_id":["4d57","4d58","4d59"] + } + } } } } diff --git a/luci-app-modem/root/usr/share/modem/modem_util.sh b/luci-app-modem/root/usr/share/modem/modem_util.sh index 8b930fb..5a58037 100755 --- a/luci-app-modem/root/usr/share/modem/modem_util.sh +++ b/luci-app-modem/root/usr/share/modem/modem_util.sh @@ -24,6 +24,23 @@ m_log() logger -p "daemon.${level}" -t "Modem[$$]" "hotplug: $*" } +#生成16进制数 +generate_hex() { + echo "$(openssl rand -hex 1)" +} + +#生成随机MAC地址 +generate_mac_address() { + local mac="" + for i in $(seq 1 6); do + mac="${mac}$(generate_hex)" + if [[ $i != 6 ]]; then + mac="${mac}:" + fi + done + echo "$mac" +} + #上报USB事件 # $1:事件行为(add,remove,bind) # $2:类型 @@ -336,6 +353,20 @@ m_set_usb_device() fi } +#处理特殊的模组名称 +# $1:模组名称 +handle_special_modem_name() +{ + local modem_name="$1" + + #FM350-GL-00 5G Module + [[ "$modem_name" = *"fm350-gl"* ]] && { + modem_name="fm350-gl" + } + + echo "$modem_name" +} + #重新尝试设置模组 # $1:模组序号 # $2:AT串口 @@ -358,21 +389,22 @@ retry_set_modem_config() local at_command="AT+CGMM?" local modem_name=$(at ${at_port} ${at_command} | grep "+CGMM: " | awk -F'"' '{print $2}' | tr 'A-Z' 'a-z') + #再一次获取模组名称 [ -z "$modem_name" ] && { at_command="AT+CGMM" modem_name=$(at ${at_port} ${at_command} | sed -n '2p' | sed 's/\r//g' | tr 'A-Z' 'a-z') } + #处理特殊的模组名称 [ -n "$modem_name" ] && { + modem_name="$(handle_special_modem_name ${modem_name})" + } - #特殊处理FM350-GL-00 5G Module - [[ "$modem_name" = *"fm350-gl"* ]] && { - modem_name="fm350-gl" - } - - #获取模组信息 - local data_interface=$(uci -q get modem.modem${modem_no}.data_interface) - local modem_info=$(echo ${modem_support} | jq '.modem_support.'$data_interface'."'$modem_name'"') + #获取模组信息 + local data_interface=$(uci -q get modem.modem${modem_no}.data_interface) + local modem_info=$(echo ${modem_support} | jq '.modem_support.'$data_interface'."'$modem_name'"') + + [ -n "$modem_name" ] && [ "$modem_info" != "null" ] && { #获取制造商 local manufacturer=$(echo ${modem_info} | jq -r '.manufacturer') diff --git a/luci-app-modem/root/usr/share/modem/quectel.sh b/luci-app-modem/root/usr/share/modem/quectel.sh index da56758..6cdddfd 100755 --- a/luci-app-modem/root/usr/share/modem/quectel.sh +++ b/luci-app-modem/root/usr/share/modem/quectel.sh @@ -659,7 +659,7 @@ quectel_cell_info() endc_lte_sinr=$(echo "$lte" | awk -F',' '{print $15}') endc_lte_cql=$(echo "$lte" | awk -F',' '{print $16}') endc_lte_tx_power=$(echo "$lte" | awk -F',' '{print $17}') - endc_lte_rxlev=$(echo "$lte" | awk -F',' '{print $18}' | sed 's/\r//g') + endc_lte_srxlev=$(echo "$lte" | awk -F',' '{print $18}' | sed 's/\r//g') #NR5G-NSA endc_nr_mcc=$(echo "$nr5g_nsa" | awk -F',' '{print $2}') endc_nr_mnc=$(echo "$nr5g_nsa" | awk -F',' '{print $3}') @@ -697,7 +697,7 @@ quectel_cell_info() nr_sinr=$(echo "$response" | awk -F',' '{print $15}') nr_scs_num=$(echo "$response" | awk -F',' '{print $16}') nr_scs=$(quectel_get_scs $nr_scs_num) - nr_rxlev=$(echo "$response" | awk -F',' '{print $17}' | sed 's/\r//g') + nr_srxlev=$(echo "$response" | awk -F',' '{print $17}' | sed 's/\r//g') ;; "LTE"|"CAT-M"|"CAT-NB") network_mode="LTE Mode" @@ -720,7 +720,7 @@ quectel_cell_info() lte_sinr=$(echo "$response" | awk -F',' '{print $17}') lte_cql=$(echo "$response" | awk -F',' '{print $18}') lte_tx_power=$(echo "$response" | awk -F',' '{print $19}') - lte_rxlev=$(echo "$response" | awk -F',' '{print $20}' | sed 's/\r//g') + lte_srxlev=$(echo "$response" | awk -F',' '{print $20}' | sed 's/\r//g') ;; "WCDMA") network_mode="WCDMA Mode"