950 lines
26 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%+header%>
<%
local fs = require "nixio.fs"
local uci = luci.model.uci.cursor()
nosms = 1
if not fs.stat("/etc/nosim") then
nosms = 0
end
havegps = 0
if fs.stat("/etc/havegps") then
havegps = 1
end
%>
<style>
g {color:grey; font-size:75%; vertical-align: super;}
/*移动端显示优化*/
/* @media (max-width: 768px) {
tr td:first-child {
width: 30%;
}
} */
/* 消息样式 */
#info_message {
text-align: left;
font-size: 1.8em;
}
#info_message img {
vertical-align: middle;
}
#info_message a {
color: rgb(61, 143, 173);
font-size: 50%;
}
/* 信号样式 */
.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;
border: 0px;
}
tr td:first-child {
width: 33%;
}
/* 清除表格标题的样式 */
/* caption {
all: unset;
} */
</style>
<script type="text/javascript" src="<%=resource%>/xhr.js"></script>
<script type="text/javascript">//<![CDATA[
window.onload=function()
{
//获取模组选择框元素
var modem_select = document.getElementById('modem_select');
//更换模组AT串口时触发
modem_select.addEventListener('change', function() {
//更新数据
update();
});
}
//获取SIM卡信息视图
function get_rate_view(rate)
{
const b=parseFloat(rate);
const kb=b/1024;
const mb=kb/1024;
var rate_view;
if (mb>=1) {
rate_view=mb.toFixed(2)+" MB/s";
}
else if (kb>=1) {
rate_view=kb.toFixed(2)+" KB/s";
}
else {
rate_view=b+" B/s";
}
return rate_view;
}
//获取SIM卡信息视图
function get_sim_info_view(sim_info,translation)
{
//初始化视图
var sim_info_view='';
//遍历每一条信息
for (var info of sim_info)
{
//遍历每一条信息里的键
for (var key in info)
{
//跳过全名
if (key=="full_name")
{
continue;
}
//获取全名
var full_name=info["full_name"];
if (full_name==null)
{
full_name='';
}
//写入视图(不显示空的信息)
var value=info[key];
if (value!="-"&&value!=""&&value!="ready")
{
// value=translation[value]; //是否翻译
sim_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;
}
}
}
return sim_info_view;
}
//设置SIM卡信息
function set_sim_info(sim_info,translation)
{
//获取SIM卡信息视图
var sim_info_view=get_sim_info_view(sim_info,translation);
//获取SIM卡信息表格
var sim_info_Element=document.getElementById("sim_info");
sim_info_Element.innerHTML=sim_info_view;
}
//获取网络信息视图
function get_network_info_view(network_info,translation)
{
//初始化视图
var network_info_view='';
//遍历每一条信息
for (var info of network_info)
{
//遍历每一条信息里的键
for (var key in info)
{
//跳过全名
if (key=="full_name")
{
continue;
}
//获取全名
var full_name=info["full_name"];
if (full_name==null)
{
full_name='';
}
//写入视图(不显示空的信息)
var value=info[key];
if (value!="-"&&value!="")
{
//添加单位
if (key=="AMBR UL"||key=="AMBR DL") {
value=value+" Mbps";
}
else if (key=="Tx Rate"||key=="Rx Rate")
{
value=get_rate_view(value);
}
// value=translation[value]; //是否翻译
network_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;
}
}
}
return network_info_view;
}
//设置网络信息
function set_network_info(network_info,translation)
{
//获取网络信息视图
var network_info_view=get_network_info_view(network_info,translation);
//获取网络信息表格
var network_info_Element=document.getElementById("network_info");
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);
}
// 获取参考信号的信息视图
function get_signal_info_view(network_type,key,value) {
value=parseFloat(value);
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)
{
// 获取百分比
if (network_type.includes("NR"))
{
signal_info_view.percent=get_percent(value,-153,31);
}
else if (network_type.includes("LTE"))
{
signal_info_view.percent=get_percent(value,-140,-44);
}
else if (network_type.includes("WCDMA"))
{
// signal_info_view.percent=get_percent(value,-140,-44);
}
// 获取样式
var color="gray";
if (value>=-70)
{
signal_info_view.quality="Excellent";
color="limegreen";
}
else if (value>=-80&&value<-70)
{
signal_info_view.quality="Good";
color="lime";
}
else if (value>=-90&&value<-80)
{
signal_info_view.quality="Fair";
color="gold";
}
else if (value<-90)
{
signal_info_view.quality="Bad";
color="red";
}
signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';';
}
// 获取参考信号接收质量RSRQ的信息视图
function set_rsrq_info_view(network_type,value,signal_info_view)
{
// 获取百分比
if (network_type.includes("NR"))
{
signal_info_view.percent=get_percent(value,-43,20);
}
else if (network_type.includes("LTE"))
{
signal_info_view.percent=get_percent(value,-19.5,-3);
}
else if (network_type.includes("WCDMA"))
{
// signal_info_view.percent=get_percent(value,-19.5,-3);
}
// 获取样式
var color="gray";
if (value>=-10)
{
signal_info_view.quality="Excellent";
color="limegreen";
}
else if (value>=-15&&value<-10)
{
signal_info_view.quality="Good";
color="lime";
}
else if (value>=-20&&value<-15)
{
signal_info_view.quality="Fair";
color="gold";
}
else if (value<-20)
{
signal_info_view.quality="Bad";
color="red";
}
signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';';
}
// 获取信噪比SINR的信息视图
function set_sinr_info_view(network_type,value,signal_info_view)
{
// 获取百分比
if (network_type.includes("NR"))
{
signal_info_view.percent=get_percent(value,-23,40);
}
else if (network_type.includes("LTE"))
{
signal_info_view.percent=get_percent(value,-20,-30);
}
else if (network_type.includes("WCDMA"))
{
// signal_info_view.percent=get_percent(value,-20,-30);
}
// 获取样式
var color="gray";
if (value>=25)
{
signal_info_view.quality="Excellent";
color="limegreen";
}
else if (value>=15&&value<25)
{
signal_info_view.quality="Good";
color="lime";
}
else if (value>=10&&value<15)
{
signal_info_view.quality="Fair";
color="gold";
}
else if (value<10)
{
signal_info_view.quality="Bad";
color="red";
}
signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';';
}
// 获取接收信号功率RxLev的信息视图
function set_rxlev_info_view(network_type,value,signal_info_view)
{
// 获取百分比
if (network_type.includes("NR"))
{
signal_info_view.percent=get_percent(value,-153,31);
}
else if (network_type.includes("LTE"))
{
signal_info_view.percent=get_percent(value,-140,-44);
}
else if (network_type.includes("WCDMA"))
{
signal_info_view.percent=get_percent(value,-120,-25);
}
else if (network_type.includes("GSM"))
{
signal_info_view.percent=get_percent(value,-110,-48);
}
// 获取样式
var color="gray";
if (value>=-70)
{
signal_info_view.quality="Excellent";
color="limegreen";
}
else if (value>=-80&&value<-70)
{
signal_info_view.quality="Good";
color="lime";
}
else if (value>=-90&&value<-80)
{
signal_info_view.quality="Fair";
color="gold";
}
else if (value<-90)
{
signal_info_view.quality="Bad";
color="red";
}
signal_info_view.style='width:'+signal_info_view.percent+'%;background-color: '+color+';';
}
//获取小区信息视图
function get_cell_info_view(network_mode_info,network_type,translation)
{
//初始化视图
var cell_info_view='';
//遍历每一条信息
for (var info of network_mode_info)
{
//遍历每一条信息里的键
for (var key in info)
{
//跳过全名
if (key=="full_name")
{
continue;
}
//获取全名
var full_name=info["full_name"];
if (full_name==null)
{
full_name='';
}
//写入视图(不显示空的信息)
var value=info[key];
if (value!="-"&&value!="")
{
//添加单位
if (key=="Band") {
if (network_type.includes("NR")) {
value="N"+value;
}
else if (network_type.includes("LTE")) {
value="B"+value;
}
else if (network_type.includes("WCDMA")) {
value="B"+value;
}
}
else if (key=="UL Bandwidth"||key=="DL Bandwidth") {
value=value+" MHz";
}
else if (key=="RSRP"||key=="TX Power"||key=="RxLev") {
if (key=="RSRP")
{
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 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
{
value=value+" dBm";
}
}
else if (key=="RSRQ"||key=="SINR"||key=="RSSNR"||key=="Srxlev"||key=="Ec/Io") {
if (key=="RSRQ")
{
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 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
{
value=value+" dB";
}
}
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>';
break;
}
}
}
return cell_info_view;
}
//设置小区信息
function set_cell_info(cell_info,translation)
{
//获取网络模式
var network_mode=Object.keys(cell_info)[0];
//获取视图
var cell_info_view='<caption>'+translation[network_mode]+'</caption>'; //网络模式视图
// var cell_info_view='<tr class="tr"><td class="td center" colspan="2">'+translation[network_mode]+'</td></tr>'; //网络模式视图
//获取网络模式下的信息
var network_mode_info=cell_info[network_mode];
if (network_mode=="EN-DC Mode")
{
var lte=network_mode_info[0]["LTE"];
cell_info_view+='<tr class="tr"><td class="td left" colspan="2">LTE</td></tr>';
cell_info_view+=get_cell_info_view(lte,"LTE",translation);
var nsa=network_mode_info[1]["NR5G-NSA"];
cell_info_view+='<tr class="tr"><td class="td left" colspan="2">NR5G-NSA</td></tr>';
cell_info_view+=get_cell_info_view(nsa,"NR",translation);
}
else
{
// cell_info_view+='<tr><td colspan="3">NR5G-NSA</td></tr>';
cell_info_view+=get_cell_info_view(network_mode_info,network_mode,translation);
}
//获取表格
var cell_info_Element=document.getElementById("cell_info");
cell_info_Element.innerHTML=cell_info_view;
}
//显示信息
function set_info(info)
{
for (var key in info)
{
var info_Element=document.getElementById(key);
if (info_Element!=null)
{
info_Element.innerHTML=info[key];
}
}
}
//基本信息界面
function base_info_view(manufacturer)
{
if (manufacturer!="unknown")
{
// 隐藏提示信息
document.getElementById("cbi-info").style.display="none";
// 显示基本信息
document.getElementById("cbi-baseinfo").style.display="block";
}
else //未适配模组
{
// 更新提示信息
document.getElementById("info_message").innerHTML='<strong><%:Not adapted to this modem%></strong> <a href="https://github.com/Siriling/5G-Modem-Support/blob/main/luci-app-modem/README.md" target="_blank"><%:(Check adapted modem)%></a>';
// 显示提示信息
document.getElementById("cbi-info").style.display="block";
// 显示基本信息
document.getElementById("cbi-baseinfo").style.display="block";
// 隐藏SIM卡信息
document.getElementById("cbi-siminfo").style.display="none";
// 隐藏网络信息
document.getElementById("cbi-networkinfo").style.display="none";
// 隐藏小区信息
document.getElementById("cbi-cellinfo").style.display="none";
}
}
//SIM卡信息界面
function sim_info_view(sim_status,connect_status)
{
//SIM卡状态未知
if (sim_status=="unknown")
{
// 更新提示信息
document.getElementById("info_message").innerHTML="<strong><%:Unknown SIM card status%></strong>";
// 显示提示信息
document.getElementById("cbi-info").style.display="block";
// 显示SIM卡信息
document.getElementById("cbi-siminfo").style.display="block";
}
//未插入SIM卡
else if (sim_status=="miss")
{
// 更新提示信息
document.getElementById("info_message").innerHTML="<strong><%:SIM card not inserted%></strong>";
// 显示提示信息
document.getElementById("cbi-info").style.display="block";
// 显示SIM卡信息
document.getElementById("cbi-siminfo").style.display="block";
}
//SIM卡就绪
else if (sim_status=="ready")
{
// 隐藏提示信息
document.getElementById("cbi-info").style.display="none";
// 显示SIM卡信息
document.getElementById("cbi-siminfo").style.display="block";
}
//SIM卡其他状态锁定等
else
{
// 更新提示信息
document.getElementById("info_message").innerHTML="<strong>"+sim_status+"</strong>";
// 显示提示信息
document.getElementById("cbi-info").style.display="block";
// 显示SIM卡信息
document.getElementById("cbi-siminfo").style.display="block";
}
//SIM卡未准备或网络未连接
if (sim_status!="ready"||connect_status!="connect")
{
// 隐藏网络信息
document.getElementById("cbi-networkinfo").style.display="none";
// 隐藏小区信息
document.getElementById("cbi-cellinfo").style.display="none";
}
}
//网络信息界面和小区信息界面
function network_info_view(connect_status)
{
//已连接
if (connect_status=="connect")
{
// 显示网络信息
document.getElementById("cbi-networkinfo").style.display="block";
// 显示小区信息
document.getElementById("cbi-cellinfo").style.display="block";
}
//未连接
else
{
// 隐藏网络信息
document.getElementById("cbi-networkinfo").style.display="none";
// 隐藏小区信息
document.getElementById("cbi-cellinfo").style.display="none";
}
}
// 更新模组信息
function update()
{
//获取选中的AT串口
var at_port=modem_select.options[modem_select.selectedIndex].value;
//获取模组信息
XHR.get('<%=luci.dispatcher.build_url("admin", "network", "modem", "get_modem_info")%>', {"port":at_port},
function(x, data)
{
console.log(data);
var modem_info=data["modem_info"];
var translation=data["translation"];
// 设备信息
var device_info=modem_info["device_info"];
set_info(device_info);
// 更多信息
var more_info=modem_info["more_info"];
//基本信息
var base_info=more_info["base_info"];
set_info(base_info);
//基本信息界面控制
base_info_view(base_info["manufacturer"]);
//未适配模组
if (base_info["manufacturer"]=="unknown") {
return
}
//SIM卡信息
var sim_info=more_info["sim_info"];
set_sim_info(sim_info,translation);
//SIM卡信息显示控制
var sim_status=sim_info[0]["SIM Status"];
sim_info_view(sim_status,device_info["connect_status"]);
//SIM卡未插入或SIM卡被锁定
if (sim_status!="ready"||device_info["connect_status"]!="connect") {
return
}
//网络信息
var network_info=more_info["network_info"];
set_network_info(network_info,translation);
//小区信息
var cell_info=more_info["cell_info"];
set_cell_info(cell_info,translation);
//网络信息和小区信息界面显示控制
network_info_view(device_info["connect_status"]);
}
);
}
// 设置AT串口选项
function set_at_port(at_ports,translation)
{
//获取模块选择框元素
var modem_select = document.getElementById('modem_select');
// 记录所选
var selected=modem_select.value;
// 删除原来的选项
modem_select.options.length=0;
//遍历每一个AT串口
for (var port of at_ports)
{
//更新keyAT串口value模块名称
for (var key in port)
{
var option = document.createElement('option');
option.value = key;
var language=navigator.language;
if (port[key].includes("unknown"))
{
option.text = translation[port[key]];
}
else
{
option.text = port[key];
}
modem_select.appendChild(option);
}
}
// 恢复原来的选择
for (let i = 0; i < modem_select.options.length; i++)
{
if(modem_select.options[i].value == selected)
{
modem_select.selectedIndex=i;
break;
}
}
}
// 定时触发更新AT串口和模组数据
XHR.poll(5,'<%=luci.dispatcher.build_url("admin", "network", "modem", "get_at_port")%>', null,
function(x, data)
{
var at_ports=data["at_ports"];
var translation=data["translation"];
//设置AT串口选项
set_at_port(at_ports,translation);
//更新模组信息
if (Object.keys(at_ports).length==0)
{
no_modems_view();
}
else
{
update();
}
}
);
//无模组界面
function no_modems_view()
{
// 更新提示信息
document.getElementById("info_message").innerHTML='<strong><%:No modems found%></strong> <a href="https://blog.siriling.com:1212/2023/03/18/openwrt-5g-modem/#zi-dong-sao-miao-shi-bie-gong-neng" target="_blank"><%:(Check the reason)%></a>';
// 显示提示信息
document.getElementById("cbi-info").style.display="block";
// 隐藏基本信息
document.getElementById("cbi-baseinfo").style.display="none";
// 隐藏SIM卡信息
document.getElementById("cbi-siminfo").style.display="none";
// 隐藏网络信息
document.getElementById("cbi-networkinfo").style.display="none";
// 隐藏小区信息
document.getElementById("cbi-cellinfo").style.display="none";
}
//]]>
</script>
<div class="cbi-map" id="cbi-modem">
<h2 name="content"><%:Modem Information%></h2>
<div class="cbi-map-descr"><%:Check the information of the adapted modem%></div>
<fieldset class="cbi-section" id="cbi-info" style="display: block;">
<div class="cbi-section fade-in">
<h3><%:Message%></h3>
<table class="table">
<tbody id="message">
<tr class="tr">
<td class="td left">
<div id="info_message">
<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>"/>
<%:Loading modem information%>...
</div>
</td>
<td class="td left"></td>
</tr>
</tbody>
</table>
</div>
</fieldset>
<fieldset class="cbi-section" id="cbi-baseinfo" style="display: none;">
<div class="cbi-section fade-in">
<h3><%:Base Information%></h3>
<table class="table" id="base_info">
<tbody>
<tr class="tr">
<td class="td left"><%:Modem Name%></td>
<td class="td left" id="modem_name">
<select name="modem_select" id="modem_select"></select>
</td>
</tr>
<tr class="tr"><td class="td left"><%:Manufacturer%></td><td class="td left" id="manufacturer"></td></tr>
<tr class="tr"><td class="td left"><%:Revision%></td><td class="td left" id="revision"></td></tr>
<tr class="tr"><td class="td left"><%:Data Interface%></td><td class="td left" id="data_interface"></td></tr>
<tr class="tr"><td class="td left"><%:Mode%></td><td class="td left" id="mode"></td></tr>
<tr class="tr"><td class="td left"><%:AT Port%></td><td class="td left" id="at_port"></td></tr>
<tr class="tr"><td class="td left"><%:Mobile Network%></td><td class="td left" id="network"></td></tr>
<tr class="tr"><td class="td left"><%:Temperature%></td><td class="td left" id="temperature"></td></tr>
<tr class="tr"><td class="td left"><%:Update Time%></td><td class="td left" id="update_time"></td></tr>
</tbody>
</table>
</div>
</fieldset>
<% if nosms == 0 then %>
<% end %>
<fieldset class="cbi-section" id="cbi-siminfo" style="display: none;">
<div class="cbi-section fade-in">
<h3><%:SIM Information%></h3>
<table class="table" id="sim_info"></table>
</div>
</fieldset>
<fieldset class="cbi-section" id="cbi-networkinfo" style="display: none;">
<div class="cbi-section fade-in">
<h3><%:Network Information%></h3>
<table id="network_info" class="table"></table>
</div>
</fieldset>
<fieldset class="cbi-section" id="cbi-cellinfo" style="display: none;">
<div class="cbi-section fade-in">
<h3><%:Cell Information%></h3>
<table class="table" id="cell_info"></table>
</div>
</fieldset>
<!-- <fieldset class="cbi-section" id="cbi-stationinfo" style="display: none;">
<h3><%:基站信息%></h3>
<table width="100%" cellspacing="10">
<tr><td width="20%"><%:MCC/MNC 国家码/网络码 %> :</td><td id="mcc"></td><td id="mnc"></td></tr>
<tr><td width="20%"><%:eNB ID : %></td><td><ul><span id="rnc" class="r"></span><span id="rncn" class="r"></span></ul></td><td></td></tr>
<tr><td width="20%"><%:TAC : %></td><td><ul><span id="lac" class="r"></span><span id="lacn" class="r"></span></ul></td><td></td></tr>
<tr><td width="20%"><%:Cell ID : %></td><td><ul><span id="cid" class="r"></span><span id="cidn" class="r"></span></ul></td><td></td></tr>
<tr><td width="20%"><%:Band 频段 : %></td><td id="lband"></td><td></td></tr>
<tr><td width="20%"><%:Channel 频点 : %></td><td id="channel"></td><td></td></tr>
<tr><td width="20%"><%:PCI 物理小区标识 : %></td><td id="pci"></td><td></td></tr>
<tr><td width="20%"><%:Maximum Qos 最大Qos级别 : %></td><td><ul><span id="down" class="r"></span><span id="up" class="r"></span></ul></td><td></td></tr>
</table>
</fieldset> -->
<% if havegps == 1 then %>
<!-- <fieldset class="cbi-section" id="cbi-gpsinfo">
<h3><%:GPS 定位%></h3>
<table>
<tr>
<td width="30%"><div align="right"><%:纬度 %> :</div></td>
<td><ul id="lat"></ul></td>
<td width="1%">&nbsp;</td>
</tr>
<tr>
<td><div align="right"><%:经度 %> :</div></td>
<td><ul id="long"></ul></td>
<td>&nbsp;</td>
</tr>
</table>
</fieldset> -->
<% end %>
</div>
<%+footer%>