06_set_iface_mac 546 B

123456789101112131415161718192021222324252627282930313233
  1. #
  2. # Copyright (C) 2011 OpenWrt.org
  3. #
  4. nw718_set_mac() {
  5. local part
  6. local mac
  7. [ -z $(which maccalc) ] && return
  8. . /etc/functions.sh
  9. part=$(find_mtd_part "factory")
  10. [ -z $part ] && return
  11. mac=$(dd bs=1 skip=4 count=6 if=$part 2>/dev/null | maccalc bin2mac)
  12. [ -z $mac ] && return
  13. mac=$(maccalc or "$mac" "02:00:00:00:00:00")
  14. ifconfig eth0 hw ether $mac 2>/dev/null
  15. }
  16. preinit_set_mac_address() {
  17. . /lib/ramips.sh
  18. case $(ramips_board_name) in
  19. nw718)
  20. nw718_set_mac
  21. ;;
  22. esac
  23. }
  24. boot_hook_add preinit_main preinit_set_mac_address