更新信号界面
This commit is contained in:
parent
8ad7373bf2
commit
ee99695368
applications/luci-app-modem
@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
|
||||
PKG_NAME:=luci-app-modem
|
||||
LUCI_TITLE:=LuCI support for Modem
|
||||
LUCI_PKGARCH:=all
|
||||
PKG_VERSION:=1.4.2
|
||||
PKG_VERSION:=1.4.3
|
||||
PKG_LICENSE:=GPLv3
|
||||
PKG_LINCESE_FILES:=LICENSE
|
||||
PKF_MAINTAINER:=siriling <siriling@qq.com>
|
||||
@ -15,7 +15,7 @@ LUCI_DEPENDS:=+luci-compat \
|
||||
+pciutils \
|
||||
+quectel-CM-5G \
|
||||
+sms-tool \
|
||||
+jq +grep\
|
||||
+jq \
|
||||
|
||||
define Package/luci-app-modem/conffiles
|
||||
/etc/config/modem
|
||||
|
@ -22,6 +22,65 @@ end
|
||||
}
|
||||
} */
|
||||
|
||||
.signal-view {
|
||||
position: relative;
|
||||
min-width: 11rem;
|
||||
height: 1.5rem;
|
||||
margin: 0 0;
|
||||
border: thin solid #999;
|
||||
background: #eee;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.signal-percent {
|
||||
width: 0;
|
||||
height: 100%;
|
||||
/* transition: width .25s ease-in; */
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
/* border-top-right-radius: 4px;
|
||||
border-bottom-right-radius: 4px; */
|
||||
}
|
||||
|
||||
.signal-context{
|
||||
font-family: monospace;
|
||||
/* font-size: 1em; */
|
||||
font-weight: bold;
|
||||
font-size-adjust: .38;
|
||||
line-height: 1.5rem;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
content: attr(title);
|
||||
text-align: center;
|
||||
white-space: pre;
|
||||
text-overflow: ellipsis;
|
||||
/* color:#000000; */
|
||||
}
|
||||
|
||||
.signal-context small{
|
||||
font-family: monospace;
|
||||
/* font-size: 1em; */
|
||||
font-weight: bold;
|
||||
font-size-adjust: .38;
|
||||
line-height: 1.5rem;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
content: attr(title);
|
||||
text-align: center;
|
||||
white-space: pre;
|
||||
text-overflow: ellipsis;
|
||||
/* color:#000000; */
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-spacing: 10px;
|
||||
@ -61,7 +120,6 @@ end
|
||||
|
||||
var rate_view;
|
||||
if (mb>=1) {
|
||||
console.log(mb);
|
||||
rate_view=mb.toFixed(2)+" MB/s";
|
||||
}
|
||||
else if (kb>=1) {
|
||||
@ -148,8 +206,8 @@ end
|
||||
if (value!="-"&&value!="")
|
||||
{
|
||||
//添加单位
|
||||
if (key=="RSSI") {
|
||||
value=value+" dBm";
|
||||
if (key=="AMBR UL"||key=="AMBR DL") {
|
||||
value=value+" Mbps";
|
||||
}
|
||||
else if (key=="Tx Rate"||key=="Rx Rate")
|
||||
{
|
||||
@ -188,216 +246,207 @@ end
|
||||
return percent.toFixed(2);
|
||||
}
|
||||
|
||||
// 获取参考信号接收功率(RSRP)的信息视图
|
||||
function get_rsrp_info_view(network_type,value)
|
||||
{
|
||||
// 获取参考信号的信息视图
|
||||
function get_signal_info_view(network_type,key,value) {
|
||||
value=parseFloat(value);
|
||||
var rsrp_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"};
|
||||
var signal_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"};
|
||||
|
||||
// 获取参考信号接收功率(RSRP)的信息视图'
|
||||
if (key=="RSRP") {
|
||||
set_rsrp_info_view(network_type,value,signal_info_view);
|
||||
}
|
||||
else if (key=="RSRQ") {
|
||||
set_rsrq_info_view(network_type,value,signal_info_view);
|
||||
}
|
||||
else if (key=="SINR") {
|
||||
set_sinr_info_view(network_type,value,signal_info_view);
|
||||
}
|
||||
else if (key=="RxLev") {
|
||||
set_rxlev_info_view(network_type,value,signal_info_view);
|
||||
}
|
||||
|
||||
//添加100%时候的样式
|
||||
if (signal_info_view.percent==100) {
|
||||
signal_info_view.style+="border-top-right-radius: 4px;border-bottom-right-radius: 4px;";
|
||||
}
|
||||
|
||||
return signal_info_view;
|
||||
}
|
||||
|
||||
// 获取参考信号接收功率(RSRP)的信息视图
|
||||
function set_rsrp_info_view(network_type,value,signal_info_view)
|
||||
{
|
||||
// 获取百分比
|
||||
var percent=100;
|
||||
if (network_type.includes("NR"))
|
||||
{
|
||||
percent=get_percent(value,-153,31);
|
||||
signal_info_view.percent=get_percent(value,-153,31);
|
||||
}
|
||||
else if (network_type.includes("LTE"))
|
||||
{
|
||||
percent=get_percent(value,-140,-44);
|
||||
signal_info_view.percent=get_percent(value,-140,-44);
|
||||
}
|
||||
else if (network_type.includes("WCDMA"))
|
||||
{
|
||||
// percent=get_percent(value,-140,-44);
|
||||
// signal_info_view.percent=get_percent(value,-140,-44);
|
||||
}
|
||||
|
||||
// 获取样式
|
||||
var quality="Unknown";
|
||||
var color="gray";
|
||||
if (value>=-70)
|
||||
{
|
||||
quality="Excellent";
|
||||
signal_info_view.quality="Excellent";
|
||||
color="limegreen";
|
||||
}
|
||||
else if (value>=-80&&value<-70)
|
||||
{
|
||||
quality="Good";
|
||||
signal_info_view.quality="Good";
|
||||
color="lime";
|
||||
}
|
||||
else if (value>=-90&&value<-80)
|
||||
{
|
||||
quality="Fair";
|
||||
signal_info_view.quality="Fair";
|
||||
color="gold";
|
||||
}
|
||||
else if (value<-90)
|
||||
{
|
||||
quality="Bad";
|
||||
signal_info_view.quality="Bad";
|
||||
color="red";
|
||||
}
|
||||
|
||||
rsrp_info_view.percent=percent;
|
||||
rsrp_info_view.quality=quality;
|
||||
rsrp_info_view.style='width:'+rsrp_info_view.percent+'%;background-color: '+color+';';
|
||||
|
||||
return rsrp_info_view;
|
||||
signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';';
|
||||
}
|
||||
|
||||
// 获取参考信号接收质量(RSRQ)的信息视图
|
||||
function get_rsrq_info_view(network_type,value)
|
||||
function set_rsrq_info_view(network_type,value,signal_info_view)
|
||||
{
|
||||
value=parseFloat(value);
|
||||
var rsrq_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"};
|
||||
|
||||
// 获取百分比
|
||||
var percent=100;
|
||||
if (network_type.includes("NR"))
|
||||
{
|
||||
percent=get_percent(value,-43,20);
|
||||
signal_info_view.percent=get_percent(value,-43,20);
|
||||
}
|
||||
else if (network_type.includes("LTE"))
|
||||
{
|
||||
percent=get_percent(value,-19.5,-3);
|
||||
signal_info_view.percent=get_percent(value,-19.5,-3);
|
||||
}
|
||||
else if (network_type.includes("WCDMA"))
|
||||
{
|
||||
// percent=get_percent(value,-19.5,-3);
|
||||
// signal_info_view.percent=get_percent(value,-19.5,-3);
|
||||
}
|
||||
|
||||
// 获取样式
|
||||
var quality="Unknown";
|
||||
var color="gray";
|
||||
if (value>=-10)
|
||||
{
|
||||
quality="Excellent";
|
||||
signal_info_view.quality="Excellent";
|
||||
color="limegreen";
|
||||
}
|
||||
else if (value>=-15&&value<-10)
|
||||
{
|
||||
quality="Good";
|
||||
signal_info_view.quality="Good";
|
||||
color="lime";
|
||||
}
|
||||
else if (value>=-20&&value<-15)
|
||||
{
|
||||
quality="Fair";
|
||||
signal_info_view.quality="Fair";
|
||||
color="gold";
|
||||
}
|
||||
else if (value<-20)
|
||||
{
|
||||
quality="Bad";
|
||||
signal_info_view.quality="Bad";
|
||||
color="red";
|
||||
}
|
||||
|
||||
rsrq_info_view.percent=percent;
|
||||
rsrq_info_view.quality=quality;
|
||||
rsrq_info_view.style='width:'+rsrq_info_view.percent+'%;background-color: '+color+';';
|
||||
|
||||
return rsrq_info_view;
|
||||
signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';';
|
||||
}
|
||||
|
||||
// 获取信噪比(SINR)的信息视图
|
||||
function get_sinr_info_view(network_type,value)
|
||||
function set_sinr_info_view(network_type,value,signal_info_view)
|
||||
{
|
||||
value=parseFloat(value);
|
||||
var sinr_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"};
|
||||
|
||||
// 获取百分比
|
||||
var percent=100;
|
||||
if (network_type.includes("NR"))
|
||||
{
|
||||
percent=get_percent(value,-23,40);
|
||||
signal_info_view.percent=get_percent(value,-23,40);
|
||||
}
|
||||
else if (network_type.includes("LTE"))
|
||||
{
|
||||
percent=get_percent(value,-20,-30);
|
||||
signal_info_view.percent=get_percent(value,-20,-30);
|
||||
}
|
||||
else if (network_type.includes("WCDMA"))
|
||||
{
|
||||
// percent=get_percent(value,-20,-30);
|
||||
// signal_info_view.percent=get_percent(value,-20,-30);
|
||||
}
|
||||
|
||||
// 获取样式
|
||||
var quality="Unknown";
|
||||
var color="gray";
|
||||
if (value>=25)
|
||||
{
|
||||
quality="Excellent";
|
||||
signal_info_view.quality="Excellent";
|
||||
color="limegreen";
|
||||
}
|
||||
else if (value>=15&&value<25)
|
||||
{
|
||||
quality="Good";
|
||||
signal_info_view.quality="Good";
|
||||
color="lime";
|
||||
}
|
||||
else if (value>=-10&&value<15)
|
||||
else if (value>=10&&value<15)
|
||||
{
|
||||
quality="Fair";
|
||||
signal_info_view.quality="Fair";
|
||||
color="gold";
|
||||
}
|
||||
else if (value<10)
|
||||
{
|
||||
quality="Bad";
|
||||
signal_info_view.quality="Bad";
|
||||
color="red";
|
||||
}
|
||||
|
||||
sinr_info_view.percent=percent;
|
||||
sinr_info_view.quality=quality;
|
||||
sinr_info_view.style='width:'+sinr_info_view.percent+'%;background-color: '+color+';';
|
||||
|
||||
return sinr_info_view;
|
||||
signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';';
|
||||
}
|
||||
|
||||
// 获取接收信号功率(RxLev)的信息视图
|
||||
function get_rxlev_info_view(network_type,value)
|
||||
function set_rxlev_info_view(network_type,value,signal_info_view)
|
||||
{
|
||||
value=parseFloat(value);
|
||||
var sinr_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"};
|
||||
|
||||
// 获取百分比
|
||||
var percent=100;
|
||||
if (network_type.includes("NR"))
|
||||
{
|
||||
percent=get_percent(value,-153,31);
|
||||
signal_info_view.percent=get_percent(value,-153,31);
|
||||
}
|
||||
else if (network_type.includes("LTE"))
|
||||
{
|
||||
percent=get_percent(value,-140,-44);
|
||||
signal_info_view.percent=get_percent(value,-140,-44);
|
||||
}
|
||||
else if (network_type.includes("WCDMA"))
|
||||
{
|
||||
percent=get_percent(value,-120,-25);
|
||||
signal_info_view.percent=get_percent(value,-120,-25);
|
||||
}
|
||||
else if (network_type.includes("GSM"))
|
||||
{
|
||||
percent=get_percent(value,-110,-48);
|
||||
signal_info_view.percent=get_percent(value,-110,-48);
|
||||
}
|
||||
|
||||
// 获取样式
|
||||
var quality="Unknown";
|
||||
var color="gray";
|
||||
if (value>=-70)
|
||||
{
|
||||
quality="Excellent";
|
||||
signal_info_view.quality="Excellent";
|
||||
color="limegreen";
|
||||
}
|
||||
else if (value>=-80&&value<-70)
|
||||
{
|
||||
quality="Good";
|
||||
signal_info_view.quality="Good";
|
||||
color="lime";
|
||||
}
|
||||
else if (value>=-90&&value<-80)
|
||||
{
|
||||
quality="Fair";
|
||||
signal_info_view.quality="Fair";
|
||||
color="gold";
|
||||
}
|
||||
else if (value<-100)
|
||||
else if (value<-90)
|
||||
{
|
||||
quality="Bad";
|
||||
signal_info_view.quality="Bad";
|
||||
color="red";
|
||||
}
|
||||
|
||||
sinr_info_view.percent=percent;
|
||||
sinr_info_view.quality=quality;
|
||||
sinr_info_view.style='width:'+sinr_info_view.percent+'%;background-color: '+color+';';
|
||||
|
||||
return sinr_info_view;
|
||||
signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';';
|
||||
}
|
||||
|
||||
//获取小区信息视图
|
||||
@ -446,13 +495,16 @@ end
|
||||
|
||||
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>';
|
||||
var unit="dBm";
|
||||
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")
|
||||
{
|
||||
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>';
|
||||
var unit="dBm";
|
||||
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
|
||||
{
|
||||
@ -463,13 +515,15 @@ end
|
||||
|
||||
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>';
|
||||
var unit="dB";
|
||||
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")
|
||||
{
|
||||
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>';
|
||||
var unit="dB";
|
||||
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
|
||||
{
|
||||
@ -479,7 +533,7 @@ end
|
||||
else if (key=="SCS") {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
@ -352,6 +352,18 @@ msgstr "网络信息"
|
||||
msgid "Network Type"
|
||||
msgstr "网络类型"
|
||||
|
||||
msgid "CQI UL"
|
||||
msgstr "上行信道质量指示"
|
||||
|
||||
msgid "CQI DL"
|
||||
msgstr "下行信道质量指示"
|
||||
|
||||
msgid "AMBR UL"
|
||||
msgstr "上行访问最大比特率"
|
||||
|
||||
msgid "AMBR DL"
|
||||
msgstr "下行访问最大比特率"
|
||||
|
||||
msgid "Tx Rate"
|
||||
msgstr "上传速率"
|
||||
|
||||
|
@ -121,6 +121,13 @@ set_ipv4_interface()
|
||||
local interface_name="$1"
|
||||
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}.proto='dhcp'
|
||||
@ -287,10 +294,6 @@ modemmanager()
|
||||
|
||||
qmi()
|
||||
{
|
||||
#设置网络接口
|
||||
local network_interface=$(uci -q get modem.modem${modem_no}.network_interface)
|
||||
set_interface "${modem_no}" "$network_interface"
|
||||
|
||||
#选择拨号工具
|
||||
case $dial_tool in
|
||||
"quectel-CM") quectel_cm ;;
|
||||
@ -302,11 +305,6 @@ qmi()
|
||||
|
||||
gobinet()
|
||||
{
|
||||
#获取网络接口
|
||||
local network_interface=$(uci -q get modem.modem${modem_no}.network_interface)
|
||||
#设置网络接口
|
||||
set_interface "${modem_no}" "$network_interface"
|
||||
|
||||
#拨号
|
||||
procd_open_instance
|
||||
procd_set_param command sh ${SCRIPT_DIR}/modem_network_task.sh "${id}" "${modem_no}" "gobinet"
|
||||
@ -316,11 +314,6 @@ gobinet()
|
||||
|
||||
ecm()
|
||||
{
|
||||
#获取网络接口
|
||||
local network_interface=$(uci -q get modem.modem${modem_no}.network_interface)
|
||||
#设置网络接口
|
||||
set_interface "${modem_no}" "$network_interface"
|
||||
|
||||
#拨号
|
||||
procd_open_instance
|
||||
procd_set_param command sh ${SCRIPT_DIR}/modem_network_task.sh "${id}" "${modem_no}" "ecm"
|
||||
@ -335,11 +328,6 @@ mbim()
|
||||
|
||||
rndis()
|
||||
{
|
||||
#获取网络接口
|
||||
local network_interface=$(uci -q get modem.modem${modem_no}.network_interface)
|
||||
#设置网络接口
|
||||
set_interface "${modem_no}" "$network_interface"
|
||||
|
||||
#拨号
|
||||
procd_open_instance
|
||||
procd_set_param command sh ${SCRIPT_DIR}/modem_network_task.sh "${id}" "${modem_no}" "rndis"
|
||||
@ -632,8 +620,15 @@ dial()
|
||||
|
||||
#查看移动网络是否已经有配置在运行
|
||||
mkdir -m 0755 -p "${MODEM_RUNDIR}"
|
||||
if [ -f "${MODEM_RUN_CONFIG}" ]; then #文件存在
|
||||
if grep -q "${network}" "${MODEM_RUN_CONFIG}"; then #是否记录该移动网络
|
||||
if [ ! -f "${MODEM_RUN_CONFIG}" ] || ! grep -q "${network}" "${MODEM_RUN_CONFIG}"; then
|
||||
#文件不存在或者未记录该移动网络
|
||||
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
|
||||
@ -641,11 +636,6 @@ dial()
|
||||
uci commit modem
|
||||
return 0
|
||||
fi
|
||||
else
|
||||
echo "${network},${id}" >> "${MODEM_RUN_CONFIG}"
|
||||
fi
|
||||
else
|
||||
echo "${network},${id}" >> "${MODEM_RUN_CONFIG}"
|
||||
fi
|
||||
|
||||
#设置网络预设
|
||||
|
@ -698,7 +698,9 @@ fibocom_cell_info()
|
||||
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
|
||||
"NR")
|
||||
@ -805,6 +807,17 @@ fibocom_cell_info()
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
|
@ -32,6 +32,10 @@ init_modem_info()
|
||||
#网络信息
|
||||
connect_status="disconnect" #SIM卡状态
|
||||
network_type="-" #蜂窝网络类型
|
||||
cqi_ul="-" #上行信道质量指示
|
||||
cqi_dl="-" #下行信道质量指示
|
||||
ambr_ul="-" #上行签约速率
|
||||
ambr_dl="-" #下行签约速率
|
||||
tx_rate="-" #上传速率
|
||||
rx_rate="-" #下载速率
|
||||
|
||||
@ -167,6 +171,10 @@ set_network_info()
|
||||
{
|
||||
network_info="\"network_info\":[
|
||||
{\"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\"},
|
||||
{\"Rx Rate\":\"$rx_rate\", \"full_name\":\"Receive Rate\"}
|
||||
],"
|
||||
|
@ -281,6 +281,7 @@ modem_network_task()
|
||||
#重新设置网络接口(广和通FM350-GL)
|
||||
if [ "$manufacturer" = "fibocom" ] && [ "$platform" = "mediatek" ]; then
|
||||
reset_network_interface "${at_port}" "${define_connect}" "${modem_no}"
|
||||
sleep 3s
|
||||
fi
|
||||
|
||||
[ "$mode" != "modemmanager" ] && {
|
||||
|
@ -120,6 +120,37 @@
|
||||
"data_interface":"usb",
|
||||
"define_connect":"1",
|
||||
"modes":["qmi","gobinet","ecm","mbim","rndis"]
|
||||
}
|
||||
},
|
||||
"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"]
|
||||
}
|
||||
},
|
||||
"device":{
|
||||
"quectel":{
|
||||
@ -169,36 +200,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"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -213,8 +213,15 @@ m_add_usb_id()
|
||||
|
||||
#如果已经添加则返回
|
||||
grep -q "${manufacturer_id} ${product_id}" "${new_id_path}" && return
|
||||
|
||||
while true; do
|
||||
if [ -f "$new_id_path" ]; then
|
||||
#添加ID
|
||||
echo "${manufacturer_id} ${product_id}" >> "${new_id_path}"
|
||||
break
|
||||
fi
|
||||
sleep 5s
|
||||
done
|
||||
}
|
||||
|
||||
#设置模组硬件配置
|
||||
@ -329,6 +336,20 @@ m_set_usb_device()
|
||||
fi
|
||||
}
|
||||
|
||||
#处理特殊的模组名称
|
||||
# $1:模组名称
|
||||
handle_special_modem_name()
|
||||
{
|
||||
local modem_name="$1"
|
||||
|
||||
#FM350-GL-00 5G Module
|
||||
[[ "$modem_name" = *"fm350-gl"* ]] && {
|
||||
modem_name="fm350-gl"
|
||||
}
|
||||
|
||||
echo "$modem_name"
|
||||
}
|
||||
|
||||
#重新尝试设置模组
|
||||
# $1:模组序号
|
||||
# $2:AT串口
|
||||
@ -351,22 +372,23 @@ retry_set_modem_config()
|
||||
local at_command="AT+CGMM?"
|
||||
local modem_name=$(at ${at_port} ${at_command} | grep "+CGMM: " | awk -F'"' '{print $2}' | tr 'A-Z' 'a-z')
|
||||
|
||||
#再一次获取模组名称
|
||||
[ -z "$modem_name" ] && {
|
||||
at_command="AT+CGMM"
|
||||
modem_name=$(at ${at_port} ${at_command} | sed -n '2p' | sed 's/\r//g' | tr 'A-Z' 'a-z')
|
||||
}
|
||||
|
||||
#处理特殊的模组名称
|
||||
[ -n "$modem_name" ] && {
|
||||
|
||||
#特殊处理FM350-GL-00 5G Module
|
||||
[[ "$modem_name" = *"fm350-gl"* ]] && {
|
||||
modem_name="fm350-gl"
|
||||
modem_name="$(handle_special_modem_name ${modem_name})"
|
||||
}
|
||||
|
||||
#获取模组信息
|
||||
local data_interface=$(uci -q get modem.modem${modem_no}.data_interface)
|
||||
local modem_info=$(echo ${modem_support} | jq '.modem_support.'$data_interface'."'$modem_name'"')
|
||||
|
||||
[ -n "$modem_name" ] && [ "$modem_info" != "null" ] && {
|
||||
|
||||
#获取制造商
|
||||
local manufacturer=$(echo ${modem_info} | jq -r '.manufacturer')
|
||||
#获取平台
|
||||
|
@ -491,6 +491,24 @@ quectel_network_info()
|
||||
# per=$((csq * 100/31))"%"
|
||||
# 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"'
|
||||
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