Merge branch 'main' of https://github.com/Siriling/5G-Modem-Support into main
This commit is contained in:
commit
08bcb35e69
@ -6,10 +6,10 @@ 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.2
|
PKG_VERSION:=1.4.3
|
||||||
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>
|
||||||
LUCI_DEPENDS:=+luci-compat +kmod-usb-net +kmod-usb-net-cdc-ether +kmod-usb-acm \
|
LUCI_DEPENDS:=+luci-compat +kmod-usb-net +kmod-usb-net-cdc-ether +kmod-usb-acm \
|
||||||
+kmod-usb-net-rndis \
|
+kmod-usb-net-rndis \
|
||||||
+kmod-usb-net-sierrawireless +kmod-usb-ohci\
|
+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 \
|
+sms-tool \
|
||||||
+jq +grep +bc\
|
+jq +grep +bc\
|
||||||
|
|
||||||
|
|
||||||
define Package/luci-app-modem/conffiles
|
define Package/luci-app-modem/conffiles
|
||||||
/etc/config/modem
|
/etc/config/modem
|
||||||
endef
|
endef
|
||||||
|
@ -36,7 +36,9 @@
|
|||||||
| 移远通信 | RM520N-CN | 高通 | USB | RMNET,ECM,MBIM,RNDIS,NCM |
|
| 移远通信 | RM520N-CN | 高通 | USB | RMNET,ECM,MBIM,RNDIS,NCM |
|
||||||
| 移远通信 | RM520N-GL | 高通 | USB | RMNET,ECM,MBIM,RNDIS,NCM |
|
| 移远通信 | RM520N-GL | 高通 | USB | RMNET,ECM,MBIM,RNDIS,NCM |
|
||||||
| 移远通信 | RM500Q-GL | 高通 | PCIE | RMNET,MBIM |
|
| 移远通信 | RM500Q-GL | 高通 | PCIE | RMNET,MBIM |
|
||||||
|
| 移远通信 | RG500Q-EA | 高通 | PCIE | RMNET,MBIM |
|
||||||
| 移远通信 | RM502Q-GL | 高通 | PCIE | RMNET,MBIM |
|
| 移远通信 | RM502Q-GL | 高通 | PCIE | RMNET,MBIM |
|
||||||
|
| 移远通信 | RG520N-EU | 高通 | PCIE | RMNET,MBIM |
|
||||||
| 广和通 | FM650-CN | 紫光展锐 | USB | ECM,MBIM,RNDIS,NCM |
|
| 广和通 | FM650-CN | 紫光展锐 | USB | ECM,MBIM,RNDIS,NCM |
|
||||||
| 广和通 | FM350-GL | 联发科 | USB | RNDIS |
|
| 广和通 | FM350-GL | 联发科 | USB | RNDIS |
|
||||||
| 广和通 | FM150-AE-01,FM150-AE-11,FM150-AE-21,FM150-NA-01 | 高通 | USB | RMNET,ECM,MBIM,RNDIS,NCM |
|
| 广和通 | FM150-AE-01,FM150-AE-11,FM150-AE-21,FM150-NA-01 | 高通 | USB | RMNET,ECM,MBIM,RNDIS,NCM |
|
||||||
|
@ -35,6 +35,7 @@ function getMobileNetwork()
|
|||||||
network:value("",translate("Mobile network not found"))
|
network:value("",translate("Mobile network not found"))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
return
|
||||||
-- for i=0,modem_number-1 do
|
-- for i=0,modem_number-1 do
|
||||||
-- --获取模块名
|
-- --获取模块名
|
||||||
-- local modem_name = uci:get('modem','modem'..i,'name')
|
-- local modem_name = uci:get('modem','modem'..i,'name')
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
local d = require "luci.dispatcher"
|
local d = require "luci.dispatcher"
|
||||||
local uci = luci.model.uci.cursor()
|
local uci = luci.model.uci.cursor()
|
||||||
|
local sys = require "luci.sys"
|
||||||
|
|
||||||
m = Map("modem")
|
m = Map("modem")
|
||||||
m.title = translate("Dial Overview")
|
m.title = translate("Dial Overview")
|
||||||
@ -31,9 +32,7 @@ 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
|
||||||
|
|
||||||
|
@ -18,22 +18,42 @@ end
|
|||||||
|
|
||||||
--[[
|
--[[
|
||||||
@Description 获取支持的模组信息
|
@Description 获取支持的模组信息
|
||||||
|
@Params
|
||||||
|
data_interface 数据接口
|
||||||
]]
|
]]
|
||||||
function getSupportModems()
|
function getSupportModems(data_interface)
|
||||||
local command="cat "..script_path.."modem_support.json"
|
local command="cat "..script_path.."modem_support.json"
|
||||||
local result=json.parse(shell(command))
|
local result=json.parse(shell(command))
|
||||||
return result["modem_support"]["usb"]
|
return result["modem_support"][data_interface]
|
||||||
end
|
end
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
@Description 按照制造商给模组分类
|
@Description 按照制造商给模组分类
|
||||||
@Params
|
|
||||||
support_modem 支持的模组
|
|
||||||
]]
|
]]
|
||||||
function getManufacturers(support_modem)
|
function getManufacturers()
|
||||||
|
|
||||||
local manufacturers={}
|
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
|
for modem in pairs(support_modem) do
|
||||||
|
|
||||||
local manufacturer=support_modem[modem]["manufacturer"]
|
local manufacturer=support_modem[modem]["manufacturer"]
|
||||||
@ -103,10 +123,8 @@ name = s:option(ListValue, "name", translate("Modem Name"))
|
|||||||
name.placeholder = translate("Not Null")
|
name.placeholder = translate("Not Null")
|
||||||
name.rmempty = false
|
name.rmempty = false
|
||||||
|
|
||||||
-- 获取支持的模组
|
|
||||||
local support_modem=getSupportModems()
|
|
||||||
-- 按照制造商给模组分类
|
-- 按照制造商给模组分类
|
||||||
local manufacturers=getManufacturers(support_modem)
|
local manufacturers=getManufacturers()
|
||||||
|
|
||||||
for key in pairs(manufacturers) do
|
for key in pairs(manufacturers) do
|
||||||
local modems=manufacturers[key]
|
local modems=manufacturers[key]
|
||||||
|
@ -47,12 +47,6 @@ 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: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"))
|
luci.http.redirect(d.build_url("admin", "network", "modem","plugin_config"))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -6,6 +6,11 @@
|
|||||||
var str="advanced"
|
var str="advanced"
|
||||||
var advanced_element = document.querySelector('div[data-tab="'+str+'"]');
|
var advanced_element = document.querySelector('div[data-tab="'+str+'"]');
|
||||||
|
|
||||||
|
// 适配老版luci(lede)
|
||||||
|
if (advanced_element==null) {
|
||||||
|
advanced_element = document.querySelectorAll('div[id*="'+str+'"]')[0];
|
||||||
|
}
|
||||||
|
|
||||||
//隐藏拨号配置ID元素
|
//隐藏拨号配置ID元素
|
||||||
var dial_config_id_element = advanced_element.lastElementChild;
|
var dial_config_id_element = advanced_element.lastElementChild;
|
||||||
dial_config_id_element.style.display="none";
|
dial_config_id_element.style.display="none";
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -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 {
|
table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-spacing: 10px;
|
border-spacing: 10px;
|
||||||
@ -61,7 +120,6 @@ end
|
|||||||
|
|
||||||
var rate_view;
|
var rate_view;
|
||||||
if (mb>=1) {
|
if (mb>=1) {
|
||||||
console.log(mb);
|
|
||||||
rate_view=mb.toFixed(2)+" MB/s";
|
rate_view=mb.toFixed(2)+" MB/s";
|
||||||
}
|
}
|
||||||
else if (kb>=1) {
|
else if (kb>=1) {
|
||||||
@ -188,216 +246,207 @@ end
|
|||||||
return percent.toFixed(2);
|
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);
|
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"))
|
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"))
|
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"))
|
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";
|
var color="gray";
|
||||||
if (value>=-70)
|
if (value>=-70)
|
||||||
{
|
{
|
||||||
quality="Excellent";
|
signal_info_view.quality="Excellent";
|
||||||
color="limegreen";
|
color="limegreen";
|
||||||
}
|
}
|
||||||
else if (value>=-80&&value<-70)
|
else if (value>=-80&&value<-70)
|
||||||
{
|
{
|
||||||
quality="Good";
|
signal_info_view.quality="Good";
|
||||||
color="lime";
|
color="lime";
|
||||||
}
|
}
|
||||||
else if (value>=-90&&value<-80)
|
else if (value>=-90&&value<-80)
|
||||||
{
|
{
|
||||||
quality="Fair";
|
signal_info_view.quality="Fair";
|
||||||
color="gold";
|
color="gold";
|
||||||
}
|
}
|
||||||
else if (value<-90)
|
else if (value<-90)
|
||||||
{
|
{
|
||||||
quality="Bad";
|
signal_info_view.quality="Bad";
|
||||||
color="red";
|
color="red";
|
||||||
}
|
}
|
||||||
|
|
||||||
rsrp_info_view.percent=percent;
|
signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';';
|
||||||
rsrp_info_view.quality=quality;
|
|
||||||
rsrp_info_view.style='width:'+rsrp_info_view.percent+'%;background-color: '+color+';';
|
|
||||||
|
|
||||||
return rsrp_info_view;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取参考信号接收质量(RSRQ)的信息视图
|
// 获取参考信号接收质量(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"))
|
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"))
|
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"))
|
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";
|
var color="gray";
|
||||||
if (value>=-10)
|
if (value>=-10)
|
||||||
{
|
{
|
||||||
quality="Excellent";
|
signal_info_view.quality="Excellent";
|
||||||
color="limegreen";
|
color="limegreen";
|
||||||
}
|
}
|
||||||
else if (value>=-15&&value<-10)
|
else if (value>=-15&&value<-10)
|
||||||
{
|
{
|
||||||
quality="Good";
|
signal_info_view.quality="Good";
|
||||||
color="lime";
|
color="lime";
|
||||||
}
|
}
|
||||||
else if (value>=-20&&value<-15)
|
else if (value>=-20&&value<-15)
|
||||||
{
|
{
|
||||||
quality="Fair";
|
signal_info_view.quality="Fair";
|
||||||
color="gold";
|
color="gold";
|
||||||
}
|
}
|
||||||
else if (value<-20)
|
else if (value<-20)
|
||||||
{
|
{
|
||||||
quality="Bad";
|
signal_info_view.quality="Bad";
|
||||||
color="red";
|
color="red";
|
||||||
}
|
}
|
||||||
|
|
||||||
rsrq_info_view.percent=percent;
|
signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';';
|
||||||
rsrq_info_view.quality=quality;
|
|
||||||
rsrq_info_view.style='width:'+rsrq_info_view.percent+'%;background-color: '+color+';';
|
|
||||||
|
|
||||||
return rsrq_info_view;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取信噪比(SINR)的信息视图
|
// 获取信噪比(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"))
|
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"))
|
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"))
|
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";
|
var color="gray";
|
||||||
if (value>=25)
|
if (value>=25)
|
||||||
{
|
{
|
||||||
quality="Excellent";
|
signal_info_view.quality="Excellent";
|
||||||
color="limegreen";
|
color="limegreen";
|
||||||
}
|
}
|
||||||
else if (value>=15&&value<25)
|
else if (value>=15&&value<25)
|
||||||
{
|
{
|
||||||
quality="Good";
|
signal_info_view.quality="Good";
|
||||||
color="lime";
|
color="lime";
|
||||||
}
|
}
|
||||||
else if (value>=10&&value<15)
|
else if (value>=10&&value<15)
|
||||||
{
|
{
|
||||||
quality="Fair";
|
signal_info_view.quality="Fair";
|
||||||
color="gold";
|
color="gold";
|
||||||
}
|
}
|
||||||
else if (value<10)
|
else if (value<10)
|
||||||
{
|
{
|
||||||
quality="Bad";
|
signal_info_view.quality="Bad";
|
||||||
color="red";
|
color="red";
|
||||||
}
|
}
|
||||||
|
|
||||||
sinr_info_view.percent=percent;
|
signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';';
|
||||||
sinr_info_view.quality=quality;
|
|
||||||
sinr_info_view.style='width:'+sinr_info_view.percent+'%;background-color: '+color+';';
|
|
||||||
|
|
||||||
return sinr_info_view;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取接收信号功率(RxLev)的信息视图
|
// 获取接收信号功率(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"))
|
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"))
|
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"))
|
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"))
|
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";
|
var color="gray";
|
||||||
if (value>=-70)
|
if (value>=-70)
|
||||||
{
|
{
|
||||||
quality="Excellent";
|
signal_info_view.quality="Excellent";
|
||||||
color="limegreen";
|
color="limegreen";
|
||||||
}
|
}
|
||||||
else if (value>=-80&&value<-70)
|
else if (value>=-80&&value<-70)
|
||||||
{
|
{
|
||||||
quality="Good";
|
signal_info_view.quality="Good";
|
||||||
color="lime";
|
color="lime";
|
||||||
}
|
}
|
||||||
else if (value>=-90&&value<-80)
|
else if (value>=-90&&value<-80)
|
||||||
{
|
{
|
||||||
quality="Fair";
|
signal_info_view.quality="Fair";
|
||||||
color="gold";
|
color="gold";
|
||||||
}
|
}
|
||||||
else if (value<-100)
|
else if (value<-90)
|
||||||
{
|
{
|
||||||
quality="Bad";
|
signal_info_view.quality="Bad";
|
||||||
color="red";
|
color="red";
|
||||||
}
|
}
|
||||||
|
|
||||||
sinr_info_view.percent=percent;
|
signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';';
|
||||||
sinr_info_view.quality=quality;
|
|
||||||
sinr_info_view.style='width:'+sinr_info_view.percent+'%;background-color: '+color+';';
|
|
||||||
|
|
||||||
return sinr_info_view;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取小区信息视图
|
//获取小区信息视图
|
||||||
@ -446,30 +495,35 @@ end
|
|||||||
|
|
||||||
if (key=="RSRP")
|
if (key=="RSRP")
|
||||||
{
|
{
|
||||||
var rsrp_info_view=get_rsrp_info_view(network_type,value);
|
var unit="dBm";
|
||||||
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>';
|
var signal_info_view=get_signal_info_view(network_type,"RSRP",value);
|
||||||
|
// value='<div class="cbi-progressbar" title="'+value+' dBm | '+translation[signal_info_view.quality]+' ('+signal_info_view.percent+'%)"><div style="'+signal_info_view.style+'"></div></div>';
|
||||||
|
value='<div class="signal-view"><div class="signal-percent" style="'+signal_info_view.style+'"><div class="signal-context"><small title="'+value+' '+unit+' | '+translation[signal_info_view.quality]+' ('+signal_info_view.percent+'%)"><div style="'+signal_info_view.style+'">'+value+' dB | '+translation[signal_info_view.quality]+' ('+signal_info_view.percent+'%)</small></div></div></div>';
|
||||||
}
|
}
|
||||||
else if (key=="RxLev")
|
else if (key=="RxLev")
|
||||||
{
|
{
|
||||||
var rxlev_info_view=get_rxlev_info_view(network_type,value);
|
var unit="dBm";
|
||||||
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>';
|
var signal_info_view=get_signal_info_view(network_type,"RxLev",value);
|
||||||
|
value='<div class="signal-view"><div class="signal-percent" style="'+signal_info_view.style+'"><div class="signal-context"><small title="'+value+' '+unit+' | '+translation[signal_info_view.quality]+' ('+signal_info_view.percent+'%)"><div style="'+signal_info_view.style+'">'+value+' dB | '+translation[signal_info_view.quality]+' ('+signal_info_view.percent+'%)</small></div></div></div>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
value=value+" dBm";
|
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")
|
if (key=="RSRQ")
|
||||||
{
|
{
|
||||||
var rsrq_info_view=get_rsrq_info_view(network_type,value);
|
var unit="dB";
|
||||||
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>';
|
var signal_info_view=get_signal_info_view(network_type,"RSRQ",value);
|
||||||
|
value='<div class="signal-view"><div class="signal-percent" style="'+signal_info_view.style+'"><div class="signal-context"><small title="'+value+' '+unit+' | '+translation[signal_info_view.quality]+' ('+signal_info_view.percent+'%)"><div style="'+signal_info_view.style+'">'+value+' dB | '+translation[signal_info_view.quality]+' ('+signal_info_view.percent+'%)</small></div></div></div>';
|
||||||
}
|
}
|
||||||
else if (key=="SINR")
|
else if (key=="SINR")
|
||||||
{
|
{
|
||||||
var sinr_info_view=get_sinr_info_view(network_type,value);
|
var unit="dB";
|
||||||
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>';
|
var signal_info_view=get_signal_info_view(network_type,"SINR",value);
|
||||||
|
value='<div class="signal-view"><div class="signal-percent" style="'+signal_info_view.style+'"><div class="signal-context"><small title="'+value+' '+unit+' | '+translation[signal_info_view.quality]+' ('+signal_info_view.percent+'%)"><div style="'+signal_info_view.style+'">'+value+' dB | '+translation[signal_info_view.quality]+' ('+signal_info_view.percent+'%)</small></div></div></div>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -477,9 +531,9 @@ end
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
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]+' ('+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]+'</td><td class="td left" id="'+key+'">'+value+'</td></tr>';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,6 @@ function modem_scan()
|
|||||||
|
|
||||||
<input class="btn cbi-button cbi-button-apply" type="button" id="modem_scan_button" value="<%:Scan%>" onclick="modem_scan()" alt="<%:Scan%>" title="<%:Scan%>"/>
|
<input class="btn cbi-button cbi-button-apply" type="button" id="modem_scan_button" value="<%:Scan%>" onclick="modem_scan()" alt="<%:Scan%>" title="<%:Scan%>"/>
|
||||||
<div class="cbi-value-description" id="modem_scan_description">
|
<div class="cbi-value-description" id="modem_scan_description">
|
||||||
<%: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%>
|
||||||
</div>
|
</div>
|
||||||
<%+cbi/valuefooter%>
|
<%+cbi/valuefooter%>
|
||||||
|
@ -395,109 +395,112 @@ msgid "WCDMA Mode"
|
|||||||
msgstr "WCDMA 模式"
|
msgstr "WCDMA 模式"
|
||||||
|
|
||||||
msgid "MCC"
|
msgid "MCC"
|
||||||
msgstr "移动国家代码"
|
msgstr "移动国家代码 (MCC)"
|
||||||
|
|
||||||
msgid "MNC"
|
msgid "MNC"
|
||||||
msgstr "移动网络代码"
|
msgstr "移动网络代码 (MNC)"
|
||||||
|
|
||||||
msgid "Duplex Mode"
|
msgid "Duplex Mode"
|
||||||
msgstr "双工模式"
|
msgstr "双工模式 (Duplex Mode)"
|
||||||
|
|
||||||
msgid "LAC"
|
msgid "LAC"
|
||||||
msgstr "位置区码"
|
msgstr "位置区码 (LAC)"
|
||||||
|
|
||||||
msgid "Cell ID"
|
msgid "Cell ID"
|
||||||
msgstr "小区ID"
|
msgstr "小区ID (Cell ID)"
|
||||||
|
|
||||||
msgid "Physical Cell ID"
|
msgid "Physical Cell ID"
|
||||||
msgstr "物理小区ID"
|
msgstr "物理小区ID (Physical Cell ID)"
|
||||||
|
|
||||||
msgid "TAC"
|
msgid "TAC"
|
||||||
msgstr "跟踪区编码"
|
msgstr "跟踪区编码 (TAC)"
|
||||||
|
|
||||||
msgid "ARFCN"
|
msgid "ARFCN"
|
||||||
msgstr "绝对射频信道号"
|
msgstr "绝对射频信道号 (ARFCN)"
|
||||||
|
|
||||||
msgid "EARFCN"
|
msgid "EARFCN"
|
||||||
msgstr "E-UTRA绝对射频信道号"
|
msgstr "E-UTRA绝对射频信道号 (EARFCN)"
|
||||||
|
|
||||||
msgid "UARFCN"
|
msgid "UARFCN"
|
||||||
msgstr "UTRA绝对射频信道号"
|
msgstr "UTRA绝对射频信道号 (UARFCN)"
|
||||||
|
|
||||||
msgid "Band"
|
msgid "Band"
|
||||||
msgstr "频段"
|
msgstr "频段 (Band)"
|
||||||
|
|
||||||
msgid "Freq band indicator"
|
msgid "Freq band indicator"
|
||||||
msgstr "频带指示"
|
msgstr "频带指示 (Freq band indicator)"
|
||||||
|
|
||||||
msgid "UL Bandwidth"
|
msgid "UL Bandwidth"
|
||||||
msgstr "上行带宽"
|
msgstr "上行带宽 (UL Bandwidth)"
|
||||||
|
|
||||||
msgid "DL Bandwidth"
|
msgid "DL Bandwidth"
|
||||||
msgstr "下行带宽"
|
msgstr "下行带宽 (DL Bandwidth)"
|
||||||
|
|
||||||
msgid "RSRP"
|
msgid "RSRP"
|
||||||
msgstr "参考信号接收功率"
|
msgstr "参考信号接收功率 (RSRP)"
|
||||||
|
|
||||||
msgid "RSRQ"
|
msgid "RSRQ"
|
||||||
msgstr "参考信号接收质量"
|
msgstr "参考信号接收质量 (RSRQ)"
|
||||||
|
|
||||||
msgid "RSSI"
|
msgid "RSSI"
|
||||||
msgstr "接收信号强度指示"
|
msgstr "接收信号强度指示 (RSSI)"
|
||||||
|
|
||||||
msgid "SINR"
|
msgid "SINR"
|
||||||
msgstr "信号与干扰加噪声比"
|
msgstr "信号与干扰加噪声比 (SINR)"
|
||||||
|
|
||||||
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 "压缩模式"
|
|
||||||
|
|
||||||
msgid "RxLev"
|
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"
|
msgid "CHN-CMCC"
|
||||||
msgstr "中国移动"
|
msgstr "中国移动"
|
||||||
@ -536,16 +539,16 @@ msgid "46011"
|
|||||||
msgstr "中国电信"
|
msgstr "中国电信"
|
||||||
|
|
||||||
msgid "Excellent"
|
msgid "Excellent"
|
||||||
msgstr "非常好"
|
msgstr "优秀"
|
||||||
|
|
||||||
msgid "Good"
|
msgid "Good"
|
||||||
msgstr "好"
|
msgstr "良好"
|
||||||
|
|
||||||
msgid "Fair"
|
msgid "Fair"
|
||||||
msgstr "一般"
|
msgstr "一般"
|
||||||
|
|
||||||
msgid "Bad"
|
msgid "Bad"
|
||||||
msgstr "差"
|
msgstr "较差"
|
||||||
|
|
||||||
msgid "Plugin Config"
|
msgid "Plugin Config"
|
||||||
msgstr "插件配置"
|
msgstr "插件配置"
|
||||||
@ -562,8 +565,8 @@ msgstr "扫描"
|
|||||||
msgid "Scaning modem..."
|
msgid "Scaning modem..."
|
||||||
msgstr "正在扫描中..."
|
msgstr "正在扫描中..."
|
||||||
|
|
||||||
msgid "The automatic configuration modem is triggered only at startup, otherwise, manual scanning is necessary"
|
msgid "The automatic configuration modem is triggered only at modem startup, otherwise, manual scanning is necessary"
|
||||||
msgstr "自动配置模组只有在启动的时候才会触发,其他情况需要手动点击扫描"
|
msgstr "自动配置模组只有在模组启动的时候才会触发,其他情况需要手动点击扫描"
|
||||||
|
|
||||||
msgid "Manual Configuration"
|
msgid "Manual Configuration"
|
||||||
msgstr "手动配置"
|
msgstr "手动配置"
|
||||||
@ -572,7 +575,7 @@ msgid "Enable the manual configuration of modem information"
|
|||||||
msgstr "启用手动配置模组信息"
|
msgstr "启用手动配置模组信息"
|
||||||
|
|
||||||
msgid "(After enable, the automatic scanning and configuration function for modem information will be disabled)"
|
msgid "(After enable, the automatic scanning and configuration function for modem information will be disabled)"
|
||||||
msgstr "(启用后将禁用自动扫描配置模组信息功能)"
|
msgstr "(启用后将禁用自动扫描并配置模组信息功能)"
|
||||||
|
|
||||||
msgid "Plugin Info"
|
msgid "Plugin Info"
|
||||||
msgstr "插件信息"
|
msgstr "插件信息"
|
||||||
|
@ -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 "上传速率"
|
||||||
|
|
||||||
@ -383,109 +395,112 @@ msgid "WCDMA Mode"
|
|||||||
msgstr "WCDMA 模式"
|
msgstr "WCDMA 模式"
|
||||||
|
|
||||||
msgid "MCC"
|
msgid "MCC"
|
||||||
msgstr "移动国家代码"
|
msgstr "移动国家代码 (MCC)"
|
||||||
|
|
||||||
msgid "MNC"
|
msgid "MNC"
|
||||||
msgstr "移动网络代码"
|
msgstr "移动网络代码 (MNC)"
|
||||||
|
|
||||||
msgid "Duplex Mode"
|
msgid "Duplex Mode"
|
||||||
msgstr "双工模式"
|
msgstr "双工模式 (Duplex Mode)"
|
||||||
|
|
||||||
msgid "LAC"
|
msgid "LAC"
|
||||||
msgstr "位置区码"
|
msgstr "位置区码 (LAC)"
|
||||||
|
|
||||||
msgid "Cell ID"
|
msgid "Cell ID"
|
||||||
msgstr "小区ID"
|
msgstr "小区ID (Cell ID)"
|
||||||
|
|
||||||
msgid "Physical Cell ID"
|
msgid "Physical Cell ID"
|
||||||
msgstr "物理小区ID"
|
msgstr "物理小区ID (Physical Cell ID)"
|
||||||
|
|
||||||
msgid "TAC"
|
msgid "TAC"
|
||||||
msgstr "跟踪区编码"
|
msgstr "跟踪区编码 (TAC)"
|
||||||
|
|
||||||
msgid "ARFCN"
|
msgid "ARFCN"
|
||||||
msgstr "绝对射频信道号"
|
msgstr "绝对射频信道号 (ARFCN)"
|
||||||
|
|
||||||
msgid "EARFCN"
|
msgid "EARFCN"
|
||||||
msgstr "E-UTRA绝对射频信道号"
|
msgstr "E-UTRA绝对射频信道号 (EARFCN)"
|
||||||
|
|
||||||
msgid "UARFCN"
|
msgid "UARFCN"
|
||||||
msgstr "UTRA绝对射频信道号"
|
msgstr "UTRA绝对射频信道号 (UARFCN)"
|
||||||
|
|
||||||
msgid "Band"
|
msgid "Band"
|
||||||
msgstr "频段"
|
msgstr "频段 (Band)"
|
||||||
|
|
||||||
msgid "Freq band indicator"
|
msgid "Freq band indicator"
|
||||||
msgstr "频带指示"
|
msgstr "频带指示 (Freq band indicator)"
|
||||||
|
|
||||||
msgid "UL Bandwidth"
|
msgid "UL Bandwidth"
|
||||||
msgstr "上行带宽"
|
msgstr "上行带宽 (UL Bandwidth)"
|
||||||
|
|
||||||
msgid "DL Bandwidth"
|
msgid "DL Bandwidth"
|
||||||
msgstr "下行带宽"
|
msgstr "下行带宽 (DL Bandwidth)"
|
||||||
|
|
||||||
msgid "RSRP"
|
msgid "RSRP"
|
||||||
msgstr "参考信号接收功率"
|
msgstr "参考信号接收功率 (RSRP)"
|
||||||
|
|
||||||
msgid "RSRQ"
|
msgid "RSRQ"
|
||||||
msgstr "参考信号接收质量"
|
msgstr "参考信号接收质量 (RSRQ)"
|
||||||
|
|
||||||
msgid "RSSI"
|
msgid "RSSI"
|
||||||
msgstr "接收信号强度指示"
|
msgstr "接收信号强度指示 (RSSI)"
|
||||||
|
|
||||||
msgid "SINR"
|
msgid "SINR"
|
||||||
msgstr "信号与干扰加噪声比"
|
msgstr "信号与干扰加噪声比 (SINR)"
|
||||||
|
|
||||||
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 "压缩模式"
|
|
||||||
|
|
||||||
msgid "RxLev"
|
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"
|
msgid "CHN-CMCC"
|
||||||
msgstr "中国移动"
|
msgstr "中国移动"
|
||||||
@ -524,16 +539,16 @@ msgid "46011"
|
|||||||
msgstr "中国电信"
|
msgstr "中国电信"
|
||||||
|
|
||||||
msgid "Excellent"
|
msgid "Excellent"
|
||||||
msgstr "非常好"
|
msgstr "优秀"
|
||||||
|
|
||||||
msgid "Good"
|
msgid "Good"
|
||||||
msgstr "好"
|
msgstr "良好"
|
||||||
|
|
||||||
msgid "Fair"
|
msgid "Fair"
|
||||||
msgstr "一般"
|
msgstr "一般"
|
||||||
|
|
||||||
msgid "Bad"
|
msgid "Bad"
|
||||||
msgstr "差"
|
msgstr "较差"
|
||||||
|
|
||||||
msgid "Plugin Config"
|
msgid "Plugin Config"
|
||||||
msgstr "插件配置"
|
msgstr "插件配置"
|
||||||
@ -550,8 +565,8 @@ msgstr "扫描"
|
|||||||
msgid "Scaning modem..."
|
msgid "Scaning modem..."
|
||||||
msgstr "正在扫描中..."
|
msgstr "正在扫描中..."
|
||||||
|
|
||||||
msgid "The automatic configuration modem is triggered only at startup, otherwise, manual scanning is necessary"
|
msgid "The automatic configuration modem is triggered only at modem startup, otherwise, manual scanning is necessary"
|
||||||
msgstr "自动配置模组只有在启动的时候才会触发,其他情况需要手动点击扫描"
|
msgstr "自动配置模组只有在模组启动的时候才会触发,其他情况需要手动点击扫描"
|
||||||
|
|
||||||
msgid "Manual Configuration"
|
msgid "Manual Configuration"
|
||||||
msgstr "手动配置"
|
msgstr "手动配置"
|
||||||
@ -560,7 +575,7 @@ msgid "Enable the manual configuration of modem information"
|
|||||||
msgstr "启用手动配置模组信息"
|
msgstr "启用手动配置模组信息"
|
||||||
|
|
||||||
msgid "(After enable, the automatic scanning and configuration function for modem information will be disabled)"
|
msgid "(After enable, the automatic scanning and configuration function for modem information will be disabled)"
|
||||||
msgstr "(启用后将禁用自动扫描配置模组信息功能)"
|
msgstr "(启用后将禁用自动扫描并配置模组信息功能)"
|
||||||
|
|
||||||
msgid "Plugin Info"
|
msgid "Plugin Info"
|
||||||
msgstr "插件信息"
|
msgstr "插件信息"
|
||||||
|
@ -197,9 +197,28 @@ set_interface()
|
|||||||
esac
|
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()
|
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_open_instance
|
||||||
procd_set_param command "quectel-CM"
|
procd_set_param command "quectel-CM"
|
||||||
@ -566,19 +585,9 @@ 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" ] && {
|
||||||
@ -618,7 +627,7 @@ dial()
|
|||||||
sleep 5s
|
sleep 5s
|
||||||
done
|
done
|
||||||
|
|
||||||
#查看移动网络是否已经有配置在运行
|
#查看该移动网络是否已经有拨号配置在运行
|
||||||
mkdir -m 0755 -p "${MODEM_RUNDIR}"
|
mkdir -m 0755 -p "${MODEM_RUNDIR}"
|
||||||
if [ ! -f "${MODEM_RUN_CONFIG}" ] || ! grep -q "${network}" "${MODEM_RUN_CONFIG}"; then
|
if [ ! -f "${MODEM_RUN_CONFIG}" ] || ! grep -q "${network}" "${MODEM_RUN_CONFIG}"; then
|
||||||
#文件不存在或者未记录该移动网络
|
#文件不存在或者未记录该移动网络
|
||||||
@ -630,7 +639,7 @@ dial()
|
|||||||
set_interface "${modem_no}" "$network_interface"
|
set_interface "${modem_no}" "$network_interface"
|
||||||
else
|
else
|
||||||
local config_id=$(awk -v network="${network}" -F',' '!/^#/ && $0 ~ network { print $2 }' "${MODEM_RUN_CONFIG}")
|
local config_id=$(awk -v network="${network}" -F',' '!/^#/ && $0 ~ network { print $2 }' "${MODEM_RUN_CONFIG}")
|
||||||
#该移动网络已存在,且已有其他配置运行
|
#该移动网络已存在,且已有其他拨号配置在运行
|
||||||
if [ "$id" != "$config_id" ]; then
|
if [ "$id" != "$config_id" ]; then
|
||||||
uci set modem.$1.enable=0
|
uci set modem.$1.enable=0
|
||||||
uci commit modem
|
uci commit modem
|
||||||
@ -726,6 +735,44 @@ manual_set_modem_config()
|
|||||||
uci commit modem
|
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()
|
service_triggers()
|
||||||
{
|
{
|
||||||
procd_add_reload_trigger "modem"
|
procd_add_reload_trigger "modem"
|
||||||
@ -736,11 +783,20 @@ start_service() {
|
|||||||
if [ "$enable_dial" = "0" ]; then
|
if [ "$enable_dial" = "0" ]; then
|
||||||
stop_service
|
stop_service
|
||||||
else
|
else
|
||||||
|
|
||||||
#加载模组配置
|
#加载模组配置
|
||||||
config_load modem
|
config_load modem
|
||||||
#手动设置模组信息
|
#手动设置模组信息
|
||||||
config_foreach manual_set_modem_config "modem-device"
|
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"
|
config_foreach dial "dial-config"
|
||||||
fi
|
fi
|
||||||
|
@ -54,8 +54,9 @@ init_modem_info()
|
|||||||
nr_rsrp=''
|
nr_rsrp=''
|
||||||
nr_rsrq=''
|
nr_rsrq=''
|
||||||
nr_sinr=''
|
nr_sinr=''
|
||||||
nr_scs=''
|
|
||||||
nr_rxlev=''
|
nr_rxlev=''
|
||||||
|
nr_scs=''
|
||||||
|
nr_srxlev=''
|
||||||
#EN-DC模式(LTE)
|
#EN-DC模式(LTE)
|
||||||
endc_lte_mcc=''
|
endc_lte_mcc=''
|
||||||
endc_lte_mnc=''
|
endc_lte_mnc=''
|
||||||
@ -71,9 +72,10 @@ init_modem_info()
|
|||||||
endc_lte_rsrq=''
|
endc_lte_rsrq=''
|
||||||
endc_lte_rssi=''
|
endc_lte_rssi=''
|
||||||
endc_lte_sinr=''
|
endc_lte_sinr=''
|
||||||
|
endc_lte_rxlev=''
|
||||||
endc_lte_cql=''
|
endc_lte_cql=''
|
||||||
endc_lte_tx_power=''
|
endc_lte_tx_power=''
|
||||||
endc_lte_rxlev=''
|
endc_lte_srxlev=''
|
||||||
#EN-DC模式(NR5G-NSA)
|
#EN-DC模式(NR5G-NSA)
|
||||||
endc_nr_mcc=''
|
endc_nr_mcc=''
|
||||||
endc_nr_mnc=''
|
endc_nr_mnc=''
|
||||||
@ -100,9 +102,10 @@ init_modem_info()
|
|||||||
lte_rsrq=''
|
lte_rsrq=''
|
||||||
lte_rssi=''
|
lte_rssi=''
|
||||||
lte_sinr=''
|
lte_sinr=''
|
||||||
|
lte_rxlev=''
|
||||||
lte_cql=''
|
lte_cql=''
|
||||||
lte_tx_power=''
|
lte_tx_power=''
|
||||||
lte_rxlev=''
|
lte_srxlev=''
|
||||||
#WCDMA模式
|
#WCDMA模式
|
||||||
wcdma_mcc=''
|
wcdma_mcc=''
|
||||||
wcdma_mnc=''
|
wcdma_mnc=''
|
||||||
@ -198,8 +201,9 @@ set_cell_info()
|
|||||||
{\"RSRP\":\"$nr_rsrp\", \"full_name\":\"Reference Signal Received Power\"},
|
{\"RSRP\":\"$nr_rsrp\", \"full_name\":\"Reference Signal Received Power\"},
|
||||||
{\"RSRQ\":\"$nr_rsrq\", \"full_name\":\"Reference Signal Received Quality\"},
|
{\"RSRQ\":\"$nr_rsrq\", \"full_name\":\"Reference Signal Received Quality\"},
|
||||||
{\"SINR\":\"$nr_sinr\", \"full_name\":\"Signal to Interference plus Noise Ratio Bandwidth\"},
|
{\"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\"},
|
{\"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
|
elif [ "$network_mode" = "EN-DC Mode" ]; then
|
||||||
@ -221,10 +225,11 @@ set_cell_info()
|
|||||||
{\"RSRQ\":\"$endc_lte_rsrq\", \"full_name\":\"Reference Signal Received Quality\"},
|
{\"RSRQ\":\"$endc_lte_rsrq\", \"full_name\":\"Reference Signal Received Quality\"},
|
||||||
{\"RSSI\":\"$endc_lte_rssi\", \"full_name\":\"Received Signal Strength Indicator\"},
|
{\"RSSI\":\"$endc_lte_rssi\", \"full_name\":\"Received Signal Strength Indicator\"},
|
||||||
{\"SINR\":\"$endc_lte_sinr\", \"full_name\":\"Signal to Interference plus Noise Ratio Bandwidth\"},
|
{\"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\"},
|
{\"RSSNR\":\"$endc_lte_rssnr\", \"full_name\":\"Radio Signal Strength Noise Ratio\"},
|
||||||
{\"CQI\":\"$endc_lte_cql\", \"full_name\":\"Channel Quality Indicator\"},
|
{\"CQI\":\"$endc_lte_cql\", \"full_name\":\"Channel Quality Indicator\"},
|
||||||
{\"TX Power\":\"$endc_lte_tx_power\", \"full_name\":\"TX Power\"},
|
{\"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\"},
|
{\"RSRQ\":\"$lte_rsrq\", \"full_name\":\"Reference Signal Received Quality\"},
|
||||||
{\"RSSI\":\"$lte_rssi\", \"full_name\":\"Received Signal Strength Indicator\"},
|
{\"RSSI\":\"$lte_rssi\", \"full_name\":\"Received Signal Strength Indicator\"},
|
||||||
{\"SINR\":\"$lte_sinr\", \"full_name\":\"Signal to Interference plus Noise Ratio Bandwidth\"},
|
{\"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\"},
|
{\"RSSNR\":\"$lte_rssnr\", \"full_name\":\"Radio Signal Strength Noise Ratio\"},
|
||||||
{\"CQI\":\"$lte_cql\", \"full_name\":\"Channel Quality Indicator\"},
|
{\"CQI\":\"$lte_cql\", \"full_name\":\"Channel Quality Indicator\"},
|
||||||
{\"TX Power\":\"$lte_tx_power\", \"full_name\":\"TX Power\"},
|
{\"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
|
elif [ "$network_mode" = "WCDMA Mode" ]; then
|
||||||
|
@ -105,7 +105,7 @@
|
|||||||
"define_connect":"1",
|
"define_connect":"1",
|
||||||
"modes":["qmi","gobinet","ecm","mbim","rndis","ncm"]
|
"modes":["qmi","gobinet","ecm","mbim","rndis","ncm"]
|
||||||
},
|
},
|
||||||
"SRM815":{
|
"srm815":{
|
||||||
"manufacturer_id":"2dee",
|
"manufacturer_id":"2dee",
|
||||||
"manufacturer":"meig",
|
"manufacturer":"meig",
|
||||||
"platform":"qualcomm",
|
"platform":"qualcomm",
|
||||||
@ -113,13 +113,65 @@
|
|||||||
"define_connect":"1",
|
"define_connect":"1",
|
||||||
"modes":["qmi","gobinet","ecm","mbim","rndis"]
|
"modes":["qmi","gobinet","ecm","mbim","rndis"]
|
||||||
},
|
},
|
||||||
"SRM825":{
|
"srm825":{
|
||||||
"manufacturer_id":"2dee",
|
"manufacturer_id":"2dee",
|
||||||
"manufacturer":"meig",
|
"manufacturer":"meig",
|
||||||
"platform":"qualcomm",
|
"platform":"qualcomm",
|
||||||
"data_interface":"usb",
|
"data_interface":"usb",
|
||||||
"define_connect":"1",
|
"define_connect":"1",
|
||||||
"modes":["qmi","gobinet","ecm","mbim","rndis"]
|
"modes":["qmi","gobinet","ecm","mbim","rndis"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pcie":{
|
||||||
|
"rm500q-cn":{
|
||||||
|
"manufacturer":"quectel",
|
||||||
|
"platform":"qualcomm",
|
||||||
|
"data_interface":"pcie",
|
||||||
|
"define_connect":"1",
|
||||||
|
"modes":["qmi","gobinet","mbim"]
|
||||||
|
},
|
||||||
|
"rm500q-gl":{
|
||||||
|
"manufacturer":"quectel",
|
||||||
|
"platform":"qualcomm",
|
||||||
|
"data_interface":"pcie",
|
||||||
|
"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":"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",
|
||||||
|
"modes":["qmi","gobinet","mbim"]
|
||||||
|
},
|
||||||
|
"fm350-gl":{
|
||||||
|
"manufacturer":"fibocom",
|
||||||
|
"platform":"mediatek",
|
||||||
|
"data_interface":"pcie",
|
||||||
|
"define_connect":"1",
|
||||||
|
"modes":["mbim"]
|
||||||
|
},
|
||||||
|
"fm150-ae":{
|
||||||
|
"manufacturer":"fibocom",
|
||||||
|
"platform":"qualcomm",
|
||||||
|
"data_interface":"pcie",
|
||||||
|
"define_connect":"1",
|
||||||
|
"modes":["qmi","mbim"]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"device":{
|
"device":{
|
||||||
"quectel":{
|
"quectel":{
|
||||||
@ -169,36 +221,5 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"pcie":{
|
|
||||||
"rm500q-gl":{
|
|
||||||
"manufacturer":"quectel",
|
|
||||||
"platform":"qualcomm",
|
|
||||||
"data_interface":"pcie",
|
|
||||||
"define_connect":"1",
|
|
||||||
"modes":["qmi","gobinet","mbim"]
|
|
||||||
},
|
|
||||||
"rm502q-gl":{
|
|
||||||
"manufacturer":"fibocom",
|
|
||||||
"platform":"qualcomm",
|
|
||||||
"data_interface":"pcie",
|
|
||||||
"define_connect":"1",
|
|
||||||
"modes":["qmi","gobinet","mbim"]
|
|
||||||
},
|
|
||||||
"fm350-gl":{
|
|
||||||
"manufacturer":"fibocom",
|
|
||||||
"platform":"mediatek",
|
|
||||||
"data_interface":"pcie",
|
|
||||||
"define_connect":"1",
|
|
||||||
"modes":["mbim"]
|
|
||||||
},
|
|
||||||
"fm150-ae":{
|
|
||||||
"manufacturer":"fibocom",
|
|
||||||
"platform":"qualcomm",
|
|
||||||
"data_interface":"pcie",
|
|
||||||
"define_connect":"1",
|
|
||||||
"modes":["qmi","mbim"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,23 @@ m_log()
|
|||||||
logger -p "daemon.${level}" -t "Modem[$$]" "hotplug: $*"
|
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事件
|
#上报USB事件
|
||||||
# $1:事件行为(add,remove,bind)
|
# $1:事件行为(add,remove,bind)
|
||||||
# $2:类型
|
# $2:类型
|
||||||
@ -336,6 +353,20 @@ m_set_usb_device()
|
|||||||
fi
|
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:模组序号
|
# $1:模组序号
|
||||||
# $2:AT串口
|
# $2:AT串口
|
||||||
@ -358,22 +389,23 @@ retry_set_modem_config()
|
|||||||
local at_command="AT+CGMM?"
|
local at_command="AT+CGMM?"
|
||||||
local modem_name=$(at ${at_port} ${at_command} | grep "+CGMM: " | awk -F'"' '{print $2}' | tr 'A-Z' 'a-z')
|
local modem_name=$(at ${at_port} ${at_command} | grep "+CGMM: " | awk -F'"' '{print $2}' | tr 'A-Z' 'a-z')
|
||||||
|
|
||||||
|
#再一次获取模组名称
|
||||||
[ -z "$modem_name" ] && {
|
[ -z "$modem_name" ] && {
|
||||||
at_command="AT+CGMM"
|
at_command="AT+CGMM"
|
||||||
modem_name=$(at ${at_port} ${at_command} | sed -n '2p' | sed 's/\r//g' | tr 'A-Z' 'a-z')
|
modem_name=$(at ${at_port} ${at_command} | sed -n '2p' | sed 's/\r//g' | tr 'A-Z' 'a-z')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#处理特殊的模组名称
|
||||||
[ -n "$modem_name" ] && {
|
[ -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 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 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')
|
local manufacturer=$(echo ${modem_info} | jq -r '.manufacturer')
|
||||||
#获取平台
|
#获取平台
|
||||||
|
@ -659,7 +659,7 @@ quectel_cell_info()
|
|||||||
endc_lte_sinr=$(echo "$lte" | awk -F',' '{print $15}')
|
endc_lte_sinr=$(echo "$lte" | awk -F',' '{print $15}')
|
||||||
endc_lte_cql=$(echo "$lte" | awk -F',' '{print $16}')
|
endc_lte_cql=$(echo "$lte" | awk -F',' '{print $16}')
|
||||||
endc_lte_tx_power=$(echo "$lte" | awk -F',' '{print $17}')
|
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
|
#NR5G-NSA
|
||||||
endc_nr_mcc=$(echo "$nr5g_nsa" | awk -F',' '{print $2}')
|
endc_nr_mcc=$(echo "$nr5g_nsa" | awk -F',' '{print $2}')
|
||||||
endc_nr_mnc=$(echo "$nr5g_nsa" | awk -F',' '{print $3}')
|
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_sinr=$(echo "$response" | awk -F',' '{print $15}')
|
||||||
nr_scs_num=$(echo "$response" | awk -F',' '{print $16}')
|
nr_scs_num=$(echo "$response" | awk -F',' '{print $16}')
|
||||||
nr_scs=$(quectel_get_scs $nr_scs_num)
|
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")
|
"LTE"|"CAT-M"|"CAT-NB")
|
||||||
network_mode="LTE Mode"
|
network_mode="LTE Mode"
|
||||||
@ -720,7 +720,7 @@ quectel_cell_info()
|
|||||||
lte_sinr=$(echo "$response" | awk -F',' '{print $17}')
|
lte_sinr=$(echo "$response" | awk -F',' '{print $17}')
|
||||||
lte_cql=$(echo "$response" | awk -F',' '{print $18}')
|
lte_cql=$(echo "$response" | awk -F',' '{print $18}')
|
||||||
lte_tx_power=$(echo "$response" | awk -F',' '{print $19}')
|
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")
|
"WCDMA")
|
||||||
network_mode="WCDMA Mode"
|
network_mode="WCDMA Mode"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user