更新信号界面
This commit is contained in:
parent
8ad7373bf2
commit
ee99695368
@ -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,20 +620,22 @@ dial()
|
||||
|
||||
#查看移动网络是否已经有配置在运行
|
||||
mkdir -m 0755 -p "${MODEM_RUNDIR}"
|
||||
if [ -f "${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
|
||||
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
|
||||
uci set modem.$1.enable=0
|
||||
uci commit modem
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
#设置网络预设
|
||||
|
@ -698,113 +698,126 @@ fibocom_cell_info()
|
||||
rat=$(fibocom_get_rat ${rat_num})
|
||||
}
|
||||
|
||||
response=$(echo "$response" | sed -n '4p')
|
||||
|
||||
case $rat in
|
||||
"NR")
|
||||
network_mode="NR5G-SA Mode"
|
||||
nr_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||
nr_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||
nr_tac=$(echo "$response" | awk -F',' '{print $5}')
|
||||
nr_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||
nr_arfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||
nr_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
||||
nr_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||
nr_band=$(fibocom_get_band "NR" ${nr_band_num})
|
||||
nr_dl_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
||||
nr_dl_bandwidth=$(fibocom_get_nr_dl_bandwidth ${nr_dl_bandwidth_num})
|
||||
nr_sinr_num=$(echo "$response" | awk -F',' '{print $11}')
|
||||
nr_sinr=$(fibocom_get_sinr_num "NR" ${nr_sinr_num})
|
||||
nr_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
||||
nr_rxlev=$(fibocom_get_rxlev "NR" ${nr_rxlev_num})
|
||||
nr_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||
nr_rsrp=$(fibocom_get_rsrp "NR" ${nr_rsrp_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
|
||||
endc_lte_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||
endc_lte_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||
endc_lte_tac=$(echo "$response" | awk -F',' '{print $5}')
|
||||
endc_lte_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||
endc_lte_earfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||
endc_lte_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
||||
endc_lte_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||
endc_lte_band=$(fibocom_get_band "LTE" ${endc_lte_band_num})
|
||||
ul_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
||||
endc_lte_ul_bandwidth=$(fibocom_get_ul_bandwidth ${ul_bandwidth_num})
|
||||
endc_lte_dl_bandwidth="$endc_lte_ul_bandwidth"
|
||||
endc_lte_rssnr_num=$(echo "$response" | awk -F',' '{print $11}')
|
||||
endc_lte_rssnr=$(fibocom_get_rssnr ${endc_lte_rssnr_num})
|
||||
endc_lte_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
||||
endc_lte_rxlev=$(fibocom_get_rxlev "LTE" ${endc_lte_rxlev_num})
|
||||
endc_lte_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||
endc_lte_rsrp=$(fibocom_get_rsrp "LTE" ${endc_lte_rsrp_num})
|
||||
endc_lte_rsrq_num=$(echo "$response" | awk -F',' '{print $14}' | sed 's/\r//g')
|
||||
endc_lte_rsrq=$(fibocom_get_rsrq "LTE" ${endc_lte_rsrq_num})
|
||||
#NR5G-NSA
|
||||
endc_nr_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||
endc_nr_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||
endc_nr_tac=$(echo "$response" | awk -F',' '{print $5}')
|
||||
endc_nr_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||
endc_nr_arfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||
endc_nr_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
||||
endc_nr_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||
endc_nr_band=$(fibocom_get_band "NR" ${endc_nr_band_num})
|
||||
nr_dl_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
||||
endc_nr_dl_bandwidth=$(fibocom_get_nr_dl_bandwidth ${nr_dl_bandwidth_num})
|
||||
endc_nr_sinr_num=$(echo "$response" | awk -F',' '{print $11}')
|
||||
endc_nr_sinr=$(fibocom_get_sinr_num "NR" ${endc_nr_sinr_num})
|
||||
endc_nr_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
||||
endc_nr_rxlev=$(fibocom_get_rxlev "NR" ${endc_nr_rxlev_num})
|
||||
endc_nr_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||
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')
|
||||
endc_nr_rsrq=$(fibocom_get_rsrq "NR" ${endc_nr_rsrq_num})
|
||||
;;
|
||||
"LTE"|"eMTC"|"NB-IoT")
|
||||
network_mode="LTE Mode"
|
||||
lte_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||
lte_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||
lte_tac=$(echo "$response" | awk -F',' '{print $5}')
|
||||
lte_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||
lte_earfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||
lte_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
||||
lte_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||
lte_band=$(fibocom_get_band "LTE" ${lte_band_num})
|
||||
ul_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
||||
lte_ul_bandwidth=$(fibocom_get_ul_bandwidth ${ul_bandwidth_num})
|
||||
lte_dl_bandwidth="$lte_ul_bandwidth"
|
||||
lte_rssnr=$(echo "$response" | awk -F',' '{print $11}')
|
||||
lte_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
||||
lte_rxlev=$(fibocom_get_rxlev "LTE" ${lte_rxlev_num})
|
||||
lte_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||
lte_rsrp=$(fibocom_get_rsrp "LTE" ${lte_rsrp_num})
|
||||
lte_rsrq_num=$(echo "$response" | awk -F',' '{print $14}' | sed 's/\r//g')
|
||||
lte_rsrq=$(fibocom_get_rsrq "LTE" ${lte_rsrq_num})
|
||||
;;
|
||||
"WCDMA"|"UMTS")
|
||||
network_mode="WCDMA Mode"
|
||||
wcdma_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||
wcdma_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||
wcdma_lac=$(echo "$response" | awk -F',' '{print $5}')
|
||||
wcdma_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||
wcdma_uarfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||
wcdma_psc=$(echo "$response" | awk -F',' '{print $8}')
|
||||
wcdma_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||
wcdma_band=$(fibocom_get_band "WCDMA" ${wcdma_band_num})
|
||||
wcdma_ecno=$(echo "$response" | awk -F',' '{print $10}')
|
||||
wcdma_rscp=$(echo "$response" | awk -F',' '{print $11}')
|
||||
wcdma_rac=$(echo "$response" | awk -F',' '{print $12}')
|
||||
wcdma_rxlev_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||
wcdma_rxlev=$(fibocom_get_rxlev "WCDMA" ${wcdma_rxlev_num})
|
||||
wcdma_reserved=$(echo "$response" | awk -F',' '{print $14}')
|
||||
wcdma_ecio_num=$(echo "$response" | awk -F',' '{print $15}' | sed 's/\r//g')
|
||||
wcdma_ecio=$(fibocom_get_ecio ${wcdma_ecio_num})
|
||||
;;
|
||||
esac
|
||||
for response in $response; do
|
||||
#排除+GTCCINFO:、NR service cell:还有空行
|
||||
[ -n "$response" ] && [[ "$response" = *","* ]] && {
|
||||
|
||||
case $rat in
|
||||
"NR")
|
||||
network_mode="NR5G-SA Mode"
|
||||
nr_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||
nr_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||
nr_tac=$(echo "$response" | awk -F',' '{print $5}')
|
||||
nr_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||
nr_arfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||
nr_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
||||
nr_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||
nr_band=$(fibocom_get_band "NR" ${nr_band_num})
|
||||
nr_dl_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
||||
nr_dl_bandwidth=$(fibocom_get_nr_dl_bandwidth ${nr_dl_bandwidth_num})
|
||||
nr_sinr_num=$(echo "$response" | awk -F',' '{print $11}')
|
||||
nr_sinr=$(fibocom_get_sinr_num "NR" ${nr_sinr_num})
|
||||
nr_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
||||
nr_rxlev=$(fibocom_get_rxlev "NR" ${nr_rxlev_num})
|
||||
nr_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||
nr_rsrp=$(fibocom_get_rsrp "NR" ${nr_rsrp_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
|
||||
endc_lte_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||
endc_lte_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||
endc_lte_tac=$(echo "$response" | awk -F',' '{print $5}')
|
||||
endc_lte_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||
endc_lte_earfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||
endc_lte_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
||||
endc_lte_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||
endc_lte_band=$(fibocom_get_band "LTE" ${endc_lte_band_num})
|
||||
ul_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
||||
endc_lte_ul_bandwidth=$(fibocom_get_ul_bandwidth ${ul_bandwidth_num})
|
||||
endc_lte_dl_bandwidth="$endc_lte_ul_bandwidth"
|
||||
endc_lte_rssnr_num=$(echo "$response" | awk -F',' '{print $11}')
|
||||
endc_lte_rssnr=$(fibocom_get_rssnr ${endc_lte_rssnr_num})
|
||||
endc_lte_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
||||
endc_lte_rxlev=$(fibocom_get_rxlev "LTE" ${endc_lte_rxlev_num})
|
||||
endc_lte_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||
endc_lte_rsrp=$(fibocom_get_rsrp "LTE" ${endc_lte_rsrp_num})
|
||||
endc_lte_rsrq_num=$(echo "$response" | awk -F',' '{print $14}' | sed 's/\r//g')
|
||||
endc_lte_rsrq=$(fibocom_get_rsrq "LTE" ${endc_lte_rsrq_num})
|
||||
#NR5G-NSA
|
||||
endc_nr_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||
endc_nr_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||
endc_nr_tac=$(echo "$response" | awk -F',' '{print $5}')
|
||||
endc_nr_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||
endc_nr_arfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||
endc_nr_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
||||
endc_nr_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||
endc_nr_band=$(fibocom_get_band "NR" ${endc_nr_band_num})
|
||||
nr_dl_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
||||
endc_nr_dl_bandwidth=$(fibocom_get_nr_dl_bandwidth ${nr_dl_bandwidth_num})
|
||||
endc_nr_sinr_num=$(echo "$response" | awk -F',' '{print $11}')
|
||||
endc_nr_sinr=$(fibocom_get_sinr_num "NR" ${endc_nr_sinr_num})
|
||||
endc_nr_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
||||
endc_nr_rxlev=$(fibocom_get_rxlev "NR" ${endc_nr_rxlev_num})
|
||||
endc_nr_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||
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')
|
||||
endc_nr_rsrq=$(fibocom_get_rsrq "NR" ${endc_nr_rsrq_num})
|
||||
;;
|
||||
"LTE"|"eMTC"|"NB-IoT")
|
||||
network_mode="LTE Mode"
|
||||
lte_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||
lte_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||
lte_tac=$(echo "$response" | awk -F',' '{print $5}')
|
||||
lte_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||
lte_earfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||
lte_physical_cell_id=$(echo "$response" | awk -F',' '{print $8}')
|
||||
lte_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||
lte_band=$(fibocom_get_band "LTE" ${lte_band_num})
|
||||
ul_bandwidth_num=$(echo "$response" | awk -F',' '{print $10}')
|
||||
lte_ul_bandwidth=$(fibocom_get_ul_bandwidth ${ul_bandwidth_num})
|
||||
lte_dl_bandwidth="$lte_ul_bandwidth"
|
||||
lte_rssnr=$(echo "$response" | awk -F',' '{print $11}')
|
||||
lte_rxlev_num=$(echo "$response" | awk -F',' '{print $12}')
|
||||
lte_rxlev=$(fibocom_get_rxlev "LTE" ${lte_rxlev_num})
|
||||
lte_rsrp_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||
lte_rsrp=$(fibocom_get_rsrp "LTE" ${lte_rsrp_num})
|
||||
lte_rsrq_num=$(echo "$response" | awk -F',' '{print $14}' | sed 's/\r//g')
|
||||
lte_rsrq=$(fibocom_get_rsrq "LTE" ${lte_rsrq_num})
|
||||
;;
|
||||
"WCDMA"|"UMTS")
|
||||
network_mode="WCDMA Mode"
|
||||
wcdma_mcc=$(echo "$response" | awk -F',' '{print $3}')
|
||||
wcdma_mnc=$(echo "$response" | awk -F',' '{print $4}')
|
||||
wcdma_lac=$(echo "$response" | awk -F',' '{print $5}')
|
||||
wcdma_cell_id=$(echo "$response" | awk -F',' '{print $6}')
|
||||
wcdma_uarfcn=$(echo "$response" | awk -F',' '{print $7}')
|
||||
wcdma_psc=$(echo "$response" | awk -F',' '{print $8}')
|
||||
wcdma_band_num=$(echo "$response" | awk -F',' '{print $9}')
|
||||
wcdma_band=$(fibocom_get_band "WCDMA" ${wcdma_band_num})
|
||||
wcdma_ecno=$(echo "$response" | awk -F',' '{print $10}')
|
||||
wcdma_rscp=$(echo "$response" | awk -F',' '{print $11}')
|
||||
wcdma_rac=$(echo "$response" | awk -F',' '{print $12}')
|
||||
wcdma_rxlev_num=$(echo "$response" | awk -F',' '{print $13}')
|
||||
wcdma_rxlev=$(fibocom_get_rxlev "WCDMA" ${wcdma_rxlev_num})
|
||||
wcdma_reserved=$(echo "$response" | awk -F',' '{print $14}')
|
||||
wcdma_ecio_num=$(echo "$response" | awk -F',' '{print $15}' | sed 's/\r//g')
|
||||
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串口
|
||||
mode='unknown' #拨号模式
|
||||
temperature="NaN $(printf "\xc2\xb0")C" #温度
|
||||
update_time='-' #更新时间
|
||||
update_time='-' #更新时间
|
||||
|
||||
#SIM卡信息
|
||||
sim_status="unknown" #SIM卡状态
|
||||
@ -31,9 +31,13 @@ init_modem_info()
|
||||
|
||||
#网络信息
|
||||
connect_status="disconnect" #SIM卡状态
|
||||
network_type="-" #蜂窝网络类型
|
||||
tx_rate="-" #上传速率
|
||||
rx_rate="-" #下载速率
|
||||
network_type="-" #蜂窝网络类型
|
||||
cqi_ul="-" #上行信道质量指示
|
||||
cqi_dl="-" #下行信道质量指示
|
||||
ambr_ul="-" #上行签约速率
|
||||
ambr_dl="-" #下行签约速率
|
||||
tx_rate="-" #上传速率
|
||||
rx_rate="-" #下载速率
|
||||
|
||||
#小区信息
|
||||
network_mode="-" #网络模式
|
||||
@ -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\"}
|
||||
],"
|
||||
|
@ -191,8 +191,8 @@ modem_network_task()
|
||||
|
||||
#获取AT串口,制造商,平台,连接定义,接口名称
|
||||
local at_port=$(uci -q get modem.modem${modem_no}.at_port)
|
||||
local manufacturer=$(uci -q get modem.modem${modem_no}.manufacturer)
|
||||
local platform=$(uci -q get modem.modem${modem_no}.platform)
|
||||
local manufacturer=$(uci -q get modem.modem${modem_no}.manufacturer)
|
||||
local platform=$(uci -q get modem.modem${modem_no}.platform)
|
||||
local define_connect=$(uci -q get modem.modem${modem_no}.define_connect)
|
||||
local interface_name="wwan_5g_${modem_no}"
|
||||
local interface_name_ipv6="wwan6_5g_${modem_no}"
|
||||
@ -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,54 +120,6 @@
|
||||
"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":{
|
||||
@ -199,6 +151,54 @@
|
||||
"define_connect":"1",
|
||||
"modes":["qmi","mbim"]
|
||||
}
|
||||
},
|
||||
"device":{
|
||||
"quectel":{
|
||||
"unisoc":{
|
||||
"vendor_id":["2c7c"],
|
||||
"product_id":["6001","6002","6004","6005","6006","6007","0900","0901","0902","0903","0904"]
|
||||
},
|
||||
"qualcomm":{
|
||||
"vendor_id":["2c7c"],
|
||||
"product_id":["0121","0125","0191","0195","0296","0306","030b","0435","0452","0455","0512","0620","0800","0801"]
|
||||
},
|
||||
"mediatek":{
|
||||
"vendor_id":["2c7c"],
|
||||
"product_id":["0700","7001","7003"]
|
||||
}
|
||||
},
|
||||
"fibocom":{
|
||||
"unisoc":{
|
||||
"vendor_id":["2cb7","3c93","3763"],
|
||||
"product_id":["0a04","0a05","0a06","0a07","3c93","ffff"]
|
||||
},
|
||||
"qualcomm":{
|
||||
"vendor_id":["2cb7"],
|
||||
"product_id":["0104","0105","0106","0107","0108","0109","010A","010B","010F","0110","0111"]
|
||||
},
|
||||
"mediatek":{
|
||||
"vendor_id":["0e8d"],
|
||||
"product_id":["7126","7127"]
|
||||
}
|
||||
},
|
||||
"meig":{
|
||||
"unisoc":{
|
||||
"vendor_id":["2dee"],
|
||||
"product_id":["4d50","4d51","4d52","4d53"]
|
||||
},
|
||||
"qualcomm":{
|
||||
"vendor_id":["2dee","05c6"],
|
||||
"product_id":["4d22","4d23","4d38","4d45","f601"]
|
||||
},
|
||||
"hisilicon":{
|
||||
"vendor_id":["2dee","4d20"],
|
||||
"product_id":["7126","7127"]
|
||||
},
|
||||
"asrmicro":{
|
||||
"vendor_id":["2dee"],
|
||||
"product_id":["4d57","4d58","4d59"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -213,8 +213,15 @@ m_add_usb_id()
|
||||
|
||||
#如果已经添加则返回
|
||||
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
|
||||
}
|
||||
|
||||
#设置模组硬件配置
|
||||
@ -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,21 +372,22 @@ retry_set_modem_config()
|
||||
local at_command="AT+CGMM?"
|
||||
local modem_name=$(at ${at_port} ${at_command} | grep "+CGMM: " | awk -F'"' '{print $2}' | tr 'A-Z' 'a-z')
|
||||
|
||||
#再一次获取模组名称
|
||||
[ -z "$modem_name" ] && {
|
||||
at_command="AT+CGMM"
|
||||
modem_name=$(at ${at_port} ${at_command} | sed -n '2p' | sed 's/\r//g' | tr 'A-Z' 'a-z')
|
||||
}
|
||||
|
||||
#处理特殊的模组名称
|
||||
[ -n "$modem_name" ] && {
|
||||
modem_name="$(handle_special_modem_name ${modem_name})"
|
||||
}
|
||||
|
||||
#特殊处理FM350-GL-00 5G Module
|
||||
[[ "$modem_name" = *"fm350-gl"* ]] && {
|
||||
modem_name="fm350-gl"
|
||||
}
|
||||
|
||||
#获取模组信息
|
||||
local data_interface=$(uci -q get modem.modem${modem_no}.data_interface)
|
||||
local modem_info=$(echo ${modem_support} | jq '.modem_support.'$data_interface'."'$modem_name'"')
|
||||
#获取模组信息
|
||||
local data_interface=$(uci -q get modem.modem${modem_no}.data_interface)
|
||||
local modem_info=$(echo ${modem_support} | jq '.modem_support.'$data_interface'."'$modem_name'"')
|
||||
|
||||
[ -n "$modem_name" ] && [ "$modem_info" != "null" ] && {
|
||||
|
||||
#获取制造商
|
||||
local manufacturer=$(echo ${modem_info} | jq -r '.manufacturer')
|
||||
|
@ -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