diff --git a/target/linux/ar7/base-files/etc/board.d/02_network b/target/linux/ar7/base-files/etc/board.d/02_network
new file mode 100755
index 0000000000000000000000000000000000000000..0d79f8e7d441a52ec3c5d35c963e65b10596313b
--- /dev/null
+++ b/target/linux/ar7/base-files/etc/board.d/02_network
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+. /lib/functions/uci-defaults-new.sh
+
+board_config_update
+
+if [ -e "/sys/bus/mdio_bus/drivers/IC+ IP175A/1:00" -o \
+     -e "/sys/bus/mdio_bus/drivers/IC+ IP17xx/1:00" ] && \
+   [ -x /sbin/swconfig ];
+then
+	ucidef_add_switch "eth0" \
+		"0:lan" "1:lan" "2:lan" "3:lan" "4t@eth0"
+
+elif [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/1:00" -o \
+       -e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/1:10" ];
+then
+	ucidef_set_interface_lan "eth0.1"
+
+elif [ -d "/sys/class/net/eth1" ]; then
+	ucidef_set_interface_lan "eth0 eth1"
+
+else
+	ucidef_set_interface_lan "eth0"
+fi
+
+board_config_flush
+
+exit 0
diff --git a/target/linux/ar7/base-files/etc/config/network b/target/linux/ar7/base-files/etc/config/network
deleted file mode 100644
index 968d955e75bc0f470518641e39219a28d56290ba..0000000000000000000000000000000000000000
--- a/target/linux/ar7/base-files/etc/config/network
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright (C) 2006 OpenWrt.org
-
-config interface loopback
-	option ifname	lo
-	option proto	static
-	option ipaddr	127.0.0.1
-	option netmask	255.0.0.0
-
-config interface lan
-	option type	bridge
-	option ifname	"eth0 eth1 eth0.1 eth0.2"
-	option proto	static
-	option ipaddr	192.168.1.1
-	option netmask	255.255.255.0
-	option nat	1
-	option ip6assign 60
-
-config interface wan6
-        option ifname   @wan
-        option proto    dhcpv6
-
-config globals globals
-        option ula_prefix auto
-
-## Example for ATM bridging.
-## Useful for PPPoE or IP over ATM. Will create 'nas${unit}'
-#
-# config atm-bridge
-#	option unit 	0
-#	option encaps	llc
-#	option vpi  	8
-#	option vci  	35
-#	option payload	bridged # some ISPs need this set to 'routed'
-
-
-# config interface wan
-##	PPPoE:
-#	option ifname	nas0
-#	option proto	pppoe
-
-##	PPPoA:
-#	option ifname	atm0
-#	option proto	pppoa
-#	option encaps	llc
-#	option vpi  	8
-#	option vci  	35
-
-##	Both:
-#	option username "my_username"
-#	option password	"my_password"
diff --git a/target/linux/ar7/base-files/etc/uci-defaults/02_network b/target/linux/ar7/base-files/etc/uci-defaults/02_network
deleted file mode 100644
index 2d35c56b14fcb4dbb5f7ef2d6d18a79dc47fe0db..0000000000000000000000000000000000000000
--- a/target/linux/ar7/base-files/etc/uci-defaults/02_network
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-if [ -e "/sys/bus/mdio_bus/drivers/IC+ IP175A/1:00" -o \
-     -e "/sys/bus/mdio_bus/drivers/IC+ IP17xx/1:00" ] && \
-   [ -x /sbin/swconfig ];
-then
-	uci batch <<EOF
-set network.eth0=switch
-set network.eth0.name=eth0
-set network.eth0.reset=1
-set network.eth0.enable_vlan=1
-set network.eth0_1=switch_vlan
-set network.eth0_1.device=eth0
-set network.eth0_1.vlan=1
-set network.eth0_1.ports="0 1 2 3 4t"
-commit network
-EOF
-	HAS_SWITCH=1
-fi
-
-if [ -n "$HAS_SWITCH" -o \
-	-e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/1:00" -o \
-	-e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/1:10" ]; then
-	uci batch <<EOF
-set network.lan.ifname=eth0.1
-commit network
-EOF
-	HAS_SWITCH=1
-fi
-
-uci commit network