1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #!/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')
|