ramips: rt305x: add support for the Asus WL-330N3G board
[openwrt/openwrt.git] / target / linux / ramips / base-files / lib / preinit / 06_set_iface_mac
index 4be625bd1ea1b4974ec95631a532961fbb3da8db..b02dfab8131c8b61be4c1e01bb3e7c894fbcf9b6 100644 (file)
@@ -2,30 +2,48 @@
 # 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
-       nw718)
-               nw718_set_mac
+       bc2 |\
+       esr-9753 |\
+       freestation5 |\
+       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 |\
+       w306r-v20 |\
+       w502u    |\
+       wl-330n |\
+       wl-330n3g |\
+       wr6202 |\
+       xdxrn502j)
+               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
+               ;;
+       rt-n10-plus)
+               mac=$(ramips_get_mac_binary devconf 4)
+               ifconfig eth0 hw ether $mac 2>/dev/null
                ;;
        esac
 }