78 lines
2.6 KiB
HTML
78 lines
2.6 KiB
HTML
|
<%+cbi/valueheader%>
|
||
|
|
||
|
<script type="text/javascript"><![CDATA[
|
||
|
var iwxhr = new XHR();
|
||
|
window.setInterval(function() {
|
||
|
iwxhr.get('<%=luci.dispatcher.build_url("admin", "network", "wireless_status", self.ifname)%>', null,
|
||
|
function(x)
|
||
|
{
|
||
|
var iw = x.responseText ? eval('(' + x.responseText + ')') : null;
|
||
|
if (iw)
|
||
|
{
|
||
|
var is_assoc = (iw.bssid && iw.channel);
|
||
|
var p = (100 / iw.quality_max * iw.quality);
|
||
|
var q = is_assoc ? p : -1;
|
||
|
|
||
|
var icon;
|
||
|
if (q < 0)
|
||
|
icon = "<%=resource%>/icons/signal-none.png";
|
||
|
else if (q == 0)
|
||
|
icon = "<%=resource%>/icons/signal-0.png";
|
||
|
else if (q < 25)
|
||
|
icon = "<%=resource%>/icons/signal-0-25.png";
|
||
|
else if (q < 50)
|
||
|
icon = "<%=resource%>/icons/signal-25-50.png";
|
||
|
else if (q < 75)
|
||
|
icon = "<%=resource%>/icons/signal-50-75.png";
|
||
|
else
|
||
|
icon = "<%=resource%>/icons/signal-75-100.png";
|
||
|
|
||
|
var s = document.getElementById('<%=self.option%>-iw-signal');
|
||
|
if (s)
|
||
|
s.innerHTML = String.format(
|
||
|
'<img src="%s" title="Signal: %d dBm / Noise: %d dBm" /><br />' +
|
||
|
'<small>%d%%</small>', icon, iw.signal, iw.noise, p
|
||
|
);
|
||
|
|
||
|
var d = document.getElementById('<%=self.option%>-iw-description');
|
||
|
if (d && is_assoc)
|
||
|
d.innerHTML = String.format(
|
||
|
'<strong><%:Mode%>:</strong> %s |' +
|
||
|
'<strong><%:SSID%>:</strong> %s<br />' +
|
||
|
'<strong><%:BSSID%>:</strong> %s |' +
|
||
|
'<strong><%:Encryption%>:</strong> %s<br />' +
|
||
|
'<strong><%:Channel%>:</strong> %d (%.3f GHz) |' +
|
||
|
'<strong><%:Tx-Power%>:</strong> %d dBm<br />' +
|
||
|
'<strong><%:Signal%>:</strong> %d dBm |' +
|
||
|
'<strong><%:Noise%>:</strong> %d dBm<br />' +
|
||
|
'<strong><%:Bit Rate%>:</strong> %.1f MBit/s |' +
|
||
|
'<strong><%:Country%>:</strong> %s',
|
||
|
iw.mode, iw.ssid, iw.bssid,
|
||
|
iw.encryption ? iw.encryption.description : '<%:None%>',
|
||
|
iw.channel, iw.frequency ? (iw.frequency / 1000) : 0,
|
||
|
iw.txpower, iw.signal, iw.noise,
|
||
|
iw.bitrate ? (iw.bitrate / 1000) : 0, iw.country
|
||
|
);
|
||
|
else if (d)
|
||
|
d.innerHTML = '<%:Wireless is disabled or not associated%>';
|
||
|
}
|
||
|
}
|
||
|
)
|
||
|
}, 5000);
|
||
|
]]></script>
|
||
|
|
||
|
<table>
|
||
|
<tr class="cbi-section-table">
|
||
|
<td></td>
|
||
|
<td class="cbi-value-field" style="width:16px; padding:3px" id="<%=self.option%>-iw-signal">
|
||
|
<img src="<%=resource%>/icons/signal-none.png" title="<%:Not associated%>" /><br />
|
||
|
<small>0%</small>
|
||
|
</td>
|
||
|
<td class="cbi-value-field" style="vertical-align:middle; text-align:left; padding:3px" id="<%=self.option%>-iw-description">
|
||
|
<em><%:Collecting data...%></em>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<%+cbi/valuefooter%>
|