diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac index 7fce9014..2a5bc2c7 100755 --- a/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac +++ b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac @@ -8,6 +8,7 @@ if sysconfig.primary_mac then end +local json = require 'jsonc' local platform = require 'gluon.platform' local util = require 'gluon.util' @@ -30,6 +31,15 @@ local function phy(index) return sysfs('/sys/class/ieee80211/phy%d/macaddress', index) end +local function board(iface) + return function() + local data = json.load('/etc/board.json') + if data and data.network and data.network[iface] then + return data.network[iface].macaddr + end + end +end + -- Entries are matched in the order they are listed local primary_addrs = { @@ -111,6 +121,11 @@ local primary_addrs = { 'dir-860l-b1', }}, }}, + {board('lan'), { + {'lantiq', 'xway', { + 'netgear,dgn3500b', + }}, + }}, -- phy0 default {phy(0), { {}, -- matches everything