2018-03-01 01:21:04 +00:00
|
|
|
#!/usr/bin/lua
|
|
|
|
|
|
|
|
-- This script needs to be sorted before 200-wireless as it affects
|
|
|
|
-- wireless channel selection and wireless mesh configuration.
|
|
|
|
|
|
|
|
local uci = require('simple-uci').cursor()
|
|
|
|
local site = require 'gluon.site'
|
|
|
|
|
|
|
|
if uci:get('gluon', 'wireless', 'outdoor') ~= nil then
|
|
|
|
-- don't overwrite existing configuration
|
|
|
|
os.exit(0)
|
|
|
|
end
|
|
|
|
|
|
|
|
local sysconfig = require 'gluon.sysconfig'
|
2019-05-20 18:49:45 +00:00
|
|
|
local platform = require 'gluon.platform'
|
2021-09-13 15:37:59 +00:00
|
|
|
local wireless = require 'gluon.wireless'
|
2018-03-01 01:21:04 +00:00
|
|
|
|
2019-04-29 14:07:03 +00:00
|
|
|
local config = site.wifi5.outdoors('preset')
|
2019-06-16 18:06:45 +00:00
|
|
|
local outdoor
|
2018-03-01 01:21:04 +00:00
|
|
|
|
|
|
|
if sysconfig.gluon_version then
|
|
|
|
-- don't enable the outdoor mode after an upgrade
|
|
|
|
outdoor = false
|
|
|
|
elseif config == 'preset' then
|
|
|
|
-- enable outdoor mode through presets on new installs
|
2021-09-13 15:37:59 +00:00
|
|
|
outdoor = platform.is_outdoor_device() and wireless.device_uses_11a(uci)
|
2018-03-01 01:21:04 +00:00
|
|
|
else
|
|
|
|
-- enable/disable outdoor mode unconditionally on new installs
|
|
|
|
outdoor = config
|
|
|
|
end
|
|
|
|
|
|
|
|
uci:section('gluon', 'wireless', 'wireless', {
|
|
|
|
outdoor = outdoor
|
|
|
|
})
|
|
|
|
|
|
|
|
uci:save('gluon')
|