Merge branch 'main' of https://github.com/Siriling/5G-Modem-Support into main
This commit is contained in:
commit
0a8413d686
@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
PKG_NAME:=luci-app-modem
|
PKG_NAME:=luci-app-modem
|
||||||
LUCI_TITLE:=LuCI support for Modem
|
LUCI_TITLE:=LuCI support for Modem
|
||||||
LUCI_PKGARCH:=all
|
LUCI_PKGARCH:=all
|
||||||
PKG_VERSION:=1.4.1
|
PKG_VERSION:=1.4.2
|
||||||
PKG_LICENSE:=GPLv3
|
PKG_LICENSE:=GPLv3
|
||||||
PKG_LINCESE_FILES:=LICENSE
|
PKG_LINCESE_FILES:=LICENSE
|
||||||
PKF_MAINTAINER:=siriling <siriling@qq.com>
|
PKF_MAINTAINER:=siriling <siriling@qq.com>
|
||||||
|
@ -319,6 +319,12 @@ function getModemInfo()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
--添加额外翻译
|
||||||
|
translation["Unknown"]=luci.i18n.translate("Unknown")
|
||||||
|
translation["Excellent"]=luci.i18n.translate("Excellent")
|
||||||
|
translation["Good"]=luci.i18n.translate("Good")
|
||||||
|
translation["Fair"]=luci.i18n.translate("Fair")
|
||||||
|
translation["Bad"]=luci.i18n.translate("Bad")
|
||||||
|
|
||||||
--整合数据
|
--整合数据
|
||||||
local data={}
|
local data={}
|
||||||
|
@ -76,12 +76,6 @@ getMobileNetwork()
|
|||||||
|
|
||||||
--------advanced--------
|
--------advanced--------
|
||||||
|
|
||||||
-- 配置ID
|
|
||||||
id = s:taboption("advanced", ListValue, "id", translate("Config ID"))
|
|
||||||
id.rmempty = false
|
|
||||||
id:value(arg[1])
|
|
||||||
-- uci:set('modem',arg[1],'id',arg[1])
|
|
||||||
|
|
||||||
-- 拨号工具
|
-- 拨号工具
|
||||||
dial_tool = s:taboption("advanced", ListValue, "dial_tool", translate("Dial Tool"))
|
dial_tool = s:taboption("advanced", ListValue, "dial_tool", translate("Dial Tool"))
|
||||||
dial_tool.description = translate("After switching the dialing tool, it may be necessary to restart the module or restart the router to recognize the module.")
|
dial_tool.description = translate("After switching the dialing tool, it may be necessary to restart the module or restart the router to recognize the module.")
|
||||||
@ -136,4 +130,13 @@ password:depends("auth", "both")
|
|||||||
password:depends("auth", "pap")
|
password:depends("auth", "pap")
|
||||||
password:depends("auth", "chap")
|
password:depends("auth", "chap")
|
||||||
|
|
||||||
|
-- 配置ID
|
||||||
|
id = s:taboption("advanced", ListValue, "id", translate("Config ID"))
|
||||||
|
id.rmempty = false
|
||||||
|
id:value(arg[1])
|
||||||
|
-- uci:set('modem',arg[1],'id',arg[1])
|
||||||
|
|
||||||
|
-- 隐藏配置ID
|
||||||
|
m:append(Template("modem/hide_dial_config_id"))
|
||||||
|
|
||||||
return m
|
return m
|
||||||
|
@ -31,7 +31,9 @@ function s.create(uci, t)
|
|||||||
end
|
end
|
||||||
function s.remove(uci, t)
|
function s.remove(uci, t)
|
||||||
uci.map.proceed = true
|
uci.map.proceed = true
|
||||||
uci.map:del(t)
|
-- 设置删除
|
||||||
|
uci.map:set(t,"delete","1")
|
||||||
|
-- uci.map:del(t)
|
||||||
luci.http.redirect(d.build_url("admin", "network", "modem","dial_overview"))
|
luci.http.redirect(d.build_url("admin", "network", "modem","dial_overview"))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
15
luci-app-modem/luasrc/view/modem/hide_dial_config_id.htm
Normal file
15
luci-app-modem/luasrc/view/modem/hide_dial_config_id.htm
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<script type="text/javascript">//<![CDATA[
|
||||||
|
|
||||||
|
window.onload=function()
|
||||||
|
{
|
||||||
|
// 获取高级设置标签元素
|
||||||
|
var str="advanced"
|
||||||
|
var advanced_element = document.querySelector('div[data-tab="'+str+'"]');
|
||||||
|
|
||||||
|
//隐藏拨号配置ID元素
|
||||||
|
var dial_config_id_element = advanced_element.lastElementChild;
|
||||||
|
dial_config_id_element.style.display="none";
|
||||||
|
}
|
||||||
|
|
||||||
|
//]]>
|
||||||
|
</script>
|
@ -148,8 +148,8 @@ end
|
|||||||
if (value!="-"&&value!="")
|
if (value!="-"&&value!="")
|
||||||
{
|
{
|
||||||
//添加单位
|
//添加单位
|
||||||
if (key=="RSSI") {
|
if (key=="AMBR UL"||key=="AMBR DL") {
|
||||||
value=value+" dBm";
|
value=value+" Mbps";
|
||||||
}
|
}
|
||||||
else if (key=="Tx Rate"||key=="Rx Rate")
|
else if (key=="Tx Rate"||key=="Rx Rate")
|
||||||
{
|
{
|
||||||
@ -174,6 +174,232 @@ end
|
|||||||
network_info_Element.innerHTML=network_info_view;
|
network_info_Element.innerHTML=network_info_view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取一个范围的百分比
|
||||||
|
function get_percent(value, min, max)
|
||||||
|
{
|
||||||
|
var percent;
|
||||||
|
if (value <= min) {
|
||||||
|
percent=0;
|
||||||
|
} else if (value >= max) {
|
||||||
|
percent=100;
|
||||||
|
} else {
|
||||||
|
percent=((value - min) / (max - min)) * 100;
|
||||||
|
}
|
||||||
|
return percent.toFixed(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取参考信号接收功率(RSRP)的信息视图
|
||||||
|
function get_rsrp_info_view(network_type,value)
|
||||||
|
{
|
||||||
|
value=parseFloat(value);
|
||||||
|
var rsrp_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);
|
||||||
|
}
|
||||||
|
else if (network_type.includes("LTE"))
|
||||||
|
{
|
||||||
|
percent=get_percent(value,-140,-44);
|
||||||
|
}
|
||||||
|
else if (network_type.includes("WCDMA"))
|
||||||
|
{
|
||||||
|
// percent=get_percent(value,-140,-44);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取样式
|
||||||
|
var quality="Unknown";
|
||||||
|
var color="gray";
|
||||||
|
if (value>=-70)
|
||||||
|
{
|
||||||
|
quality="Excellent";
|
||||||
|
color="limegreen";
|
||||||
|
}
|
||||||
|
else if (value>=-80&&value<-70)
|
||||||
|
{
|
||||||
|
quality="Good";
|
||||||
|
color="lime";
|
||||||
|
}
|
||||||
|
else if (value>=-90&&value<-80)
|
||||||
|
{
|
||||||
|
quality="Fair";
|
||||||
|
color="gold";
|
||||||
|
}
|
||||||
|
else if (value<-90)
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取参考信号接收质量(RSRQ)的信息视图
|
||||||
|
function get_rsrq_info_view(network_type,value)
|
||||||
|
{
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
else if (network_type.includes("LTE"))
|
||||||
|
{
|
||||||
|
percent=get_percent(value,-19.5,-3);
|
||||||
|
}
|
||||||
|
else if (network_type.includes("WCDMA"))
|
||||||
|
{
|
||||||
|
// percent=get_percent(value,-19.5,-3);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取样式
|
||||||
|
var quality="Unknown";
|
||||||
|
var color="gray";
|
||||||
|
if (value>=-10)
|
||||||
|
{
|
||||||
|
quality="Excellent";
|
||||||
|
color="limegreen";
|
||||||
|
}
|
||||||
|
else if (value>=-15&&value<-10)
|
||||||
|
{
|
||||||
|
quality="Good";
|
||||||
|
color="lime";
|
||||||
|
}
|
||||||
|
else if (value>=-20&&value<-15)
|
||||||
|
{
|
||||||
|
quality="Fair";
|
||||||
|
color="gold";
|
||||||
|
}
|
||||||
|
else if (value<-20)
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取信噪比(SINR)的信息视图
|
||||||
|
function get_sinr_info_view(network_type,value)
|
||||||
|
{
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
else if (network_type.includes("LTE"))
|
||||||
|
{
|
||||||
|
percent=get_percent(value,-20,-30);
|
||||||
|
}
|
||||||
|
else if (network_type.includes("WCDMA"))
|
||||||
|
{
|
||||||
|
// percent=get_percent(value,-20,-30);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取样式
|
||||||
|
var quality="Unknown";
|
||||||
|
var color="gray";
|
||||||
|
if (value>=25)
|
||||||
|
{
|
||||||
|
quality="Excellent";
|
||||||
|
color="limegreen";
|
||||||
|
}
|
||||||
|
else if (value>=15&&value<25)
|
||||||
|
{
|
||||||
|
quality="Good";
|
||||||
|
color="lime";
|
||||||
|
}
|
||||||
|
else if (value>=10&&value<15)
|
||||||
|
{
|
||||||
|
quality="Fair";
|
||||||
|
color="gold";
|
||||||
|
}
|
||||||
|
else if (value<10)
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取接收信号功率(RxLev)的信息视图
|
||||||
|
function get_rxlev_info_view(network_type,value)
|
||||||
|
{
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
else if (network_type.includes("LTE"))
|
||||||
|
{
|
||||||
|
percent=get_percent(value,-140,-44);
|
||||||
|
}
|
||||||
|
else if (network_type.includes("WCDMA"))
|
||||||
|
{
|
||||||
|
percent=get_percent(value,-120,-25);
|
||||||
|
}
|
||||||
|
else if (network_type.includes("GSM"))
|
||||||
|
{
|
||||||
|
percent=get_percent(value,-110,-48);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取样式
|
||||||
|
var quality="Unknown";
|
||||||
|
var color="gray";
|
||||||
|
if (value>=-70)
|
||||||
|
{
|
||||||
|
quality="Excellent";
|
||||||
|
color="limegreen";
|
||||||
|
}
|
||||||
|
else if (value>=-80&&value<-70)
|
||||||
|
{
|
||||||
|
quality="Good";
|
||||||
|
color="lime";
|
||||||
|
}
|
||||||
|
else if (value>=-90&&value<-80)
|
||||||
|
{
|
||||||
|
quality="Fair";
|
||||||
|
color="gold";
|
||||||
|
}
|
||||||
|
else if (value<-100)
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
//获取小区信息视图
|
//获取小区信息视图
|
||||||
function get_cell_info_view(network_mode_info,network_type,translation)
|
function get_cell_info_view(network_mode_info,network_type,translation)
|
||||||
{
|
{
|
||||||
@ -204,28 +430,56 @@ end
|
|||||||
//添加单位
|
//添加单位
|
||||||
if (key=="Band") {
|
if (key=="Band") {
|
||||||
if (network_type.includes("NR")) {
|
if (network_type.includes("NR")) {
|
||||||
value="N"+value
|
value="N"+value;
|
||||||
}
|
}
|
||||||
else if (network_type.includes("LTE")) {
|
else if (network_type.includes("LTE")) {
|
||||||
value="B"+value
|
value="B"+value;
|
||||||
}
|
}
|
||||||
else if (network_type.includes("WCDMA")) {
|
else if (network_type.includes("WCDMA")) {
|
||||||
value="B"+value
|
value="B"+value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (key=="UL Bandwidth"||key=="DL Bandwidth") {
|
else if (key=="UL Bandwidth"||key=="DL Bandwidth") {
|
||||||
value=value+" MHz"
|
value=value+" MHz";
|
||||||
}
|
}
|
||||||
else if (key=="RSRP"||key=="TX Power"||key=="RxLev") {
|
else if (key=="RSRP"||key=="TX Power"||key=="RxLev") {
|
||||||
value=value+" dBm"
|
|
||||||
|
if (key=="RSRP")
|
||||||
|
{
|
||||||
|
var rsrp_info_view=get_rsrp_info_view(network_type,value);
|
||||||
|
value='<div class="cbi-progressbar" title="'+value+' dBm | '+translation[rsrp_info_view.quality]+' ('+rsrp_info_view.percent+'%)"><div style="'+rsrp_info_view.style+'"></div></div>';
|
||||||
|
}
|
||||||
|
else if (key=="RxLev")
|
||||||
|
{
|
||||||
|
var rxlev_info_view=get_rxlev_info_view(network_type,value);
|
||||||
|
value='<div class="cbi-progressbar" title="'+value+' dBm | '+translation[rxlev_info_view.quality]+' ('+rxlev_info_view.percent+'%)"><div style="'+rxlev_info_view.style+'"></div></div>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
value=value+" dBm";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (key=="RSRQ"||key=="SINR"||key=="RSSNR"||key=="Ec/Io") {
|
else if (key=="RSRQ"||key=="SINR"||key=="RSSNR"||key=="Ec/Io") {
|
||||||
value=value+" dB"
|
|
||||||
|
if (key=="RSRQ")
|
||||||
|
{
|
||||||
|
var rsrq_info_view=get_rsrq_info_view(network_type,value);
|
||||||
|
value='<div class="cbi-progressbar" title="'+value+' dB | '+translation[rsrq_info_view.quality]+' ('+rsrq_info_view.percent+'%)"><div style="'+rsrq_info_view.style+'"></div></div>';
|
||||||
|
}
|
||||||
|
else if (key=="SINR")
|
||||||
|
{
|
||||||
|
var sinr_info_view=get_sinr_info_view(network_type,value);
|
||||||
|
value='<div class="cbi-progressbar" title="'+value+' dB | '+translation[sinr_info_view.quality]+' ('+sinr_info_view.percent+'%)"><div style="'+sinr_info_view.style+'"></div></div>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
value=value+" dB";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (key=="SCS") {
|
else if (key=="SCS") {
|
||||||
value=value+" KHz"
|
value=value+" KHz";
|
||||||
}
|
}
|
||||||
cell_info_view+='<tr class="tr"><td class="td left" title="'+full_name+'">'+translation[key]+'</td><td class="td left" id="'+key+'">'+value+'</td></tr>';
|
cell_info_view+='<tr class="tr"><td class="td left" title="'+full_name+'">'+translation[key]+' ('+key+')</td><td class="td left" id="'+key+'">'+value+'</td></tr>';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -352,6 +352,18 @@ msgstr "网络信息"
|
|||||||
msgid "Network Type"
|
msgid "Network Type"
|
||||||
msgstr "网络类型"
|
msgstr "网络类型"
|
||||||
|
|
||||||
|
msgid "CQI UL"
|
||||||
|
msgstr "上行信道质量指示"
|
||||||
|
|
||||||
|
msgid "CQI DL"
|
||||||
|
msgstr "下行信道质量指示"
|
||||||
|
|
||||||
|
msgid "AMBR UL"
|
||||||
|
msgstr "上行访问最大比特率"
|
||||||
|
|
||||||
|
msgid "AMBR DL"
|
||||||
|
msgstr "下行访问最大比特率"
|
||||||
|
|
||||||
msgid "Tx Rate"
|
msgid "Tx Rate"
|
||||||
msgstr "上传速率"
|
msgstr "上传速率"
|
||||||
|
|
||||||
@ -523,6 +535,18 @@ msgstr "中国电信"
|
|||||||
msgid "46011"
|
msgid "46011"
|
||||||
msgstr "中国电信"
|
msgstr "中国电信"
|
||||||
|
|
||||||
|
msgid "Excellent"
|
||||||
|
msgstr "非常好"
|
||||||
|
|
||||||
|
msgid "Good"
|
||||||
|
msgstr "好"
|
||||||
|
|
||||||
|
msgid "Fair"
|
||||||
|
msgstr "一般"
|
||||||
|
|
||||||
|
msgid "Bad"
|
||||||
|
msgstr "差"
|
||||||
|
|
||||||
msgid "Plugin Config"
|
msgid "Plugin Config"
|
||||||
msgstr "插件配置"
|
msgstr "插件配置"
|
||||||
|
|
||||||
|
@ -523,6 +523,18 @@ msgstr "中国电信"
|
|||||||
msgid "46011"
|
msgid "46011"
|
||||||
msgstr "中国电信"
|
msgstr "中国电信"
|
||||||
|
|
||||||
|
msgid "Excellent"
|
||||||
|
msgstr "非常好"
|
||||||
|
|
||||||
|
msgid "Good"
|
||||||
|
msgstr "好"
|
||||||
|
|
||||||
|
msgid "Fair"
|
||||||
|
msgstr "一般"
|
||||||
|
|
||||||
|
msgid "Bad"
|
||||||
|
msgstr "差"
|
||||||
|
|
||||||
msgid "Plugin Config"
|
msgid "Plugin Config"
|
||||||
msgstr "插件配置"
|
msgstr "插件配置"
|
||||||
|
|
||||||
|
@ -121,6 +121,13 @@ set_ipv4_interface()
|
|||||||
local interface_name="$1"
|
local interface_name="$1"
|
||||||
local network_interface="$2"
|
local network_interface="$2"
|
||||||
|
|
||||||
|
#删除原网络配置
|
||||||
|
uci -q del network.${interface_name}.ipaddr
|
||||||
|
uci -q del network.${interface_name}.netmask
|
||||||
|
uci -q del network.${interface_name}.gateway
|
||||||
|
uci -q del network.${interface_name}.peerdns
|
||||||
|
uci -q del network.${interface_name}.dns
|
||||||
|
|
||||||
#添加或修改网络配置
|
#添加或修改网络配置
|
||||||
uci set network.${interface_name}='interface'
|
uci set network.${interface_name}='interface'
|
||||||
uci set network.${interface_name}.proto='dhcp'
|
uci set network.${interface_name}.proto='dhcp'
|
||||||
@ -287,10 +294,6 @@ modemmanager()
|
|||||||
|
|
||||||
qmi()
|
qmi()
|
||||||
{
|
{
|
||||||
#设置网络接口
|
|
||||||
local network_interface=$(uci -q get modem.modem${modem_no}.network_interface)
|
|
||||||
set_interface "${modem_no}" "$network_interface"
|
|
||||||
|
|
||||||
#选择拨号工具
|
#选择拨号工具
|
||||||
case $dial_tool in
|
case $dial_tool in
|
||||||
"quectel-CM") quectel_cm ;;
|
"quectel-CM") quectel_cm ;;
|
||||||
@ -302,11 +305,6 @@ qmi()
|
|||||||
|
|
||||||
gobinet()
|
gobinet()
|
||||||
{
|
{
|
||||||
#获取网络接口
|
|
||||||
local network_interface=$(uci -q get modem.modem${modem_no}.network_interface)
|
|
||||||
#设置网络接口
|
|
||||||
set_interface "${modem_no}" "$network_interface"
|
|
||||||
|
|
||||||
#拨号
|
#拨号
|
||||||
procd_open_instance
|
procd_open_instance
|
||||||
procd_set_param command sh ${SCRIPT_DIR}/modem_network_task.sh "${id}" "${modem_no}" "gobinet"
|
procd_set_param command sh ${SCRIPT_DIR}/modem_network_task.sh "${id}" "${modem_no}" "gobinet"
|
||||||
@ -316,11 +314,6 @@ gobinet()
|
|||||||
|
|
||||||
ecm()
|
ecm()
|
||||||
{
|
{
|
||||||
#获取网络接口
|
|
||||||
local network_interface=$(uci -q get modem.modem${modem_no}.network_interface)
|
|
||||||
#设置网络接口
|
|
||||||
set_interface "${modem_no}" "$network_interface"
|
|
||||||
|
|
||||||
#拨号
|
#拨号
|
||||||
procd_open_instance
|
procd_open_instance
|
||||||
procd_set_param command sh ${SCRIPT_DIR}/modem_network_task.sh "${id}" "${modem_no}" "ecm"
|
procd_set_param command sh ${SCRIPT_DIR}/modem_network_task.sh "${id}" "${modem_no}" "ecm"
|
||||||
@ -335,11 +328,6 @@ mbim()
|
|||||||
|
|
||||||
rndis()
|
rndis()
|
||||||
{
|
{
|
||||||
#获取网络接口
|
|
||||||
local network_interface=$(uci -q get modem.modem${modem_no}.network_interface)
|
|
||||||
#设置网络接口
|
|
||||||
set_interface "${modem_no}" "$network_interface"
|
|
||||||
|
|
||||||
#拨号
|
#拨号
|
||||||
procd_open_instance
|
procd_open_instance
|
||||||
procd_set_param command sh ${SCRIPT_DIR}/modem_network_task.sh "${id}" "${modem_no}" "rndis"
|
procd_set_param command sh ${SCRIPT_DIR}/modem_network_task.sh "${id}" "${modem_no}" "rndis"
|
||||||
@ -547,41 +535,52 @@ stop_dial()
|
|||||||
if [ -f "${MODEM_RUN_CONFIG}" ] && grep -q "${network}" "${MODEM_RUN_CONFIG}"; then
|
if [ -f "${MODEM_RUN_CONFIG}" ] && grep -q "${network}" "${MODEM_RUN_CONFIG}"; then
|
||||||
#该配置ID在运行,需要删除记录
|
#该配置ID在运行,需要删除记录
|
||||||
sed -i "/${id}/d" "${MODEM_RUN_CONFIG}"
|
sed -i "/${id}/d" "${MODEM_RUN_CONFIG}"
|
||||||
else
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
#获取模块序号
|
#获取模块序号
|
||||||
get_modem_no "${network}"
|
get_modem_no "${network}"
|
||||||
|
|
||||||
#获取模组的拨号模式
|
#获取模组的拨号模式
|
||||||
[ -z "${modem_no}" ] && return 0
|
[ -z "${modem_no}" ] && return 0
|
||||||
local mode=$(get_mode ${modem_no})
|
local mode=$(get_mode ${modem_no})
|
||||||
[ -z "$mode" ] || [ "$mode" = "unknown" ] && return
|
[ -z "$mode" ] || [ "$mode" = "unknown" ] && return
|
||||||
|
|
||||||
|
#根据不同的拨号模式停止拨号
|
||||||
|
if [ "$mode" = "qmi" ]; then
|
||||||
|
stop_qmi
|
||||||
|
elif [ "$mode" = "gobinet" ]; then
|
||||||
|
stop_gobinet
|
||||||
|
elif [ "$mode" = "ecm" ]; then
|
||||||
|
stop_ecm
|
||||||
|
elif [ "$mode" = "mbim" ]; then
|
||||||
|
stop_mbim
|
||||||
|
elif [ "$mode" = "rndis" ]; then
|
||||||
|
stop_rndis
|
||||||
|
elif [ "$mode" = "ncm" ]; then
|
||||||
|
stop_ncm
|
||||||
|
fi
|
||||||
|
|
||||||
#根据不同的拨号模式停止拨号
|
|
||||||
if [ "$mode" = "qmi" ]; then
|
|
||||||
stop_qmi
|
|
||||||
elif [ "$mode" = "gobinet" ]; then
|
|
||||||
stop_gobinet
|
|
||||||
elif [ "$mode" = "ecm" ]; then
|
|
||||||
stop_ecm
|
|
||||||
elif [ "$mode" = "mbim" ]; then
|
|
||||||
stop_mbim
|
|
||||||
elif [ "$mode" = "rndis" ]; then
|
|
||||||
stop_rndis
|
|
||||||
elif [ "$mode" = "ncm" ]; then
|
|
||||||
stop_ncm
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
dial()
|
dial()
|
||||||
{
|
{
|
||||||
local enable #启用
|
local enable #启用
|
||||||
local id #ID
|
local id #ID
|
||||||
|
local delete #删除
|
||||||
|
|
||||||
config_get enable $1 enable
|
config_get enable $1 enable
|
||||||
config_get id $1 id
|
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" ] && {
|
[ "$enable" = "0" ] && {
|
||||||
stop_dial "$id"
|
stop_dial "$id"
|
||||||
return 0
|
return 0
|
||||||
@ -621,20 +620,22 @@ dial()
|
|||||||
|
|
||||||
#查看移动网络是否已经有配置在运行
|
#查看移动网络是否已经有配置在运行
|
||||||
mkdir -m 0755 -p "${MODEM_RUNDIR}"
|
mkdir -m 0755 -p "${MODEM_RUNDIR}"
|
||||||
if [ -f "${MODEM_RUN_CONFIG}" ]; then #文件存在
|
if [ ! -f "${MODEM_RUN_CONFIG}" ] || ! grep -q "${network}" "${MODEM_RUN_CONFIG}"; then
|
||||||
if grep -q "${network}" "${MODEM_RUN_CONFIG}"; then #是否记录该移动网络
|
#文件不存在或者未记录该移动网络
|
||||||
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
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "${network},${id}" >> "${MODEM_RUN_CONFIG}"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "${network},${id}" >> "${MODEM_RUN_CONFIG}"
|
echo "${network},${id}" >> "${MODEM_RUN_CONFIG}"
|
||||||
|
|
||||||
|
#获取网络接口
|
||||||
|
local network_interface=$(uci -q get modem.modem${modem_no}.network_interface)
|
||||||
|
#设置网络接口
|
||||||
|
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
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#设置网络预设
|
#设置网络预设
|
||||||
|
@ -842,6 +842,34 @@ fibocom_get_nr_dl_bandwidth()
|
|||||||
echo "$nr_dl_bandwidth"
|
echo "$nr_dl_bandwidth"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#获取信噪比
|
||||||
|
# $1:网络类型
|
||||||
|
# $2:信噪比数字
|
||||||
|
fibocom_get_sinr_num()
|
||||||
|
{
|
||||||
|
local sinr
|
||||||
|
case $1 in
|
||||||
|
"LTE") sinr=$(awk "BEGIN{ printf \"%.2f\", $2 * 0.5 - 23.5 }" | sed 's/\.*0*$//') ;;
|
||||||
|
"NR") sinr=$(awk "BEGIN{ printf \"%.2f\", $2 * 0.5 - 23.5 }" | sed 's/\.*0*$//') ;;
|
||||||
|
esac
|
||||||
|
echo "$sinr"
|
||||||
|
}
|
||||||
|
|
||||||
|
#获取接收信号功率
|
||||||
|
# $1:网络类型
|
||||||
|
# $2:接收信号功率数字
|
||||||
|
fibocom_get_rxlev()
|
||||||
|
{
|
||||||
|
local rxlev
|
||||||
|
case $1 in
|
||||||
|
"GSM") rxlev=$(($2-110)) ;;
|
||||||
|
"WCDMA") rxlev=$(($2-121)) ;;
|
||||||
|
"LTE") rxlev=$(($2-141)) ;;
|
||||||
|
"NR") rxlev=$(($2-157)) ;;
|
||||||
|
esac
|
||||||
|
echo "$rxlev"
|
||||||
|
}
|
||||||
|
|
||||||
#获取参考信号接收功率
|
#获取参考信号接收功率
|
||||||
# $1:网络类型
|
# $1:网络类型
|
||||||
# $2:参考信号接收功率数字
|
# $2:参考信号接收功率数字
|
||||||
@ -877,20 +905,6 @@ fibocom_get_rssnr()
|
|||||||
echo "$rssnr"
|
echo "$rssnr"
|
||||||
}
|
}
|
||||||
|
|
||||||
#获取接收信号功率
|
|
||||||
# $1:网络类型
|
|
||||||
# $2:接收信号功率数字
|
|
||||||
fibocom_get_rxlev()
|
|
||||||
{
|
|
||||||
local rxlev
|
|
||||||
case $1 in
|
|
||||||
"WCDMA") rxlev=$(($2-121)) ;;
|
|
||||||
"LTE") rxlev=$(($2-141)) ;;
|
|
||||||
"NR") rxlev=$(($2-157)) ;;
|
|
||||||
esac
|
|
||||||
echo "$rxlev"
|
|
||||||
}
|
|
||||||
|
|
||||||
#获取Ec/Io
|
#获取Ec/Io
|
||||||
# $1:Ec/Io数字
|
# $1:Ec/Io数字
|
||||||
fibocom_get_ecio()
|
fibocom_get_ecio()
|
||||||
@ -917,111 +931,126 @@ fibocom_cell_info()
|
|||||||
rat=$(fibocom_get_rat ${rat_num})
|
rat=$(fibocom_get_rat ${rat_num})
|
||||||
}
|
}
|
||||||
|
|
||||||
response=$(echo "$response" | sed -n '4p')
|
for response in $response; do
|
||||||
|
#排除+GTCCINFO:、NR service cell:还有空行
|
||||||
|
[ -n "$response" ] && [[ "$response" = *","* ]] && {
|
||||||
|
|
||||||
case $rat in
|
case $rat in
|
||||||
"NR")
|
"NR")
|
||||||
network_mode="NR5G-SA Mode"
|
network_mode="NR5G-SA Mode"
|
||||||
nr_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
nr_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||||
nr_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
nr_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||||
nr_tac=$(echo "$response" | awk -F',' '{print $5}')
|
nr_tac=$(echo "$response" | awk -F',' '{print $5}')
|
||||||
nr_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
nr_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||||
nr_arfcn=$(echo "$response" | awk -F',' '{print $7}')
|
nr_arfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||||
nr_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
nr_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
||||||
nr_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
nr_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||||
nr_band=$(fibocom_get_band "NR" ${nr_band_num})
|
nr_band=$(fibocom_get_band "NR" ${nr_band_num})
|
||||||
nr_dl_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
nr_dl_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
||||||
nr_dl_bandwidth=$(fibocom_get_nr_dl_bandwidth ${nr_dl_bandwidth_num})
|
nr_dl_bandwidth=$(fibocom_get_nr_dl_bandwidth ${nr_dl_bandwidth_num})
|
||||||
nr_sinr=$(echo "$response" | awk -F',' '{print $11}')
|
nr_sinr_num=$(echo "$response" | awk -F',' '{print $11}')
|
||||||
nr_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
nr_sinr=$(fibocom_get_sinr_num "NR" ${nr_sinr_num})
|
||||||
nr_rxlev=$(fibocom_get_rxlev "NR" ${nr_rxlev_num})
|
nr_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
||||||
nr_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
nr_rxlev=$(fibocom_get_rxlev "NR" ${nr_rxlev_num})
|
||||||
nr_rsrp=$(fibocom_get_rsrp "NR" ${nr_rsrp_num})
|
nr_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||||
nr_rsrq_num=$(echo "$response" | awk -F',' '{print $14}' | sed 's/\r//g')
|
nr_rsrp=$(fibocom_get_rsrp "NR" ${nr_rsrp_num})
|
||||||
nr_rsrq=$(fibocom_get_rsrq "NR" ${nr_rsrq_num})
|
nr_rsrq_num=$(echo "$response" | awk -F',' '{print $14}' | sed 's/\r//g')
|
||||||
;;
|
nr_rsrq=$(fibocom_get_rsrq "NR" ${nr_rsrq_num})
|
||||||
"LTE-NR")
|
;;
|
||||||
network_mode="EN-DC Mode"
|
"LTE-NR")
|
||||||
#LTE
|
network_mode="EN-DC Mode"
|
||||||
endc_lte_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
#LTE
|
||||||
endc_lte_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
endc_lte_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||||
endc_lte_tac=$(echo "$response" | awk -F',' '{print $5}')
|
endc_lte_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||||
endc_lte_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
endc_lte_tac=$(echo "$response" | awk -F',' '{print $5}')
|
||||||
endc_lte_earfcn=$(echo "$response" | awk -F',' '{print $7}')
|
endc_lte_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||||
endc_lte_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
endc_lte_earfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||||
endc_lte_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
endc_lte_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
||||||
endc_lte_band=$(fibocom_get_band "LTE" ${endc_lte_band_num})
|
endc_lte_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||||
ul_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
endc_lte_band=$(fibocom_get_band "LTE" ${endc_lte_band_num})
|
||||||
endc_lte_ul_bandwidth=$(fibocom_get_ul_bandwidth ${ul_bandwidth_num})
|
ul_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
||||||
endc_lte_dl_bandwidth="$endc_lte_ul_bandwidth"
|
endc_lte_ul_bandwidth=$(fibocom_get_ul_bandwidth ${ul_bandwidth_num})
|
||||||
endc_lte_rssnr_num=$(echo "$response" | awk -F',' '{print $11}')
|
endc_lte_dl_bandwidth="$endc_lte_ul_bandwidth"
|
||||||
endc_lte_rssnr=$(fibocom_get_rssnr ${endc_lte_rssnr_num})
|
endc_lte_rssnr_num=$(echo "$response" | awk -F',' '{print $11}')
|
||||||
endc_lte_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
endc_lte_rssnr=$(fibocom_get_rssnr ${endc_lte_rssnr_num})
|
||||||
endc_lte_rxlev=$(fibocom_get_rxlev "LTE" ${endc_lte_rxlev_num})
|
endc_lte_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
||||||
endc_lte_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
endc_lte_rxlev=$(fibocom_get_rxlev "LTE" ${endc_lte_rxlev_num})
|
||||||
endc_lte_rsrp=$(fibocom_get_rsrp "LTE" ${endc_lte_rsrp_num})
|
endc_lte_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||||
endc_lte_rsrq_num=$(echo "$response" | awk -F',' '{print $14}' | sed 's/\r//g')
|
endc_lte_rsrp=$(fibocom_get_rsrp "LTE" ${endc_lte_rsrp_num})
|
||||||
endc_lte_rsrq=$(fibocom_get_rsrq "LTE" ${endc_lte_rsrq_num})
|
endc_lte_rsrq_num=$(echo "$response" | awk -F',' '{print $14}' | sed 's/\r//g')
|
||||||
#NR5G-NSA
|
endc_lte_rsrq=$(fibocom_get_rsrq "LTE" ${endc_lte_rsrq_num})
|
||||||
endc_nr_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
#NR5G-NSA
|
||||||
endc_nr_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
endc_nr_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||||
endc_nr_tac=$(echo "$response" | awk -F',' '{print $5}')
|
endc_nr_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||||
endc_nr_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
endc_nr_tac=$(echo "$response" | awk -F',' '{print $5}')
|
||||||
endc_nr_arfcn=$(echo "$response" | awk -F',' '{print $7}')
|
endc_nr_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||||
endc_nr_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
endc_nr_arfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||||
endc_nr_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
endc_nr_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
||||||
endc_nr_band=$(fibocom_get_band "NR" ${endc_nr_band_num})
|
endc_nr_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||||
nr_dl_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
endc_nr_band=$(fibocom_get_band "NR" ${endc_nr_band_num})
|
||||||
endc_nr_dl_bandwidth=$(fibocom_get_nr_dl_bandwidth ${nr_dl_bandwidth_num})
|
nr_dl_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
||||||
endc_nr_sinr=$(echo "$response" | awk -F',' '{print $11}')
|
endc_nr_dl_bandwidth=$(fibocom_get_nr_dl_bandwidth ${nr_dl_bandwidth_num})
|
||||||
endc_nr_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
endc_nr_sinr_num=$(echo "$response" | awk -F',' '{print $11}')
|
||||||
endc_nr_rxlev=$(fibocom_get_rxlev "NR" ${endc_nr_rxlev_num})
|
endc_nr_sinr=$(fibocom_get_sinr_num "NR" ${endc_nr_sinr_num})
|
||||||
endc_nr_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
endc_nr_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
||||||
endc_nr_rsrp=$(fibocom_get_rsrp "NR" ${endc_nr_rsrp_num})
|
endc_nr_rxlev=$(fibocom_get_rxlev "NR" ${endc_nr_rxlev_num})
|
||||||
endc_nr_rsrq_num=$(echo "$response" | awk -F',' '{print $14}' | sed 's/\r//g')
|
endc_nr_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||||
endc_nr_rsrq=$(fibocom_get_rsrq "NR" ${endc_nr_rsrq_num})
|
endc_nr_rsrp=$(fibocom_get_rsrp "NR" ${endc_nr_rsrp_num})
|
||||||
;;
|
endc_nr_rsrq_num=$(echo "$response" | awk -F',' '{print $14}' | sed 's/\r//g')
|
||||||
"LTE"|"eMTC"|"NB-IoT")
|
endc_nr_rsrq=$(fibocom_get_rsrq "NR" ${endc_nr_rsrq_num})
|
||||||
network_mode="LTE Mode"
|
;;
|
||||||
lte_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
"LTE"|"eMTC"|"NB-IoT")
|
||||||
lte_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
network_mode="LTE Mode"
|
||||||
lte_tac=$(echo "$response" | awk -F',' '{print $5}')
|
lte_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||||
lte_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
lte_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||||
lte_earfcn=$(echo "$response" | awk -F',' '{print $7}')
|
lte_tac=$(echo "$response" | awk -F',' '{print $5}')
|
||||||
lte_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
lte_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||||
lte_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
lte_earfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||||
lte_band=$(fibocom_get_band "LTE" ${lte_band_num})
|
lte_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
||||||
ul_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
lte_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||||
lte_ul_bandwidth=$(fibocom_get_ul_bandwidth ${ul_bandwidth_num})
|
lte_band=$(fibocom_get_band "LTE" ${lte_band_num})
|
||||||
lte_dl_bandwidth="$lte_ul_bandwidth"
|
ul_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
||||||
lte_rssnr=$(echo "$response" | awk -F',' '{print $11}')
|
lte_ul_bandwidth=$(fibocom_get_ul_bandwidth ${ul_bandwidth_num})
|
||||||
lte_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
lte_dl_bandwidth="$lte_ul_bandwidth"
|
||||||
lte_rxlev=$(fibocom_get_rxlev "LTE" ${lte_rxlev_num})
|
lte_rssnr=$(echo "$response" | awk -F',' '{print $11}')
|
||||||
lte_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
lte_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
||||||
lte_rsrp=$(fibocom_get_rsrp "LTE" ${lte_rsrp_num})
|
lte_rxlev=$(fibocom_get_rxlev "LTE" ${lte_rxlev_num})
|
||||||
lte_rsrq_num=$(echo "$response" | awk -F',' '{print $14}' | sed 's/\r//g')
|
lte_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||||
lte_rsrq=$(fibocom_get_rsrq "LTE" ${lte_rsrq_num})
|
lte_rsrp=$(fibocom_get_rsrp "LTE" ${lte_rsrp_num})
|
||||||
;;
|
lte_rsrq_num=$(echo "$response" | awk -F',' '{print $14}' | sed 's/\r//g')
|
||||||
"WCDMA"|"UMTS")
|
lte_rsrq=$(fibocom_get_rsrq "LTE" ${lte_rsrq_num})
|
||||||
network_mode="WCDMA Mode"
|
;;
|
||||||
wcdma_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
"WCDMA"|"UMTS")
|
||||||
wcdma_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
network_mode="WCDMA Mode"
|
||||||
wcdma_lac=$(echo "$response" | awk -F',' '{print $5}')
|
wcdma_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||||
wcdma_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
wcdma_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||||
wcdma_uarfcn=$(echo "$response" | awk -F',' '{print $7}')
|
wcdma_lac=$(echo "$response" | awk -F',' '{print $5}')
|
||||||
wcdma_psc=$(echo "$response" | awk -F',' '{print $8}')
|
wcdma_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||||
wcdma_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
wcdma_uarfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||||
wcdma_band=$(fibocom_get_band "WCDMA" ${wcdma_band_num})
|
wcdma_psc=$(echo "$response" | awk -F',' '{print $8}')
|
||||||
wcdma_ecno=$(echo "$response" | awk -F',' '{print $10}')
|
wcdma_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||||
wcdma_rscp=$(echo "$response" | awk -F',' '{print $11}')
|
wcdma_band=$(fibocom_get_band "WCDMA" ${wcdma_band_num})
|
||||||
wcdma_rac=$(echo "$response" | awk -F',' '{print $12}')
|
wcdma_ecno=$(echo "$response" | awk -F',' '{print $10}')
|
||||||
wcdma_rxlev_num=$(echo "$response" | awk -F',' '{print $13}')
|
wcdma_rscp=$(echo "$response" | awk -F',' '{print $11}')
|
||||||
wcdma_rxlev=$(fibocom_get_rxlev "WCDMA" ${wcdma_rxlev_num})
|
wcdma_rac=$(echo "$response" | awk -F',' '{print $12}')
|
||||||
wcdma_reserved=$(echo "$response" | awk -F',' '{print $14}')
|
wcdma_rxlev_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||||
wcdma_ecio_num=$(echo "$response" | awk -F',' '{print $15}' | sed 's/\r//g')
|
wcdma_rxlev=$(fibocom_get_rxlev "WCDMA" ${wcdma_rxlev_num})
|
||||||
wcdma_ecio=$(fibocom_get_ecio ${wcdma_ecio_num})
|
wcdma_reserved=$(echo "$response" | awk -F',' '{print $14}')
|
||||||
;;
|
wcdma_ecio_num=$(echo "$response" | awk -F',' '{print $15}' | sed 's/\r//g')
|
||||||
esac
|
wcdma_ecio=$(fibocom_get_ecio ${wcdma_ecio_num})
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#联发科平台特殊处理(FM350-GL)
|
||||||
|
[[ "$name" = "FM350-GL" ]] && {
|
||||||
|
nr_sinr="${nr_sinr_num}"
|
||||||
|
endc_nr_sinr="${endc_nr_sinr_num}"
|
||||||
|
}
|
||||||
|
|
||||||
|
#只选择第一个,然后退出
|
||||||
|
break
|
||||||
|
}
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ init_modem_info()
|
|||||||
at_port='-' #AT串口
|
at_port='-' #AT串口
|
||||||
mode='unknown' #拨号模式
|
mode='unknown' #拨号模式
|
||||||
temperature="NaN $(printf "\xc2\xb0")C" #温度
|
temperature="NaN $(printf "\xc2\xb0")C" #温度
|
||||||
update_time='-' #更新时间
|
update_time='-' #更新时间
|
||||||
|
|
||||||
#SIM卡信息
|
#SIM卡信息
|
||||||
sim_status="unknown" #SIM卡状态
|
sim_status="unknown" #SIM卡状态
|
||||||
@ -31,9 +31,13 @@ init_modem_info()
|
|||||||
|
|
||||||
#网络信息
|
#网络信息
|
||||||
connect_status="disconnect" #SIM卡状态
|
connect_status="disconnect" #SIM卡状态
|
||||||
network_type="-" #蜂窝网络类型
|
network_type="-" #蜂窝网络类型
|
||||||
tx_rate="-" #上传速率
|
cqi_ul="-" #上行信道质量指示
|
||||||
rx_rate="-" #下载速率
|
cqi_dl="-" #下行信道质量指示
|
||||||
|
ambr_ul="-" #上行签约速率
|
||||||
|
ambr_dl="-" #下行签约速率
|
||||||
|
tx_rate="-" #上传速率
|
||||||
|
rx_rate="-" #下载速率
|
||||||
|
|
||||||
#小区信息
|
#小区信息
|
||||||
network_mode="-" #网络模式
|
network_mode="-" #网络模式
|
||||||
@ -167,6 +171,10 @@ set_network_info()
|
|||||||
{
|
{
|
||||||
network_info="\"network_info\":[
|
network_info="\"network_info\":[
|
||||||
{\"Network Type\":\"$network_type\", \"full_name\":\"Network Type\"},
|
{\"Network Type\":\"$network_type\", \"full_name\":\"Network Type\"},
|
||||||
|
{\"CQI UL\":\"$cqi_ul\", \"full_name\":\"Channel Quality Indicator for Uplink\"},
|
||||||
|
{\"CQI DL\":\"$cqi_dl\", \"full_name\":\"Channel Quality Indicator for Downlink\"},
|
||||||
|
{\"AMBR UL\":\"$ambr_ul\", \"full_name\":\"Access Maximum Bit Rate for Uplink\"},
|
||||||
|
{\"AMBR DL\":\"$ambr_dl\", \"full_name\":\"Access Maximum Bit Rate for Downlink\"},
|
||||||
{\"Tx Rate\":\"$tx_rate\", \"full_name\":\"Transmit Rate\"},
|
{\"Tx Rate\":\"$tx_rate\", \"full_name\":\"Transmit Rate\"},
|
||||||
{\"Rx Rate\":\"$rx_rate\", \"full_name\":\"Receive Rate\"}
|
{\"Rx Rate\":\"$rx_rate\", \"full_name\":\"Receive Rate\"}
|
||||||
],"
|
],"
|
||||||
|
@ -191,8 +191,8 @@ modem_network_task()
|
|||||||
|
|
||||||
#获取AT串口,制造商,平台,连接定义,接口名称
|
#获取AT串口,制造商,平台,连接定义,接口名称
|
||||||
local at_port=$(uci -q get modem.modem${modem_no}.at_port)
|
local at_port=$(uci -q get modem.modem${modem_no}.at_port)
|
||||||
local manufacturer=$(uci -q get modem.modem${modem_no}.manufacturer)
|
local manufacturer=$(uci -q get modem.modem${modem_no}.manufacturer)
|
||||||
local platform=$(uci -q get modem.modem${modem_no}.platform)
|
local platform=$(uci -q get modem.modem${modem_no}.platform)
|
||||||
local define_connect=$(uci -q get modem.modem${modem_no}.define_connect)
|
local define_connect=$(uci -q get modem.modem${modem_no}.define_connect)
|
||||||
local interface_name="wwan_5g_${modem_no}"
|
local interface_name="wwan_5g_${modem_no}"
|
||||||
local interface_name_ipv6="wwan6_5g_${modem_no}"
|
local interface_name_ipv6="wwan6_5g_${modem_no}"
|
||||||
@ -281,6 +281,7 @@ modem_network_task()
|
|||||||
#重新设置网络接口(广和通FM350-GL)
|
#重新设置网络接口(广和通FM350-GL)
|
||||||
if [ "$manufacturer" = "fibocom" ] && [ "$platform" = "mediatek" ]; then
|
if [ "$manufacturer" = "fibocom" ] && [ "$platform" = "mediatek" ]; then
|
||||||
reset_network_interface "${at_port}" "${define_connect}" "${modem_no}"
|
reset_network_interface "${at_port}" "${define_connect}" "${modem_no}"
|
||||||
|
sleep 3s
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ "$mode" != "modemmanager" ] && {
|
[ "$mode" != "modemmanager" ] && {
|
||||||
|
@ -104,6 +104,70 @@
|
|||||||
"data_interface":"usb",
|
"data_interface":"usb",
|
||||||
"define_connect":"1",
|
"define_connect":"1",
|
||||||
"modes":["qmi","gobinet","ecm","mbim","rndis","ncm"]
|
"modes":["qmi","gobinet","ecm","mbim","rndis","ncm"]
|
||||||
|
},
|
||||||
|
"SRM815":{
|
||||||
|
"manufacturer_id":"2dee",
|
||||||
|
"manufacturer":"meig",
|
||||||
|
"platform":"qualcomm",
|
||||||
|
"data_interface":"usb",
|
||||||
|
"define_connect":"1",
|
||||||
|
"modes":["qmi","gobinet","ecm","mbim","rndis"]
|
||||||
|
},
|
||||||
|
"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":{
|
"pcie":{
|
||||||
|
@ -213,8 +213,15 @@ m_add_usb_id()
|
|||||||
|
|
||||||
#如果已经添加则返回
|
#如果已经添加则返回
|
||||||
grep -q "${manufacturer_id} ${product_id}" "${new_id_path}" && return
|
grep -q "${manufacturer_id} ${product_id}" "${new_id_path}" && return
|
||||||
#添加ID
|
|
||||||
echo "${manufacturer_id} ${product_id}" >> "${new_id_path}"
|
while true; do
|
||||||
|
if [ -f "$new_id_path" ]; then
|
||||||
|
#添加ID
|
||||||
|
echo "${manufacturer_id} ${product_id}" >> "${new_id_path}"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
sleep 5s
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
#设置模组硬件配置
|
#设置模组硬件配置
|
||||||
|
@ -491,6 +491,24 @@ quectel_network_info()
|
|||||||
# per=$((csq * 100/31))"%"
|
# per=$((csq * 100/31))"%"
|
||||||
# fi
|
# fi
|
||||||
|
|
||||||
|
#最大比特率,信道质量指示
|
||||||
|
at_command='AT+QNWCFG="nr5g_ambr"'
|
||||||
|
response=$(sh ${SCRIPT_DIR}/modem_at.sh $at_port $at_command | grep "+QNWCFG:")
|
||||||
|
for context in $response; do
|
||||||
|
local apn=$(echo "$context" | awk -F'"' '{print $4}' | tr 'a-z' 'A-Z')
|
||||||
|
if [ -n "$apn" ] && [ "$apn" != "IMS" ]; then
|
||||||
|
#CQL UL(上行信道质量指示)
|
||||||
|
cqi_ul=$(echo "$context" | awk -F',' '{print $5}')
|
||||||
|
#CQI DL(下行信道质量指示)
|
||||||
|
cqi_dl=$(echo "$context" | awk -F',' '{print $3}')
|
||||||
|
#AMBR UL(上行签约速率,单位,Mbps)
|
||||||
|
ambr_ul=$(echo "$context" | awk -F',' '{print $6}' | sed 's/\r//g')
|
||||||
|
#AMBR DL(下行签约速率,单位,Mbps)
|
||||||
|
ambr_dl=$(echo "$context" | awk -F',' '{print $4}')
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
#速率统计
|
#速率统计
|
||||||
at_command='AT+QNWCFG="up/down"'
|
at_command='AT+QNWCFG="up/down"'
|
||||||
response=$(sh ${SCRIPT_DIR}/modem_at.sh $at_port $at_command | grep "+QNWCFG:" | sed 's/+QNWCFG: "up\/down",//g' | sed 's/\r//g')
|
response=$(sh ${SCRIPT_DIR}/modem_at.sh $at_port $at_command | grep "+QNWCFG:" | sed 's/+QNWCFG: "up\/down",//g' | sed 's/\r//g')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user