Merge branch 'main' of https://github.com/Siriling/5G-Modem-Support into main
This commit is contained in:
commit
0a8413d686
@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
|
||||
PKG_NAME:=luci-app-modem
|
||||
LUCI_TITLE:=LuCI support for Modem
|
||||
LUCI_PKGARCH:=all
|
||||
PKG_VERSION:=1.4.1
|
||||
PKG_VERSION:=1.4.2
|
||||
PKG_LICENSE:=GPLv3
|
||||
PKG_LINCESE_FILES:=LICENSE
|
||||
PKF_MAINTAINER:=siriling <siriling@qq.com>
|
||||
|
@ -319,6 +319,12 @@ function getModemInfo()
|
||||
end
|
||||
end
|
||||
end
|
||||
--添加额外翻译
|
||||
translation["Unknown"]=luci.i18n.translate("Unknown")
|
||||
translation["Excellent"]=luci.i18n.translate("Excellent")
|
||||
translation["Good"]=luci.i18n.translate("Good")
|
||||
translation["Fair"]=luci.i18n.translate("Fair")
|
||||
translation["Bad"]=luci.i18n.translate("Bad")
|
||||
|
||||
--整合数据
|
||||
local data={}
|
||||
|
@ -76,12 +76,6 @@ getMobileNetwork()
|
||||
|
||||
--------advanced--------
|
||||
|
||||
-- 配置ID
|
||||
id = s:taboption("advanced", ListValue, "id", translate("Config ID"))
|
||||
id.rmempty = false
|
||||
id:value(arg[1])
|
||||
-- uci:set('modem',arg[1],'id',arg[1])
|
||||
|
||||
-- 拨号工具
|
||||
dial_tool = s:taboption("advanced", ListValue, "dial_tool", translate("Dial Tool"))
|
||||
dial_tool.description = translate("After switching the dialing tool, it may be necessary to restart the module or restart the router to recognize the module.")
|
||||
@ -136,4 +130,13 @@ password:depends("auth", "both")
|
||||
password:depends("auth", "pap")
|
||||
password:depends("auth", "chap")
|
||||
|
||||
-- 配置ID
|
||||
id = s:taboption("advanced", ListValue, "id", translate("Config ID"))
|
||||
id.rmempty = false
|
||||
id:value(arg[1])
|
||||
-- uci:set('modem',arg[1],'id',arg[1])
|
||||
|
||||
-- 隐藏配置ID
|
||||
m:append(Template("modem/hide_dial_config_id"))
|
||||
|
||||
return m
|
||||
|
@ -31,7 +31,9 @@ function s.create(uci, t)
|
||||
end
|
||||
function s.remove(uci, t)
|
||||
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"))
|
||||
end
|
||||
|
||||
|
15
luci-app-modem/luasrc/view/modem/hide_dial_config_id.htm
Normal file
15
luci-app-modem/luasrc/view/modem/hide_dial_config_id.htm
Normal file
@ -0,0 +1,15 @@
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
|
||||
window.onload=function()
|
||||
{
|
||||
// 获取高级设置标签元素
|
||||
var str="advanced"
|
||||
var advanced_element = document.querySelector('div[data-tab="'+str+'"]');
|
||||
|
||||
//隐藏拨号配置ID元素
|
||||
var dial_config_id_element = advanced_element.lastElementChild;
|
||||
dial_config_id_element.style.display="none";
|
||||
}
|
||||
|
||||
//]]>
|
||||
</script>
|
@ -148,8 +148,8 @@ end
|
||||
if (value!="-"&&value!="")
|
||||
{
|
||||
//添加单位
|
||||
if (key=="RSSI") {
|
||||
value=value+" dBm";
|
||||
if (key=="AMBR UL"||key=="AMBR DL") {
|
||||
value=value+" Mbps";
|
||||
}
|
||||
else if (key=="Tx Rate"||key=="Rx Rate")
|
||||
{
|
||||
@ -174,6 +174,232 @@ end
|
||||
network_info_Element.innerHTML=network_info_view;
|
||||
}
|
||||
|
||||
// 获取一个范围的百分比
|
||||
function get_percent(value, min, max)
|
||||
{
|
||||
var percent;
|
||||
if (value <= min) {
|
||||
percent=0;
|
||||
} else if (value >= max) {
|
||||
percent=100;
|
||||
} else {
|
||||
percent=((value - min) / (max - min)) * 100;
|
||||
}
|
||||
return percent.toFixed(2);
|
||||
}
|
||||
|
||||
// 获取参考信号接收功率(RSRP)的信息视图
|
||||
function get_rsrp_info_view(network_type,value)
|
||||
{
|
||||
value=parseFloat(value);
|
||||
var rsrp_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"};
|
||||
|
||||
// 获取百分比
|
||||
var percent=100;
|
||||
if (network_type.includes("NR"))
|
||||
{
|
||||
percent=get_percent(value,-153,31);
|
||||
}
|
||||
else if (network_type.includes("LTE"))
|
||||
{
|
||||
percent=get_percent(value,-140,-44);
|
||||
}
|
||||
else if (network_type.includes("WCDMA"))
|
||||
{
|
||||
// percent=get_percent(value,-140,-44);
|
||||
}
|
||||
|
||||
// 获取样式
|
||||
var quality="Unknown";
|
||||
var color="gray";
|
||||
if (value>=-70)
|
||||
{
|
||||
quality="Excellent";
|
||||
color="limegreen";
|
||||
}
|
||||
else if (value>=-80&&value<-70)
|
||||
{
|
||||
quality="Good";
|
||||
color="lime";
|
||||
}
|
||||
else if (value>=-90&&value<-80)
|
||||
{
|
||||
quality="Fair";
|
||||
color="gold";
|
||||
}
|
||||
else if (value<-90)
|
||||
{
|
||||
quality="Bad";
|
||||
color="red";
|
||||
}
|
||||
|
||||
rsrp_info_view.percent=percent;
|
||||
rsrp_info_view.quality=quality;
|
||||
rsrp_info_view.style='width:'+rsrp_info_view.percent+'%;background-color: '+color+';';
|
||||
|
||||
return rsrp_info_view;
|
||||
}
|
||||
|
||||
// 获取参考信号接收质量(RSRQ)的信息视图
|
||||
function get_rsrq_info_view(network_type,value)
|
||||
{
|
||||
value=parseFloat(value);
|
||||
var rsrq_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"};
|
||||
|
||||
// 获取百分比
|
||||
var percent=100;
|
||||
if (network_type.includes("NR"))
|
||||
{
|
||||
percent=get_percent(value,-43,20);
|
||||
}
|
||||
else if (network_type.includes("LTE"))
|
||||
{
|
||||
percent=get_percent(value,-19.5,-3);
|
||||
}
|
||||
else if (network_type.includes("WCDMA"))
|
||||
{
|
||||
// percent=get_percent(value,-19.5,-3);
|
||||
}
|
||||
|
||||
// 获取样式
|
||||
var quality="Unknown";
|
||||
var color="gray";
|
||||
if (value>=-10)
|
||||
{
|
||||
quality="Excellent";
|
||||
color="limegreen";
|
||||
}
|
||||
else if (value>=-15&&value<-10)
|
||||
{
|
||||
quality="Good";
|
||||
color="lime";
|
||||
}
|
||||
else if (value>=-20&&value<-15)
|
||||
{
|
||||
quality="Fair";
|
||||
color="gold";
|
||||
}
|
||||
else if (value<-20)
|
||||
{
|
||||
quality="Bad";
|
||||
color="red";
|
||||
}
|
||||
|
||||
rsrq_info_view.percent=percent;
|
||||
rsrq_info_view.quality=quality;
|
||||
rsrq_info_view.style='width:'+rsrq_info_view.percent+'%;background-color: '+color+';';
|
||||
|
||||
return rsrq_info_view;
|
||||
}
|
||||
|
||||
// 获取信噪比(SINR)的信息视图
|
||||
function get_sinr_info_view(network_type,value)
|
||||
{
|
||||
value=parseFloat(value);
|
||||
var sinr_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"};
|
||||
|
||||
// 获取百分比
|
||||
var percent=100;
|
||||
if (network_type.includes("NR"))
|
||||
{
|
||||
percent=get_percent(value,-23,40);
|
||||
}
|
||||
else if (network_type.includes("LTE"))
|
||||
{
|
||||
percent=get_percent(value,-20,-30);
|
||||
}
|
||||
else if (network_type.includes("WCDMA"))
|
||||
{
|
||||
// percent=get_percent(value,-20,-30);
|
||||
}
|
||||
|
||||
// 获取样式
|
||||
var quality="Unknown";
|
||||
var color="gray";
|
||||
if (value>=25)
|
||||
{
|
||||
quality="Excellent";
|
||||
color="limegreen";
|
||||
}
|
||||
else if (value>=15&&value<25)
|
||||
{
|
||||
quality="Good";
|
||||
color="lime";
|
||||
}
|
||||
else if (value>=10&&value<15)
|
||||
{
|
||||
quality="Fair";
|
||||
color="gold";
|
||||
}
|
||||
else if (value<10)
|
||||
{
|
||||
quality="Bad";
|
||||
color="red";
|
||||
}
|
||||
|
||||
sinr_info_view.percent=percent;
|
||||
sinr_info_view.quality=quality;
|
||||
sinr_info_view.style='width:'+sinr_info_view.percent+'%;background-color: '+color+';';
|
||||
|
||||
return sinr_info_view;
|
||||
}
|
||||
|
||||
// 获取接收信号功率(RxLev)的信息视图
|
||||
function get_rxlev_info_view(network_type,value)
|
||||
{
|
||||
value=parseFloat(value);
|
||||
var sinr_info_view={percent:100,quality:"Unknown",style:"width:100.00%;background-color: gray;"};
|
||||
|
||||
// 获取百分比
|
||||
var percent=100;
|
||||
if (network_type.includes("NR"))
|
||||
{
|
||||
percent=get_percent(value,-153,31);
|
||||
}
|
||||
else if (network_type.includes("LTE"))
|
||||
{
|
||||
percent=get_percent(value,-140,-44);
|
||||
}
|
||||
else if (network_type.includes("WCDMA"))
|
||||
{
|
||||
percent=get_percent(value,-120,-25);
|
||||
}
|
||||
else if (network_type.includes("GSM"))
|
||||
{
|
||||
percent=get_percent(value,-110,-48);
|
||||
}
|
||||
|
||||
// 获取样式
|
||||
var quality="Unknown";
|
||||
var color="gray";
|
||||
if (value>=-70)
|
||||
{
|
||||
quality="Excellent";
|
||||
color="limegreen";
|
||||
}
|
||||
else if (value>=-80&&value<-70)
|
||||
{
|
||||
quality="Good";
|
||||
color="lime";
|
||||
}
|
||||
else if (value>=-90&&value<-80)
|
||||
{
|
||||
quality="Fair";
|
||||
color="gold";
|
||||
}
|
||||
else if (value<-100)
|
||||
{
|
||||
quality="Bad";
|
||||
color="red";
|
||||
}
|
||||
|
||||
sinr_info_view.percent=percent;
|
||||
sinr_info_view.quality=quality;
|
||||
sinr_info_view.style='width:'+sinr_info_view.percent+'%;background-color: '+color+';';
|
||||
|
||||
return sinr_info_view;
|
||||
}
|
||||
|
||||
//获取小区信息视图
|
||||
function get_cell_info_view(network_mode_info,network_type,translation)
|
||||
{
|
||||
@ -204,28 +430,56 @@ end
|
||||
//添加单位
|
||||
if (key=="Band") {
|
||||
if (network_type.includes("NR")) {
|
||||
value="N"+value
|
||||
value="N"+value;
|
||||
}
|
||||
else if (network_type.includes("LTE")) {
|
||||
value="B"+value
|
||||
value="B"+value;
|
||||
}
|
||||
else if (network_type.includes("WCDMA")) {
|
||||
value="B"+value
|
||||
value="B"+value;
|
||||
}
|
||||
}
|
||||
else if (key=="UL Bandwidth"||key=="DL Bandwidth") {
|
||||
value=value+" MHz"
|
||||
value=value+" MHz";
|
||||
}
|
||||
else if (key=="RSRP"||key=="TX Power"||key=="RxLev") {
|
||||
value=value+" dBm"
|
||||
|
||||
if (key=="RSRP")
|
||||
{
|
||||
var rsrp_info_view=get_rsrp_info_view(network_type,value);
|
||||
value='<div class="cbi-progressbar" title="'+value+' dBm | '+translation[rsrp_info_view.quality]+' ('+rsrp_info_view.percent+'%)"><div style="'+rsrp_info_view.style+'"></div></div>';
|
||||
}
|
||||
else if (key=="RxLev")
|
||||
{
|
||||
var rxlev_info_view=get_rxlev_info_view(network_type,value);
|
||||
value='<div class="cbi-progressbar" title="'+value+' dBm | '+translation[rxlev_info_view.quality]+' ('+rxlev_info_view.percent+'%)"><div style="'+rxlev_info_view.style+'"></div></div>';
|
||||
}
|
||||
else
|
||||
{
|
||||
value=value+" dBm";
|
||||
}
|
||||
}
|
||||
else if (key=="RSRQ"||key=="SINR"||key=="RSSNR"||key=="Ec/Io") {
|
||||
value=value+" dB"
|
||||
|
||||
if (key=="RSRQ")
|
||||
{
|
||||
var rsrq_info_view=get_rsrq_info_view(network_type,value);
|
||||
value='<div class="cbi-progressbar" title="'+value+' dB | '+translation[rsrq_info_view.quality]+' ('+rsrq_info_view.percent+'%)"><div style="'+rsrq_info_view.style+'"></div></div>';
|
||||
}
|
||||
else if (key=="SINR")
|
||||
{
|
||||
var sinr_info_view=get_sinr_info_view(network_type,value);
|
||||
value='<div class="cbi-progressbar" title="'+value+' dB | '+translation[sinr_info_view.quality]+' ('+sinr_info_view.percent+'%)"><div style="'+sinr_info_view.style+'"></div></div>';
|
||||
}
|
||||
else
|
||||
{
|
||||
value=value+" dB";
|
||||
}
|
||||
}
|
||||
else if (key=="SCS") {
|
||||
value=value+" KHz"
|
||||
value=value+" KHz";
|
||||
}
|
||||
cell_info_view+='<tr class="tr"><td class="td left" title="'+full_name+'">'+translation[key]+'</td><td class="td left" id="'+key+'">'+value+'</td></tr>';
|
||||
cell_info_view+='<tr class="tr"><td class="td left" title="'+full_name+'">'+translation[key]+' ('+key+')</td><td class="td left" id="'+key+'">'+value+'</td></tr>';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -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 "上传速率"
|
||||
|
||||
@ -523,6 +535,18 @@ msgstr "中国电信"
|
||||
msgid "46011"
|
||||
msgstr "中国电信"
|
||||
|
||||
msgid "Excellent"
|
||||
msgstr "非常好"
|
||||
|
||||
msgid "Good"
|
||||
msgstr "好"
|
||||
|
||||
msgid "Fair"
|
||||
msgstr "一般"
|
||||
|
||||
msgid "Bad"
|
||||
msgstr "差"
|
||||
|
||||
msgid "Plugin Config"
|
||||
msgstr "插件配置"
|
||||
|
||||
|
@ -523,6 +523,18 @@ msgstr "中国电信"
|
||||
msgid "46011"
|
||||
msgstr "中国电信"
|
||||
|
||||
msgid "Excellent"
|
||||
msgstr "非常好"
|
||||
|
||||
msgid "Good"
|
||||
msgstr "好"
|
||||
|
||||
msgid "Fair"
|
||||
msgstr "一般"
|
||||
|
||||
msgid "Bad"
|
||||
msgstr "差"
|
||||
|
||||
msgid "Plugin Config"
|
||||
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"
|
||||
@ -547,9 +535,6 @@ stop_dial()
|
||||
if [ -f "${MODEM_RUN_CONFIG}" ] && grep -q "${network}" "${MODEM_RUN_CONFIG}"; then
|
||||
#该配置ID在运行,需要删除记录
|
||||
sed -i "/${id}/d" "${MODEM_RUN_CONFIG}"
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
|
||||
#获取模块序号
|
||||
get_modem_no "${network}"
|
||||
@ -573,15 +558,29 @@ stop_dial()
|
||||
elif [ "$mode" = "ncm" ]; then
|
||||
stop_ncm
|
||||
fi
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
dial()
|
||||
{
|
||||
local enable #启用
|
||||
local id #ID
|
||||
local delete #删除
|
||||
|
||||
config_get enable $1 enable
|
||||
config_get id $1 id
|
||||
config_get delete $1 delete
|
||||
|
||||
#删除拨号配置
|
||||
[ "$delete" = "1" ] && {
|
||||
stop_dial "$id"
|
||||
uci -q del modem.${id}
|
||||
uci commit modem
|
||||
return 0
|
||||
}
|
||||
|
||||
#停止拨号配置
|
||||
[ "$enable" = "0" ] && {
|
||||
stop_dial "$id"
|
||||
return 0
|
||||
@ -621,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
|
||||
@ -630,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
|
||||
|
||||
#设置网络预设
|
||||
|
@ -842,6 +842,34 @@ fibocom_get_nr_dl_bandwidth()
|
||||
echo "$nr_dl_bandwidth"
|
||||
}
|
||||
|
||||
#获取信噪比
|
||||
# $1:网络类型
|
||||
# $2:信噪比数字
|
||||
fibocom_get_sinr_num()
|
||||
{
|
||||
local sinr
|
||||
case $1 in
|
||||
"LTE") sinr=$(awk "BEGIN{ printf \"%.2f\", $2 * 0.5 - 23.5 }" | sed 's/\.*0*$//') ;;
|
||||
"NR") sinr=$(awk "BEGIN{ printf \"%.2f\", $2 * 0.5 - 23.5 }" | sed 's/\.*0*$//') ;;
|
||||
esac
|
||||
echo "$sinr"
|
||||
}
|
||||
|
||||
#获取接收信号功率
|
||||
# $1:网络类型
|
||||
# $2:接收信号功率数字
|
||||
fibocom_get_rxlev()
|
||||
{
|
||||
local rxlev
|
||||
case $1 in
|
||||
"GSM") rxlev=$(($2-110)) ;;
|
||||
"WCDMA") rxlev=$(($2-121)) ;;
|
||||
"LTE") rxlev=$(($2-141)) ;;
|
||||
"NR") rxlev=$(($2-157)) ;;
|
||||
esac
|
||||
echo "$rxlev"
|
||||
}
|
||||
|
||||
#获取参考信号接收功率
|
||||
# $1:网络类型
|
||||
# $2:参考信号接收功率数字
|
||||
@ -877,20 +905,6 @@ fibocom_get_rssnr()
|
||||
echo "$rssnr"
|
||||
}
|
||||
|
||||
#获取接收信号功率
|
||||
# $1:网络类型
|
||||
# $2:接收信号功率数字
|
||||
fibocom_get_rxlev()
|
||||
{
|
||||
local rxlev
|
||||
case $1 in
|
||||
"WCDMA") rxlev=$(($2-121)) ;;
|
||||
"LTE") rxlev=$(($2-141)) ;;
|
||||
"NR") rxlev=$(($2-157)) ;;
|
||||
esac
|
||||
echo "$rxlev"
|
||||
}
|
||||
|
||||
#获取Ec/Io
|
||||
# $1:Ec/Io数字
|
||||
fibocom_get_ecio()
|
||||
@ -917,7 +931,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")
|
||||
@ -932,7 +948,8 @@ fibocom_cell_info()
|
||||
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=$(echo "$response" | awk -F',' '{print $11}')
|
||||
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}')
|
||||
@ -973,7 +990,8 @@ fibocom_cell_info()
|
||||
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=$(echo "$response" | awk -F',' '{print $11}')
|
||||
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}')
|
||||
@ -1022,6 +1040,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" ] && {
|
||||
|
@ -104,6 +104,70 @@
|
||||
"data_interface":"usb",
|
||||
"define_connect":"1",
|
||||
"modes":["qmi","gobinet","ecm","mbim","rndis","ncm"]
|
||||
},
|
||||
"SRM815":{
|
||||
"manufacturer_id":"2dee",
|
||||
"manufacturer":"meig",
|
||||
"platform":"qualcomm",
|
||||
"data_interface":"usb",
|
||||
"define_connect":"1",
|
||||
"modes":["qmi","gobinet","ecm","mbim","rndis"]
|
||||
},
|
||||
"SRM825":{
|
||||
"manufacturer_id":"2dee",
|
||||
"manufacturer":"meig",
|
||||
"platform":"qualcomm",
|
||||
"data_interface":"usb",
|
||||
"define_connect":"1",
|
||||
"modes":["qmi","gobinet","ecm","mbim","rndis"]
|
||||
},
|
||||
"device":{
|
||||
"quectel":{
|
||||
"unisoc":{
|
||||
"vendor_id":["2c7c"],
|
||||
"product_id":["6001","6002","6004","6005","6006","6007","0900","0901","0902","0903","0904"]
|
||||
},
|
||||
"qualcomm":{
|
||||
"vendor_id":["2c7c"],
|
||||
"product_id":["0121","0125","0191","0195","0296","0306","030b","0435","0452","0455","0512","0620","0800","0801"]
|
||||
},
|
||||
"mediatek":{
|
||||
"vendor_id":["2c7c"],
|
||||
"product_id":["0700","7001","7003"]
|
||||
}
|
||||
},
|
||||
"fibocom":{
|
||||
"unisoc":{
|
||||
"vendor_id":["2cb7","3c93","3763"],
|
||||
"product_id":["0a04","0a05","0a06","0a07","3c93","ffff"]
|
||||
},
|
||||
"qualcomm":{
|
||||
"vendor_id":["2cb7"],
|
||||
"product_id":["0104","0105","0106","0107","0108","0109","010A","010B","010F","0110","0111"]
|
||||
},
|
||||
"mediatek":{
|
||||
"vendor_id":["0e8d"],
|
||||
"product_id":["7126","7127"]
|
||||
}
|
||||
},
|
||||
"meig":{
|
||||
"unisoc":{
|
||||
"vendor_id":["2dee"],
|
||||
"product_id":["4d50","4d51","4d52","4d53"]
|
||||
},
|
||||
"qualcomm":{
|
||||
"vendor_id":["2dee","05c6"],
|
||||
"product_id":["4d22","4d23","4d38","4d45","f601"]
|
||||
},
|
||||
"hisilicon":{
|
||||
"vendor_id":["2dee","4d20"],
|
||||
"product_id":["7126","7127"]
|
||||
},
|
||||
"asrmicro":{
|
||||
"vendor_id":["2dee"],
|
||||
"product_id":["4d57","4d58","4d59"]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"pcie":{
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
#设置模组硬件配置
|
||||
|
@ -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