# Copyright (C) 2011 OpenWrt.org
#
-nw718_set_mac() {
- local part
+preinit_set_mac_address() {
local mac
- [ -z $(which maccalc) ] && return
-
- . /etc/functions.sh
-
- part=$(find_mtd_part "factory")
- [ -z $part ] && return
-
- mac=$(dd bs=1 skip=4 count=6 if=$part 2>/dev/null | maccalc bin2mac)
- [ -z $mac ] && return
-
- mac=$(maccalc or "$mac" "02:00:00:00:00:00")
- ifconfig eth0 hw ether $mac 2>/dev/null
-}
-
-preinit_set_mac_address() {
. /lib/ramips.sh
case $(ramips_board_name) in
- bc2 | nw718)
- nw718_set_mac
+ bc2 |\
+ esr-9753 |\
+ nw718 |\
+ rt-n56u |\
+ sl-r7205)
+ mac=$(ramips_get_mac_binary factory 4)
+ mac=$(maccalc or "$mac" "02:00:00:00:00:00")
+ ifconfig eth0 hw ether $mac 2>/dev/null
+ ;;
+ dir-300-b1 |\
+ dir-300-b2 |\
+ dir-600-b1)
+ mac=$(ramips_get_mac_binary devdata 16388)
+ ifconfig eth0 hw ether $mac 2>/dev/null
+ ;;
+ all0256n |\
+ hw550-3g |\
+ nbg-419n |\
+ omni-emb |\
+ w502u |\
+ wr6202)
+ mac=$(ramips_get_mac_binary factory 40)
+ ifconfig eth0 hw ether $mac 2>/dev/null
+ ;;
+ wl341v3)
+ mac=$(ramips_get_mac_binary board-nvram 65440)
+ ifconfig eth0 hw ether $mac 2>/dev/null
;;
esac
}