011-gluon-network 772 B

123456789101112131415161718192021222324
  1. #!/usr/bin/lua
  2. local sysconfig = require 'gluon.sysconfig'
  3. local uci = require('luci.model.uci').cursor()
  4. local util = require 'luci.util'
  5. local nixio = require 'nixio'
  6. local platform_info = require 'platform_info'
  7. if util.contains({'tl-wr1043nd', 'tl-wdr3600', 'tl-wdr4300'}, platform_info.get_board_name()) then
  8. -- fix up duplicate mac addresses
  9. local m1, m2, m3, m4, m5, m6 = string.match(sysconfig.primary_mac, '(%x%x):(%x%x):(%x%x):(%x%x):(%x%x):(%x%x)')
  10. m1 = nixio.bit.bor(tonumber(m1, 16), 0x02)
  11. m4 = (tonumber(m4, 16)+1) % 0x100
  12. m6 = (tonumber(m6, 16)+1) % 0x100
  13. local wanaddr = string.format('%02x:%s:%s:%02x:%s:%02x', m1, m2, m3, m4, m5, m6)
  14. uci:set('network', 'wan', 'macaddr', wanaddr)
  15. end
  16. uci:save('network')
  17. uci:commit('network')