Skip to content
Permalink
Browse files

modules/base: work around wireless status changes

The latest netifd updates changed the ubus wireless status reporting in a
way that breaks the current LuCI integration. Work around the changed
format by translating the extended UCI section syntax back to the plain one.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
  • Loading branch information...
jow- committed Oct 21, 2014
1 parent ff65318 commit ecb0c2f11b861e5035b0397d2396ee4b5e9b3c3e
Showing with 14 additions and 2 deletions.
  1. +14 −2 modules/base/luasrc/model/network.lua
@@ -135,13 +135,25 @@ function _wifi_iface(x)
end

function _wifi_state(key, val, field)
local radio, radiostate, ifc, ifcstate

if not next(_ubuswificache) then
_ubuswificache = _ubus:call("network.wireless", "status", {}) or {}

-- workaround extended section format
for radio, radiostate in pairs(_ubuswificache) do
for ifc, ifcstate in pairs(radiostate.interfaces) do
if ifcstate.section and ifcstate.section:sub(1, 1) == '@' then
local s = _uci_real:get_all('wireless.%s' % ifcstate.section)
if s then
ifcstate.section = s['.name']
end
end
end
end
end

local radio, radiostate
for radio, radiostate in pairs(_ubuswificache) do
local ifc, ifcstate
for ifc, ifcstate in pairs(radiostate.interfaces) do
if ifcstate[key] == val then
return ifcstate[field]

0 comments on commit ecb0c2f

Please sign in to comment.
You can’t perform that action at this time.