200-wireless 892 B

1234567891011121314151617181920212223242526272829303132333435
  1. #!/usr/bin/lua
  2. local util = require 'gluon.util'
  3. local uci = require('luci.model.uci').cursor()
  4. local site = require 'gluon.site_config'
  5. local sysconfig = require 'gluon.sysconfig'
  6. -- Initial
  7. if not sysconfig.gluon_version then
  8. uci:delete_all('wireless', 'wifi-iface')
  9. end
  10. local function get_channel(radio, config)
  11. if uci:get_first('gluon-core', 'wireless', 'preserve_channels') then
  12. return uci:get('wireless', radio, 'channel') or config.channel
  13. else
  14. return config.channel
  15. end
  16. end
  17. local function configure_radio(radio, index, config)
  18. if config then
  19. local channel = get_channel(radio, config)
  20. uci:delete('wireless', radio, 'disabled')
  21. uci:set('wireless', radio, 'channel', channel)
  22. uci:set('wireless', radio, 'htmode', 'HT20')
  23. uci:set('wireless', radio, 'country', site.regdom)
  24. end
  25. end
  26. util.iterate_radios(configure_radio)
  27. uci:save('wireless')