43 lines
1.1 KiB
Lua
Executable File
43 lines
1.1 KiB
Lua
Executable File
#!/usr/bin/lua
|
|
|
|
local sysconfig = require 'gluon.sysconfig'
|
|
local gluon_util = require 'gluon.util'
|
|
local site = require 'gluon.site_config'
|
|
|
|
local fs = require 'luci.fs'
|
|
local uci = require('luci.model.uci').cursor()
|
|
local util = require 'luci.util'
|
|
|
|
local platform_info = require 'platform_info'
|
|
|
|
|
|
local board_name = platform_info.get_board_name()
|
|
|
|
|
|
if board_name == 'tl-wdr3600' or board_name == '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
|