1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/usr/bin/lua
- local sysconfig = require 'gluon.sysconfig'
- if sysconfig.primary_mac then
- os.exit(0)
- end
- local platform = require 'gluon.platform'
- local fs = require 'nixio.fs'
- local util = require 'luci.util'
- local try_files = {
- '/sys/class/net/eth0/address'
- }
- if not util.contains({'x86', 'brcm2708'}, platform.get_target()) then
- table.insert(try_files, 1, '/sys/class/ieee80211/phy0/macaddress')
- end
- if platform.match('ar71xx', 'generic', {'tl-wdr3600', 'tl-wdr4300'}) then
- table.insert(try_files, 1, '/sys/class/ieee80211/phy1/macaddress')
- elseif platform.match('ar71xx', 'generic', {'unifi-outdoor-plus', 'carambola2'}) then
- table.insert(try_files, 1, '/sys/class/net/eth0/address')
- elseif platform.match('ar71xx', 'generic', {'archer-c5', 'archer-c7'}) then
- table.insert(try_files, 1, '/sys/class/net/eth1/address')
- end
- for _, file in ipairs(try_files) do
- local addr = fs.readfile(file)
- if addr then
- sysconfig.primary_mac = util.trim(addr)
- break
- end
- end
|