123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #!/usr/bin/lua
- local sysconfig = require 'gluon.sysconfig'
- local gluon_util = require 'gluon.util'
- 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 lan_ifname = uci:get('network', 'lan', 'ifname')
- local wan_ifname = uci:get('network', 'wan', 'ifname')
- if board_name == 'nanostation-m' then
- lan_ifname, wan_ifname = wan_ifname, lan_ifname
- end
- 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
|