Source code for paradrop.core.config.wifi

from paradrop.lib.utils import uci

from . import uciutils


[docs]def getOSWirelessConfig(update): """ Read settings from networkInterfaces for wireless interfaces. Store wireless configuration settings in osWirelessConfig. """ # old code under lib.internal.chs.chutelxc same function name interfaces = update.cache_get('networkInterfaces') if interfaces is None: return wifiIfaces = list() for iface in interfaces: # Only look at wifi interfaces. if not iface['type'].startswith("wifi"): continue config = {'type': 'wifi-iface'} options = { 'device': iface['device'], 'network': iface['externalIntf'], 'mode': iface.get('mode', 'ap') } # Add wireless options. options.update(iface['wireless']) # Required for AP and client mode but not monitor mode. if 'ssid' in iface: options['ssid'] = iface['ssid'] # Optional encryption settings if 'encryption' in iface: options['encryption'] = iface['encryption'] if 'key' in iface: options['key'] = iface['key'] wifiIfaces.append((config, options)) update.cache_set('osWirelessConfig', wifiIfaces)
[docs]def setOSWirelessConfig(update): """ Write settings from osWirelessConfig out to UCI files. """ uciutils.setConfig(update, cacheKeys=['osWirelessConfig'], filepath=uci.getSystemPath("wireless"))
[docs]def revert_os_wireless_config(update): uciutils.setConfig(update, cacheKeys=['osWirelessConfig'], filepath=uci.getSystemPath("wireless"))