Skip to content
Snippets Groups Projects
Unverified Commit a426312c authored by Matthias Schiffer's avatar Matthias Schiffer Committed by GitHub
Browse files

Merge pull request #2054 from freifunk-gluon/outdoor-mesh-enable

Enable 5GHz mesh interfaces when disabling outdoor mode, fix default status from site.conf
parents b3edfd29 17bc6228
No related branches found
No related tags found
No related merge requests found
...@@ -21,6 +21,24 @@ return function(form, uci) ...@@ -21,6 +21,24 @@ return function(form, uci)
if data ~= outdoor_mode then if data ~= outdoor_mode then
uci:set('gluon', 'wireless', 'outdoor', data) uci:set('gluon', 'wireless', 'outdoor', data)
uci:save('gluon') uci:save('gluon')
if data == false then
local mesh_ifaces_5ghz = {}
uci:foreach('wireless', 'wifi-device', function(config)
if config.hwmode ~= '11a' and config.hwmode ~= '11na' then
return
end
local radio_name = config['.name']
local mesh_iface = 'mesh_' .. radio_name
table.insert(mesh_ifaces_5ghz, mesh_iface)
end)
for _, mesh_iface in ipairs(mesh_ifaces_5ghz) do
uci:delete('wireless', mesh_iface)
end
uci:save('wireless')
end
os.execute('/lib/gluon/upgrade/200-wireless') os.execute('/lib/gluon/upgrade/200-wireless')
end end
end end
......
...@@ -85,7 +85,7 @@ local function is_disabled(name) ...@@ -85,7 +85,7 @@ local function is_disabled(name)
if uci:get('wireless', name) then if uci:get('wireless', name) then
return uci:get_bool('wireless', name, 'disabled') return uci:get_bool('wireless', name, 'disabled')
else else
return false return nil
end end
end end
......
local iwinfo = require 'iwinfo' local iwinfo = require 'iwinfo'
local uci = require("simple-uci").cursor() local uci = require("simple-uci").cursor()
local site = require 'gluon.site'
local wireless = require 'gluon.wireless' local wireless = require 'gluon.wireless'
...@@ -155,6 +156,9 @@ if has_5ghz_radio() then ...@@ -155,6 +156,9 @@ if has_5ghz_radio() then
for _, mesh_vif in ipairs(mesh_vifs_5ghz) do for _, mesh_vif in ipairs(mesh_vifs_5ghz) do
mesh_vif:depends(outdoor, false) mesh_vif:depends(outdoor, false)
if outdoor.default then
mesh_vif.default = not site.wifi5.mesh.disabled(false)
end
end end
function outdoor:write(data) function outdoor:write(data)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment