diff --git a/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/320-gluon-client-bridge-wireless b/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/320-gluon-client-bridge-wireless index 63a7ed32b4f20fbc759f9f93b8e1f832a2d2b2db..058dc3516c54f91538f788f6b59e31c66871fe0e 100755 --- a/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/320-gluon-client-bridge-wireless +++ b/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/320-gluon-client-bridge-wireless @@ -27,7 +27,7 @@ local function configure_client(config, radio, index, suffix) return end - local macaddr = util.get_wlan_mac(radio, index, 1) + local macaddr = util.get_wlan_mac(uci, radio, index, 1) if not macaddr then return end diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/200-wireless b/package/gluon-core/luasrc/lib/gluon/upgrade/200-wireless index caf23c339b2df74a8bc017eb8b0ea32be5e4c00e..ba8449508eaf78bbdcaacc4ea7cde763fde8e3a8 100755 --- a/package/gluon-core/luasrc/lib/gluon/upgrade/200-wireless +++ b/package/gluon-core/luasrc/lib/gluon/upgrade/200-wireless @@ -48,7 +48,7 @@ local function configure_ibss(config, radio, index, suffix, disabled) return end - local macaddr = util.get_wlan_mac(radio, index, 3) + local macaddr = util.get_wlan_mac(uci, radio, index, 3) if not macaddr then return end @@ -102,7 +102,7 @@ local function configure_mesh(config, radio, index, suffix, disabled) return end - local macaddr = util.get_wlan_mac(radio, index, 2) + local macaddr = util.get_wlan_mac(uci, radio, index, 2) if not macaddr then return end @@ -137,7 +137,7 @@ local function fixup_wan(radio, index) return end - local macaddr = util.get_wlan_mac(radio, index, 4) + local macaddr = util.get_wlan_mac(uci, radio, index, 4) if not macaddr then return end diff --git a/package/gluon-core/luasrc/usr/lib/lua/gluon/util.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/util.lua index 0290c349d8e342745a5ece33de2d0e1cc63f7875..80888c8b15b9ca5db566b9619f9f630f13e7bd95 100644 --- a/package/gluon-core/luasrc/usr/lib/lua/gluon/util.lua +++ b/package/gluon-core/luasrc/usr/lib/lua/gluon/util.lua @@ -36,7 +36,6 @@ local nixio = require 'nixio' local hash = require 'hash' local sysconfig = require 'gluon.sysconfig' local site = require 'gluon.site_config' -local uci = require('simple-uci').cursor() local fs = require 'nixio.fs' @@ -165,7 +164,7 @@ function find_phy(config) end end -local function get_addresses(radio) +local function get_addresses(uci, radio) local phy = find_phy(uci:get_all('wireless', radio)) if not phy then return function() end @@ -208,11 +207,11 @@ function generate_mac(i) return string.format('%02x:%s:%s:%s:%s:%02x', m1, m2, m3, m4, m5, m6) end -local function get_wlan_mac_from_driver(radio, vif) +local function get_wlan_mac_from_driver(uci, radio, vif) local primary = sysconfig.primary_mac:lower() local i = 1 - for addr in get_addresses(radio) do + for addr in get_addresses(uci, radio) do if addr:lower() ~= primary then if i == vif then return addr @@ -223,8 +222,8 @@ local function get_wlan_mac_from_driver(radio, vif) end end -function get_wlan_mac(radio, index, vif) - local addr = get_wlan_mac_from_driver(radio, vif) +function get_wlan_mac(uci, radio, index, vif) + local addr = get_wlan_mac_from_driver(uci, radio, vif) if addr then return addr end diff --git a/package/gluon-web-private-wifi/luasrc/lib/gluon/web/model/admin/privatewifi.lua b/package/gluon-web-private-wifi/luasrc/lib/gluon/web/model/admin/privatewifi.lua index e38e75379a12976cff2cd5a8dfb08fd899c0fa64..ed5d55c77ccc0ac4de75e6bec702d10832b803b1 100644 --- a/package/gluon-web-private-wifi/luasrc/lib/gluon/web/model/admin/privatewifi.lua +++ b/package/gluon-web-private-wifi/luasrc/lib/gluon/web/model/admin/privatewifi.lua @@ -31,7 +31,7 @@ function f:write() local name = "wan_" .. radio if enabled.data then - local macaddr = util.get_wlan_mac(radio, index, 4) + local macaddr = util.get_wlan_mac(uci, radio, index, 4) uci:section('wireless', "wifi-iface", name, { device = radio,