gluon-luci-private-wifi: set MAC address if the driver provides one

This commit is contained in:
Matthias Schiffer 2016-07-27 03:46:04 +02:00
parent 279a409198
commit b241373640
No known key found for this signature in database
GPG Key ID: 16EF3F64CB201D9C
1 changed files with 11 additions and 4 deletions

View File

@ -1,5 +1,7 @@
local f, s, o, ssid
local uci = luci.model.uci.cursor()
local util = require 'gluon.util'
local f, s, o, ssid
local config = 'wireless'
-- where to read the configuration from
@ -33,19 +35,24 @@ function f.handle(self, state, data)
if state == FORM_VALID then
uci:foreach(config, "wifi-device",
function(s)
local device = s['.name']
local name = "wan_" .. device
local radio = s['.name']
local name = "wan_" .. radio
if data.enabled == '1' then
-- get_wlan_mac_from_driver will return nil (and thus leave the
-- MAC address unset) if the driver doesn't provide enough addresses
local macaddr = util.get_wlan_mac_from_driver(radio, 4)
-- set up WAN wifi-iface
uci:section(config, "wifi-iface", name,
{
device = device,
device = radio,
network = "wan",
mode = 'ap',
encryption = 'psk2',
ssid = data.ssid,
key = data.key,
macaddr = macaddr,
disabled = 0,
}
)