mvebu: use device-tree board detection
[openwrt/staging/wigyori.git] / target / linux / mvebu / base-files / lib / preinit / 06_set_iface_mac
index 3e870e8b84e7006c17ea655bce7baed7bdddd058..aba8da239ed420779e6d21bdd247be9dcbdbd179 100644 (file)
@@ -7,19 +7,38 @@ preinit_set_mac_address() {
        local mac
 
        . /lib/functions.sh
-       . /lib/mvebu.sh
 
-       case $(mvebu_board_name) in
-       armada-xp-linksys-mamba)
+       case $(board_name) in
+       linksys,caiman|linksys,cobra|linksys,rango|linksys,shelby|linksys,venom)
+               # rename interfaces back to the way they were with 4.4
+               case "$(readlink /sys/class/net/eth0)" in
+                       *f1070000*)
+                               ip link set eth0 name tmp0
+                               ip link set eth1 name eth0
+                               ip link set tmp0 name eth1
+                       ;;
+               esac
+
                mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
-               ifconfig eth0 hw ether $mac 2>/dev/null
-               ifconfig eth1 hw ether $mac 2>/dev/null
+               mac_wan=$(macaddr_setbit_la "$mac")
+               ip link set dev eth1 address $mac 2>/dev/null
+               ip link set dev eth0 address $mac_wan 2>/dev/null
                ;;
-       armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby)
+       linksys,mamba)
                mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
-               mac_wan=$(macaddr_setbit_la "$mac")
-               ifconfig eth1 hw ether $mac 2>/dev/null
-               ifconfig eth0 hw ether $mac_wan 2>/dev/null
+               ip link set dev eth0 address $mac 2>/dev/null
+               ip link set dev eth1 address $mac 2>/dev/null
+               ;;
+       marvell,a385-db-ap|solidrun,clearfog*a1)
+               # rename interfaces back to the way they were with 4.4
+               case "$(readlink /sys/class/net/eth0)" in
+                       *f1070000*)
+                               ip link set eth0 name tmp0
+                               ip link set eth1 name eth0
+                               ip link set eth2 name eth1
+                               ip link set tmp0 name eth2
+                       ;;
+               esac
                ;;
        esac
 }