#!/usr/bin/lua local util = require 'gluon.util' local uci = require('luci.model.uci').cursor() local site = require 'gluon.site_config' local sysconfig = require 'gluon.sysconfig' -- Initial if not sysconfig.gluon_version then uci:delete_all('wireless', 'wifi-iface') end local function get_channel(radio, config) if uci:get_first('gluon-core', 'wireless', 'preserve_channels') then return uci:get('wireless', radio, 'channel') or config.channel else return config.channel end end local function configure_radio(radio, index, config) if config then local channel = get_channel(radio, config) uci:delete('wireless', radio, 'disabled') uci:set('wireless', radio, 'channel', channel) uci:set('wireless', radio, 'htmode', 'HT20') uci:set('wireless', radio, 'country', site.regdom) if config.supported_rates then uci:set_list('wireless', radio, 'supported_rates', config.supported_rates) else uci:delete('wireless', radio, 'supported_rates') end if config.basic_rate then uci:set_list('wireless', radio, 'basic_rate', config.basic_rate) else uci:delete('wireless', radio, 'basic_rate') end end end util.iterate_radios(configure_radio) uci:save('wireless')