Merge pull request #2339 from freifunk-gluon/status-page-iwinfo
gluon-status-page: use UCI + iwinfo to get channel information
This commit is contained in:
commit
b95b857aa8
@ -1,7 +1,11 @@
|
|||||||
<%-
|
<%-
|
||||||
|
local iwinfo = require 'iwinfo'
|
||||||
local ubus = require 'ubus'
|
local ubus = require 'ubus'
|
||||||
local unistd = require 'posix.unistd'
|
local unistd = require 'posix.unistd'
|
||||||
local util = require 'gluon.util'
|
local util = require 'gluon.util'
|
||||||
|
local wireless = require 'gluon.wireless'
|
||||||
|
|
||||||
|
local uci = require('simple-uci').cursor()
|
||||||
|
|
||||||
local translations = {}
|
local translations = {}
|
||||||
local site_i18n = i18n 'gluon-site'
|
local site_i18n = i18n 'gluon-site'
|
||||||
@ -35,22 +39,22 @@
|
|||||||
return interfaces
|
return interfaces
|
||||||
end
|
end
|
||||||
|
|
||||||
local function get_radios(uconn)
|
local function get_radios()
|
||||||
local radios = uconn:call("network.wireless", "status", {})
|
|
||||||
local ret = {}
|
local ret = {}
|
||||||
|
|
||||||
for radio, info in pairs(radios) do
|
wireless.foreach_radio(uci, function(radio)
|
||||||
if info.up then
|
local channel = iwinfo.nl80211.channel(wireless.find_phy(radio))
|
||||||
|
if channel then
|
||||||
table.insert(ret, {
|
table.insert(ret, {
|
||||||
name = radio,
|
name = radio['.name'],
|
||||||
channel = info.config.channel,
|
channel = channel,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
end
|
end)
|
||||||
|
|
||||||
table.sort(ret, function(a, b)
|
table.sort(ret, function(a, b)
|
||||||
return a.name < b.name
|
return a.name < b.name
|
||||||
end)
|
end)
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -72,10 +76,11 @@
|
|||||||
end
|
end
|
||||||
|
|
||||||
local interfaces = get_interfaces(uconn)
|
local interfaces = get_interfaces(uconn)
|
||||||
local radios = get_radios(uconn)
|
|
||||||
|
|
||||||
ubus.close(uconn)
|
ubus.close(uconn)
|
||||||
|
|
||||||
|
local radios = get_radios()
|
||||||
|
|
||||||
local function sorted(t)
|
local function sorted(t)
|
||||||
t = {unpack(t)}
|
t = {unpack(t)}
|
||||||
table.sort(t)
|
table.sort(t)
|
||||||
|
Loading…
Reference in New Issue
Block a user