add set imei section

This commit is contained in:
fujr 2024-05-11 14:26:25 +08:00
parent 7d40dbdd89
commit a0c2660804

View File

@ -3,6 +3,8 @@
<script type="text/javascript">//<![CDATA[ <script type="text/javascript">//<![CDATA[
window.onload = function () { window.onload = function () {
//获取模组选择框元素 //获取模组选择框元素
var modem_select = document.getElementById('modem_select'); var modem_select = document.getElementById('modem_select');
//更换模组AT串口时触发 //更换模组AT串口时触发
@ -264,7 +266,7 @@
//显示模组选择界面 //显示模组选择界面
document.getElementById("cbi-modem").style.display = "block"; document.getElementById("cbi-modem").style.display = "block";
//显示标签菜单界面 //显示标签菜单界面
document.getElementById("tab_menu").style.display = "block"; document.getElementById("tab_menu").style.display = "flex";
//显示标签内容界面 //显示标签内容界面
document.getElementById("tab_context").style.display = "block"; document.getElementById("tab_context").style.display = "block";
//隐藏AT命令标题 //隐藏AT命令标题
@ -475,22 +477,22 @@
if (dont_edit_flag == null) { if (dont_edit_flag == null) {
document.getElementById("tab_menu").setAttribute("dont_edit", "true"); document.getElementById("tab_menu").setAttribute("dont_edit", "true");
for (key in network_prefer) { for (key in network_prefer) {
//设置偏好配置 //设置偏好配置
var prefer_config_element = document.getElementById('prefer_config_' + key.toLowerCase()); var prefer_config_element = document.getElementById('prefer_config_' + key.toLowerCase());
if (prefer_config_element != null) { if (prefer_config_element != null) {
prefer_config_element.checked = network_prefer[key]; prefer_config_element.checked = network_prefer[key];
}
} }
}
} }
} }
function set_lockband_info(lockband_info, first_cache) { function set_lockband_info(lockband_info, first_cache) {
//获取锁频 //获取锁频
var current_lockband = lockband_info["lock_band"]; var current_lockband = lockband_info["lock_band"];
var avalible_lockband = lockband_info["available_band"]; var avalible_lockband = lockband_info["available_band"];
//可选锁频配置td //可选锁频配置td
var avalible_lockband_td = document.getElementById('lockband_custom_config_values'); var avalible_lockband_td = document.getElementById('lockband_custom_config');
//设置偏好选项和复选框 //设置偏好选项和复选框
if (first_cache) { if (first_cache) {
@ -605,10 +607,12 @@
var network_prefer_config = {}; var network_prefer_config = {};
var checkboxes = document.getElementById('prefer_custom_config').querySelectorAll('input[type="checkbox"]'); var checkboxes = document.getElementById('prefer_custom_config').querySelectorAll('input[type="checkbox"]');
for (checkbox of checkboxes) { for (checkbox of checkboxes) {
network_prefer_config[checkbox.value.toUpperCase()] = Number(checkbox.checked); network_prefer_config[checkbox.value.toUpperCase()] = Number(checkbox.checked);
} }
//stringify
network_prefer_config = JSON.stringify(network_prefer_config);
//设置偏好 //设置偏好
XHR.get('<%=luci.dispatcher.build_url("admin", "network", "modem", "set_network_prefer")%>', { "port": at_port, "prefer_config": network_prefer_config }, XHR.get('<%=luci.dispatcher.build_url("admin", "network", "modem", "set_network_prefer")%>', { "port": at_port, "prefer_config": network_prefer_config },
function (x, data) { function (x, data) {
@ -632,7 +636,6 @@
var at_port = document.getElementById("modem_select").value; var at_port = document.getElementById("modem_select").value;
//获取偏好配置 //获取偏好配置
var network_prefer_config = {};
lockband_config = "" lockband_config = ""
var checkboxes = document.querySelectorAll('input[name="lockband_option"]:checked'); var checkboxes = document.querySelectorAll('input[name="lockband_option"]:checked');
for (checkbox of checkboxes) { for (checkbox of checkboxes) {
@ -645,7 +648,7 @@
function (x, data) { function (x, data) {
var current_lockband = data["lock_band"]; var current_lockband = data["lock_band"];
var avalible_lockband = data["available_band"]; var avalible_lockband = data["available_band"];
var avalible_lockband_td = document.getElementById('lockband_custom_config_values'); var avalible_lockband_td = document.getElementById('lockband_custom_config');
for (key in avalible_lockband) { for (key in avalible_lockband) {
id = "lockband_config_" + key; id = "lockband_config_" + key;
checkbox_get = document.getElementById(id); checkbox_get = document.getElementById(id);
@ -742,6 +745,9 @@
} }
); );
} }
else if (data_tab == "set_imei") {
get_imei_info();
}
} }
// 更新neighbor cell信息 // 更新neighbor cell信息
@ -790,7 +796,7 @@
var rat = document.getElementById("rat_select").value; var rat = document.getElementById("rat_select").value;
var scs = document.getElementById("scs_select").value; var scs = document.getElementById("scs_select").value;
var nrband = document.getElementById("nrband_input").value; var nrband = document.getElementById("nrband_input").value;
XHR.get('<%=luci.dispatcher.build_url("admin", "network", "modem", "set_lock_cell")%>', { "port": at_port, "func": this.id.replace("lockcell_feature_",""), "pci": pci, "arfcn": arfcn, "celltype": rat, "scs": scs, "nrband": nrband}, XHR.get('<%=luci.dispatcher.build_url("admin", "network", "modem", "set_lock_cell")%>', { "port": at_port, "func": this.id.replace("lockcell_feature_", ""), "pci": pci, "arfcn": arfcn, "celltype": rat, "scs": scs, "nrband": nrband },
function (x, data) { function (x, data) {
console.log(data["response"]); console.log(data["response"]);
update_cell_config(); update_cell_config();
@ -802,42 +808,48 @@
lockcell_status = data["lockcell_status"]; lockcell_status = data["lockcell_status"];
neighbor_cells = { neighbor_cells = {
"LTE" : data["LTE"], "LTE": data["LTE"],
"NR" : data["NR"] "NR": data["NR"]
} }
for (type in neighbor_cells) { try{
for (cell_info of neighbor_cells[type]) { for (type in neighbor_cells) {
for (cell_info of neighbor_cells[type]) {
rat = type == "LTE" ? 0 : 1; rat = type == "LTE" ? 0 : 1;
cell_info["rat"] = rat; cell_info["rat"] = rat;
innerHTML = `RAT:${type} ` innerHTML = `RAT:${type} `
console.log(innerHTML) console.log(innerHTML)
for (cell_info_key in cell_info){ for (cell_info_key in cell_info) {
if (cell_info[cell_info_key] == "") { if (cell_info[cell_info_key] == "") {
continue continue
}
innerHTML += `${cell_info_key}:${cell_info[cell_info_key]} `
} }
innerHTML += `${cell_info_key}:${cell_info[cell_info_key]} ` cell_tr = document.createElement('tr');
} cell_tr.className = "tr";
cell_tr = document.createElement('tr'); cell_td_left = document.createElement('td');
cell_tr.className = "tr"; cell_td_left.className = "td";
cell_td_left = document.createElement('td'); cell_td_left.innerHTML = innerHTML;
cell_td_left.className = "td"; cell_td_right = document.createElement('td');
cell_td_left.innerHTML = innerHTML; cell_td_right.className = "td";
cell_td_right = document.createElement('td'); copy_botton = document.createElement('input');
cell_td_right.className = "td"; copy_botton.type = "button";
copy_botton = document.createElement('input'); copy_botton.innerHTML = "Copy";
copy_botton.type = "button"; copy_botton.className = "cbi-button";
copy_botton.innerHTML = "Copy"; copy_botton.value = "Copy";
copy_botton.className = "cbi-button";
copy_botton.value = "Copy";
copy_botton.onclick = onclick_copy_fun_gen(cell_info); copy_botton.onclick = onclick_copy_fun_gen(cell_info);
cell_td_right.appendChild(copy_botton); cell_td_right.appendChild(copy_botton);
cell_tr.appendChild(cell_td_left); cell_tr.appendChild(cell_td_left);
cell_tr.appendChild(cell_td_right); cell_tr.appendChild(cell_td_right);
neighbor_cell_info.appendChild(cell_tr); neighbor_cell_info.appendChild(cell_tr);
}
} }
} }
catch (e) {
console.log(e);
}
lockcell_status_div = document.getElementById('current_cell_status'); lockcell_status_div = document.getElementById('current_cell_status');
childElements = lockcell_status_div.childNodes; childElements = lockcell_status_div.childNodes;
@ -895,6 +907,37 @@
} }
} }
function set_imei() {
var at_port = document.getElementById("modem_select").value;
var imei = document.getElementById("imei1_input").value;
XHR.get('<%=luci.dispatcher.build_url("admin", "network", "modem", "set_imei")%>', { "port": at_port, "imei": imei },
function (x, data) {
set_imei_view(data);
}
);
}
function set_imei_view(imei_info) {
var imei = imei_info["imei"];
document.getElementById("imei1_input").value = imei;
}
function get_imei_info() {
var at_port = document.getElementById("modem_select").value;
//set dont_edit flag
var dont_edit = document.getElementById("tab_menu").getAttribute("dont_edit");
if (dont_edit == null) {
document.getElementById("tab_menu").setAttribute("dont_edit", "true");
XHR.get('<%=luci.dispatcher.build_url("admin", "network", "modem", "get_imei")%>', { "port": at_port },
function (x, data) {
set_imei_view(data);
}
);
}
}
// 定时触发更新AT串口 // 定时触发更新AT串口
XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "network", "modem", "get_at_port")%>', null, XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "network", "modem", "get_at_port")%>', null,
(function () { (function () {
@ -1024,6 +1067,12 @@
text-align: center; text-align: center;
display: none; display: none;
} }
#lockcell_feature {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
</style> </style>
</head> </head>
@ -1089,6 +1138,9 @@
<li class="cbi-tab-disabled" data-tab="at_command_tab"><a href="#"> <li class="cbi-tab-disabled" data-tab="at_command_tab"><a href="#">
<%:AT Command%> <%:AT Command%>
</a></li> </a></li>
<li class="cbi-tab-disabled" data-tab="set_imei_tab"><a href="#">
<%:Set IMEI%>
</a></li>
</ul> </ul>
<div class="cbi-section-node cbi-section-node-tabbed" id="tab_context"> <div class="cbi-section-node cbi-section-node-tabbed" id="tab_context">
@ -1136,10 +1188,8 @@
</td> </td>
<td class="td"> <td class="td">
<div> <div>
<button class="btn cbi-button cbi-button-apply" id="mode_button" <input type="button" class="cbi-button-apply" id="mode_button" onclick="set_mode()"
onclick="set_mode()" alt="<%:Apply%>" title="<%:Apply%>"> alt="<%:Apply%>" value="<%:Apply%>">
<%:Apply%>
</button>
</div> </div>
</td> </td>
</tr> </tr>
@ -1157,7 +1207,9 @@
<th class="th cbi-section-table-cell"> <th class="th cbi-section-table-cell">
<%:Config%> <%:Config%>
</th> </th>
<th class="th cbi-section-table-cell cbi-section-actions"></th> <th class="th cbi-section-table-cell cbi-section-actions">
<%:Apply%>
</th>
</tr> </tr>
<tr class="tr cbi-section-table-row cbi-rowstyle-1"> <tr class="tr cbi-section-table-row cbi-rowstyle-1">
<td class="td cbi-value-field" data-title="<%:Config%>" id="prefer_custom_config"> <td class="td cbi-value-field" data-title="<%:Config%>" id="prefer_custom_config">
@ -1186,14 +1238,11 @@
</div> </div>
</td> </td>
<td class="td"> <td class="td">
<div> <input type="button" class="cbi-button-apply" id="network_prefer_button"
<button class="btn cbi-button cbi-button-apply" id="network_prefer_button" onclick="set_network_prefer()" value="<%:Apply%>">
onclick="set_network_prefer()" alt="<%:Apply%>" title="<%:Apply%>">
<%:Apply%>
</button>
</div>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
@ -1209,250 +1258,256 @@
</th> </th>
</tr> </tr>
<tr class="tr cbi-section-table-row"> <tr class="tr cbi-section-table-row">
<td class="td cbi-value-field" data-title="<%:Config%>" id="lockband_custom_config"
class="width:80%;">
<div id="lockband_custom_config_values">
</div>
<div>
<div>
<button class="btn cbi-button cbi-button-apply" id="lockband_button"
onclick="all_choose_lockband_custom_config()" alt="<%:Select All Band>"
title="<%:Select All Band%>">
<%:Select All Band%>
</button>
<button class="btn cbi-button cbi-button-apply" id="lockband_button"
onclick="set_lockband()" alt="<%:Apply%>" title="<%:Apply%>">
<%:Apply%>
</button>
</div>
</div>
<td class="td cbi-value-field" data-title="<%:Config%>" id="lockband_custom_config">
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<input type="button" class="cbi-button-apply" onclick="all_choose_lockband_custom_config()"value="<%:Select All Band%>">
<input type="button" class="cbi-button-apply" onclick="set_lockband()" value="<%:Apply%>">
</div> </div>
<div class="cbi-section" data-tab="lockcell_tab" data-tab-title="<%:Lock Cell/Arfcn Settings%>"
data-tab-active="false" style="display: none;">
<h3 id="Lock Cell/Arfcn_title">
<%:Current Settings%>
</h3>
<table class="table" id="CurrentStatus">
<tbody id="current_cell_status">
</tbody>
</table>
<h3 id="Lock Cell/Arfcn_title">
<%:Available Neighbor%>
</h3>
<table class="table" id="AvailableNeighbor">
<tbody id="neighbor_cell_info">
</tbody>
</table>
<!-- <legend><%:AT Command%></legend> -->
<h3 id="Lock Cell/Arfcn_title">
<%:Lock Cell/Arfcn Settings%>
</h3>
<table class="table" id="lockcell_info">
<tbody>
<tr class="tr">
<td class="td left">
<%:Select Rat%>
</td>
<td class="td left">
<select name="rat_select" id="rat_select" class="cbi-input-select" onchange="lockcell_rat_onchange()">
<option value="0">4G</option>
<option value="1" >5G</option>
</select>
</td>
</tr>
<tr class="tr">
<td class="td left">
<%:Enter Arfcn%>
</td>
<td class="td left">
<div>
<input type="text" id="arfcn_input" class="cbi-input-text"></input>
</div> <div class="cbi-section" data-tab="lockcell_tab" data-tab-title="<%:Lock Cell/Arfcn Settings%>"
</td> data-tab-active="false" style="display: none;">
</tr> <h3 id="Lock Cell/Arfcn_title">
<tr class="tr"> <%:Current Settings%>
<td class="td left"> </h3>
<%:Enter PCI%> <table class="table" id="CurrentStatus">
</td> <tbody id="current_cell_status">
<td class="td left"> </tbody>
<div> </table>
<input type="text" id="pci_input" class="cbi-input-text"></input> <h3 id="Lock Cell/Arfcn_title">
</div> <%:Available Neighbor%>
</td> </h3>
</tr> <table class="table" id="AvailableNeighbor">
<tr class="tr" id="scs_input_tr" style="display:none;"> <tbody id="neighbor_cell_info">
<td class="td left"> </tbody>
<%:Enter SCS%> </table>
</td> <!-- <legend><%:AT Command%></legend> -->
<td class="td left"> <h3 id="Lock Cell/Arfcn_title">
<select name="rat_select" id="scs_select" class="cbi-input-select"> <%:Lock Cell/Arfcn Settings%>
<option value="0">15KHZ</option> </h3>
<option value="1" >30KHZ</option> <table class="table" id="lockcell_info">
<option value="2" >60KHZ</option> <tbody>
</select> <tr class="tr">
</td> <td class="td left">
</tr> <%:Select Rat%>
<tr class="tr" id="nr_input_tr" style="display:none;"> </td>
<td class="td left"> <td class="td left">
<%:Enter NRBAND%> <select name="rat_select" id="rat_select" class="cbi-input-select"
</td> onchange="lockcell_rat_onchange()">
<td class="td left"> <option value="0">4G</option>
<div> <option value="1">5G</option>
<input type="text" id="nrband_input" class="cbi-input-text"></input> </select>
</div> </td>
</td> </tr>
</tr> <tr class="tr">
<tr class="tr"> <td class="td left">
<td class="td left"> <%:Enter Arfcn%>
<%:Submit%> </td>
</td> <td class="td left">
<td class="td left"> <div>
<div id="lockcell_feature"> <input type="text" id="arfcn_input" class="cbi-input-text"></input>
<!-- <input class="cbi-button cbi-button-apply" type="button" value="<%:Unlock Cell%>"
onclick="unlock_cell()" alt="<%:Unlock Cell%>" title="<%:Unlock Cell%>"> </div>
<input class="cbi-button cbi-button-apply" type="button" value="<%:Lock Current%>" </td>
onclick="lock_current_cell()" alt="<%:Lock Current%>" title="<%:Lock Current%>"> </tr>
<input class="cbi-button cbi-button-reset" type="button" value="<%:Lock PCI%>" <tr class="tr">
onclick="lock_pci()" alt="<%:Lock PCI%>" title="<%:Lock PCI%>"> <td class="td left">
<input class="cbi-button cbi-button-reset" type="button" value="<%:Lock ARFCN%>" <%:Enter PCI%>
onclick="lock_arfcn()" alt="<%:Lock ARFCN%>" title="<%:Lock ARFCN%>"> --> </td>
</div> <td class="td left">
</td> <div>
</tr> <input type="text" id="pci_input" class="cbi-input-text"></input>
<span></span> </div>
</tbody> </td>
</table> </tr>
<tr class="tr" id="scs_input_tr" style="display:none;">
<td class="td left">
<%:Enter SCS%>
</td>
<td class="td left">
<select name="rat_select" id="scs_select" class="cbi-input-select">
<option value="0">15KHZ</option>
<option value="1">30KHZ</option>
<option value="2">60KHZ</option>
</select>
</td>
</tr>
<tr class="tr" id="nr_input_tr" style="display:none;">
<td class="td left">
<%:Enter NRBAND%>
</td>
<td class="td left">
<div>
<input type="text" id="nrband_input" class="cbi-input-text"></input>
</div>
</td>
</tr>
<tr class="tr">
<td class="td left">
<%:Submit%>
</td>
<td class="td left">
<div id="lockcell_feature">
</div>
</td>
</tr>
<span></span>
</tbody>
</table>
</div> </div>
<!-- <div class="cbi-section fade-in"> --> <!-- <div class="cbi-section fade-in"> -->
<div class="cbi-section" data-tab="self_test_tab" data-tab-title="<%:Self Test%>" data-tab-active="false" <div class="cbi-section" data-tab="self_test_tab" data-tab-title="<%:Self Test%>" data-tab-active="false"
style="display: none;"> style="display: none;">
<!-- <legend><%:Self Test%></legend> --> <!-- <legend><%:Self Test%></legend> -->
<!-- <h3><%:Self Test%></h3> --> <!-- <h3><%:Self Test%></h3> -->
<table class="table cbi-section-table"> <table class="table cbi-section-table">
<tbody> <tbody>
<tr class="tr cbi-section-table-titles anonymous"> <tr class="tr cbi-section-table-titles anonymous">
<th class="th cbi-section-table-cell"> <th class="th cbi-section-table-cell">
<%:Item%> <%:Item%>
</th> </th>
<th class="th cbi-section-table-cell"> <th class="th cbi-section-table-cell">
<%:Current%> <%:Current%>
</th> </th>
<th class="th cbi-section-table-cell"> <th class="th cbi-section-table-cell">
<%:Status%> <%:Status%>
</th> </th>
</tr> </tr>
<tr class="tr cbi-section-table-row cbi-rowstyle-1"> <tr class="tr cbi-section-table-row cbi-rowstyle-1">
<td class="td cbi-value-field" data-title="<%:Item%>" id="voltage_label"> <td class="td cbi-value-field" data-title="<%:Item%>" id="voltage_label">
<%:Voltage%> <%:Voltage%>
</td> </td>
<td class="td cbi-value-field" data-title="<%:Current%>" id="current_voltage"></td> <td class="td cbi-value-field" data-title="<%:Current%>" id="current_voltage"></td>
<td class="td cbi-value-field" data-title="<%:Status%>" id="voltage_status">-</td> <td class="td cbi-value-field" data-title="<%:Status%>" id="voltage_status">-</td>
</tr> </tr>
<tr class="tr cbi-section-table-row cbi-rowstyle-2"> <tr class="tr cbi-section-table-row cbi-rowstyle-2">
<td class="td cbi-value-field" data-title="<%:Item%>" id="temperature_label"> <td class="td cbi-value-field" data-title="<%:Item%>" id="temperature_label">
<%:Temperature%> <%:Temperature%>
</td> </td>
<td class="td cbi-value-field" data-title="<%:Current%>" id="current_temperature"></td> <td class="td cbi-value-field" data-title="<%:Current%>" id="current_temperature"></td>
<td class="td cbi-value-field" data-title="<%:Status%>" id="temperature_status">-</td> <td class="td cbi-value-field" data-title="<%:Status%>" id="temperature_status">-</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
<!-- <div class="cbi-section fade-in"> --> <!-- <div class="cbi-section fade-in"> -->
<div class="cbi-section" data-tab="at_command_tab" data-tab-title="<%:AT Command%>" data-tab-active="false" <div class="cbi-section" data-tab="at_command_tab" data-tab-title="<%:AT Command%>" data-tab-active="false"
style="display: none;"> style="display: none;">
<!-- <legend><%:AT Command%></legend> --> <!-- <legend><%:AT Command%></legend> -->
<h3 id="at_command_title"> <h3 id="at_command_title">
<%:AT Command%> <%:AT Command%>
</h3> </h3>
<table class="table" id="at_command_info"> <table class="table" id="at_command_info">
<tbody> <tbody>
<!-- <tr class="tr"> <!-- <tr class="tr">
<td class="td left"><%:Modem Select%></td> <td class="td left"><%:Modem Select%></td>
<td class="td left"><select name="modem_select" id="modem_select" class="cbi-input-select"></select></td> <td class="td left"><select name="modem_select" id="modem_select" class="cbi-input-select"></select></td>
</tr> --> </tr> -->
<tr class="tr"> <tr class="tr">
<td class="td left"> <td class="td left">
<%:Quick Option%> <%:Quick Option%>
</td> </td>
<td class="td left" id="quick_option_td"> <td class="td left" id="quick_option_td">
<div> <div>
<span class="cbi-radio"> <span class="cbi-radio">
<input type="radio" name="quick_option" value="auto" checked="true"> <input type="radio" name="quick_option" value="auto" checked="true">
<span> <span>
<%:Auto%> <%:Auto%>
</span>
</span>&nbsp;
<span class="cbi-radio">
<input type="radio" name="quick_option" value="custom">
<span>
<%:Custom%>
</span>
</span> </span>
</div> </span>&nbsp;
</td> <span class="cbi-radio">
</tr> <input type="radio" name="quick_option" value="custom">
<tr class="tr"> <span>
<td class="td left"> <%:Custom%>
<%:Quick Commands%> </span>
</td> </span>
<td class="td left"><select name="command_select" id="command_select" </div>
class="cbi-input-select"></select></td> </td>
</tr> </tr>
<tr class="tr"> <tr class="tr">
<td class="td left"> <td class="td left">
<%:Enter Command%> <%:Quick Commands%>
</td> </td>
<td class="td left"> <td class="td left"><select name="command_select" id="command_select"
<div> class="cbi-input-select"></select></td>
<input type="text" id="at_command" class="cbi-input-text"></input> </tr>
</div> <tr class="tr">
<div> <td class="td left">
<input class="cbi-button cbi-button-apply" type="button" value="<%:Send%>" <%:Enter Command%>
onclick="send_at_command()" alt="<%:Send%>" title="<%:Send%>"> </td>
<input class="cbi-button cbi-button-reset" type="button" value="<%:Clean%>" <td class="td left">
onclick="clean_at_command()" alt="<%:Clean%>" title="<%:Clean%>"> <div>
</div> <input type="text" id="at_command" class="cbi-input-text"></input>
</td> </div>
</tr> <div>
<tr class="tr"> <input class="cbi-button cbi-button-apply" type="button" value="<%:Send%>"
<td colspan="2" class="td left"> onclick="send_at_command()" alt="<%:Send%>" title="<%:Send%>">
<div id="response_label"> <input class="cbi-button cbi-button-reset" type="button" value="<%:Clean%>"
<%:Response%> onclick="clean_at_command()" alt="<%:Clean%>" title="<%:Clean%>">
</div><br /> </div>
<div><textarea readonly="readonly" id="response" rows="20" maxlength="160"></textarea> </td>
</div> </tr>
<div class="cbi-page-actions"> <tr class="tr">
<input class="btn cbi-button cbi-button-link" type="button" <td colspan="2" class="td left">
value="<%:Return to old page%>" <div id="response_label">
onclick="location.href='/cgi-bin/luci/admin/network/modem/at_command_old'" <%:Response%>
alt="<%:Return to old page%>" title="<%:Return to old page%>"> </div><br />
<input class="btn cbi-button cbi-button-link" type="button" <div><textarea readonly="readonly" id="response" rows="20" maxlength="160"></textarea>
value="<%:Custom quick commands%>" </div>
onclick="location.href='/cgi-bin/luci/admin/network/modem/quick_commands_config'" <div class="cbi-page-actions">
alt="<%:Custom quick commands%>" title="<%:Custom quick commands%>"> <input class="btn cbi-button cbi-button-link" type="button"
<input class="cbi-button cbi-button-reset" type="button" value="<%:Clean%>" value="<%:Return to old page%>"
onclick="clean_response()" alt="<%:Clean%>" title="<%:Clean%>"> onclick="location.href='/cgi-bin/luci/admin/network/modem/at_command_old'"
</div> alt="<%:Return to old page%>" title="<%:Return to old page%>">
</td> <input class="btn cbi-button cbi-button-link" type="button"
</tr> value="<%:Custom quick commands%>"
</tbody> onclick="location.href='/cgi-bin/luci/admin/network/modem/quick_commands_config'"
</table> alt="<%:Custom quick commands%>" title="<%:Custom quick commands%>">
</div> <input class="cbi-button cbi-button-reset" type="button" value="<%:Clean%>"
onclick="clean_response()" alt="<%:Clean%>" title="<%:Clean%>">
</div>
</td>
</tr>
</tbody>
</table>
</div> </div>
<div class="cbi-section" data-tab="set_imei_tab" data-tab-title="<%:Set IMEI%>" data-tab-active="false"
style="display: none;">
<table class="table cbi-section-table">
<tbody id="imei_setting">
<tr class="tr cbi-section-table-titles anonymous">
<th>
<%:IMEI%>
</th>
<th>
<%:Set IMEI%>
</th>
</tr>
<tr class="tr">
<td class="td" style="width: auto;">
<%:IMEI%>
</td>
<td class="td cbi-value-field">
<input type="text" id="imei1_input" class="cbi-input-text"></input>
</td>
</tr>
</tbody>
</table>
<input type="button" class="cbi-button-apply" onclick="set_imei()" value="<%:Apply%>">
</div>
</div>
</div> </div>
<%+footer%> <%+footer%>