#!/usr/bin/lua local sysconfig = require 'gluon.sysconfig' local gluon_util = require 'gluon.util' local platform = require 'gluon.platform' local site = require 'gluon.site_config' local fs = require 'luci.fs' local uci = require('luci.model.uci').cursor() local util = require 'luci.util' if platform.match('ar71xx', 'generic', {'tl-wdr3600', 'tl-wdr4300'}) then sysconfig.primary_mac = util.trim(fs.readfile('/sys/class/ieee80211/phy1/macaddress')) else sysconfig.primary_mac = util.trim(fs.readfile('/sys/class/ieee80211/phy0/macaddress')) end local function iface_exists(name) return (gluon_util.exec('ip', 'link', 'show', 'dev', (name:gsub('%..*$', ''))) == 0) end local function remove_bat0(iface) return util.trim(string.gsub(' ' .. iface .. ' ', ' bat0 ', ' ')) end local lan_ifname = remove_bat0(uci:get('network', site.legacy.mesh_ifname, 'ifname')) local wan_ifname = uci:get('network', 'wan', 'ifname') if wan_ifname and iface_exists(wan_ifname) then sysconfig.wan_ifname = wan_ifname sysconfig.lan_ifname = lan_ifname else sysconfig.wan_ifname = lan_ifname end