AA: ramips: fix ASUS WL-330N3G MAC address
[openwrt/svn-archive/archive.git] / target / linux / ramips / base-files / lib / preinit / 06_set_iface_mac
index 4be625bd1ea1b4974ec95631a532961fbb3da8db..20b9a959697c83d51f4feb11718a436659442a6f 100644 (file)
@@ -2,30 +2,70 @@
 # 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
+       3g-6200n |\
+       wl-330n |\
+       wl-330n3g)
+               mac=$(ramips_get_mac_binary factory 4)
+               ifconfig eth0 hw ether $mac 2>/dev/null
+               ;;
+       bc2 |\
+       dir-620-a1 |\
+       esr-9753 |\
+       freestation5 |\
+       nw718 |\
+       psr-680w |\
+       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
+                ;;
+       dir-645)
+               mac=$(ramips_get_mac_nvram nvram lanmac)
+               mac=$(maccalc or "$mac" "02:00:00:00:00:00")
+               ifconfig eth0 hw ether $mac 2>/dev/null
+               ;;
+       dap-1350)
+               mac=$(ramips_get_mac_binary devdata 46)
+               ifconfig eth0 hw ether $mac 2>/dev/null
+                ;;
+       all0239-3g |\
+       all0256n |\
+       all5002 |\
+       carambola |\
+       dir-615-h1 |\
+       fonera20n |\
+       hw550-3g |\
+       nbg-419n |\
+       omni-emb |\
+       tew-691gr |\
+       tew-692gr |\
+       w306r-v20 |\
+       w502u    |\
+       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
 }