2014-07-10 23:44:06 +02:00
|
|
|
#!/usr/bin/lua
|
2014-02-22 08:27:51 +01:00
|
|
|
|
2014-07-10 23:44:06 +02:00
|
|
|
local sysconfig = require 'gluon.sysconfig'
|
|
|
|
local gluon_util = require 'gluon.util'
|
2014-07-11 12:11:47 +02:00
|
|
|
local platform = require 'gluon.platform'
|
2015-01-26 03:48:39 +01:00
|
|
|
local site = require 'gluon.site_config'
|
2014-02-22 08:27:51 +01:00
|
|
|
|
2014-07-10 23:44:06 +02:00
|
|
|
local fs = require 'luci.fs'
|
|
|
|
local uci = require('luci.model.uci').cursor()
|
|
|
|
local util = require 'luci.util'
|
2014-02-22 08:27:51 +01:00
|
|
|
|
|
|
|
|
2014-07-11 12:11:47 +02:00
|
|
|
if platform.match('ar71xx', 'generic', {'tl-wdr3600', 'tl-wdr4300'}) then
|
2014-07-10 23:44:06 +02:00
|
|
|
sysconfig.primary_mac = util.trim(fs.readfile('/sys/class/ieee80211/phy1/macaddress'))
|
2014-02-22 08:27:51 +01:00
|
|
|
else
|
2014-07-10 23:44:06 +02:00
|
|
|
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
|
2014-02-22 08:27:51 +01:00
|
|
|
|
2014-07-10 23:44:06 +02:00
|
|
|
|
|
|
|
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
|