diff --git a/bsp/archerc7/.config b/bsp/archerc7/.config
new file mode 100644
index 0000000000000000000000000000000000000000..0ae30626ec1e01632adb6699cab62142a91ee90d
--- /dev/null
+++ b/bsp/archerc7/.config
@@ -0,0 +1,36 @@
+# Generated using "./buildscript config openwrt".
+# Do no edit manually
+#
+CONFIG_TARGET_ar71xx=y
+CONFIG_TARGET_ar71xx_generic=y
+CONFIG_TARGET_ar71xx_generic_Default=y
+CONFIG_BUSYBOX_CUSTOM=y
+# CONFIG_BUSYBOX_CONFIG_BRCTL is not set
+# CONFIG_BUSYBOX_CONFIG_CROND is not set
+# CONFIG_BUSYBOX_CONFIG_CRONTAB is not set
+# CONFIG_BUSYBOX_CONFIG_FEATURE_NTPD_SERVER is not set
+CONFIG_BUSYBOX_CONFIG_SHA256SUM=y
+CONFIG_CLEAN_IPKG=y
+# CONFIG_FASTD_ENABLE_CIPHER_SALSA2012 is not set
+# CONFIG_FASTD_ENABLE_MAC_GHASH is not set
+# CONFIG_FASTD_ENABLE_METHOD_COMPOSED_GMAC is not set
+# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
+# CONFIG_PACKAGE_ALFRED_VIS is not set
+CONFIG_PACKAGE_ath10k-firmware-qca988x=y
+# CONFIG_PACKAGE_dnsmasq is not set
+# CONFIG_PACKAGE_firewall is not set
+CONFIG_PACKAGE_gpioctl-sysfs=y
+CONFIG_PACKAGE_kmod-ath10k=y
+CONFIG_PACKAGE_kmod-ifb=y
+# CONFIG_PACKAGE_kmod-ipt-nat is not set
+CONFIG_PACKAGE_kmod-ledtrig-heartbeat=y
+CONFIG_PACKAGE_kmod-ledtrig-netdev=y
+# CONFIG_PACKAGE_kmod-lib-crc-ccitt is not set
+# CONFIG_PACKAGE_kmod-ppp is not set
+CONFIG_PACKAGE_kmod-sched-connmark=y
+CONFIG_PACKAGE_libugpio=y
+# CONFIG_PACKAGE_odhcpd is not set
+# CONFIG_PACKAGE_opkg is not set
+# CONFIG_PACKAGE_ppp is not set
+CONFIG_PACKAGE_qos-scripts=y
+CONFIG_PACKAGE_tc=y
diff --git a/bsp/board_archerc7.bsp b/bsp/board_archerc7.bsp
new file mode 100644
index 0000000000000000000000000000000000000000..73b4d81415d3dd247730256693b5939d7e087486
--- /dev/null
+++ b/bsp/board_archerc7.bsp
@@ -0,0 +1,5 @@
+machine=archerc7
+chipset=ar71xx
+target=$builddir/$machine
+images=("openwrt-ar71xx-generic-archer-c7-v2-squashfs-sysupgrade.bin"
+        )
diff --git a/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname b/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname
index 2bd8b746c908fc81903035e24e5ea05d559ebf81..6ad34bdf083ed97ce0029716571701e52fd98d61 100755
--- a/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname
+++ b/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname
@@ -54,6 +54,9 @@ case "$BOARD" in
     cpe510)
         grep "CPE210" /var/sysinfo/model && BOARD=cpe210
         ;;
+    archer-c7)
+        BOARD=archer-c7-v2
+        ;;
 esac
 
 uci set board.model.name=$BOARD
diff --git a/src/packages/fff/fff-network/ar71xx/network.archer-c7-v2 b/src/packages/fff/fff-network/ar71xx/network.archer-c7-v2
new file mode 100644
index 0000000000000000000000000000000000000000..ff5ca4464ef33fb6208e7ef7b11ecdea6420959a
--- /dev/null
+++ b/src/packages/fff/fff-network/ar71xx/network.archer-c7-v2
@@ -0,0 +1,8 @@
+WANDEV=eth0
+SWITCHDEV=eth1
+CLIENT_PORTS="4 5 0t"
+WAN_PORTS="1 6"
+BATMAN_PORTS="2 3 0t"
+
+ETHMESHMAC=eth0
+ROUTERMAC=eth1
diff --git a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
index 7c8429a2c9f660e391f6f90420f941f0b24f4620..94beb90c941201cbfe896061fdcc3151c662c2a2 100755
--- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
+++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
@@ -29,7 +29,7 @@ if ! uci get network.$SWITCHDEV.ifname; then
 
     echo "# Allow IPv6 RAs on WAN Port" >> /etc/sysctl.conf
 
-    if [[ "$WANDEV" = "$SWITCHDEV" ]]; then
+    if [[ "$WANDEV" = "$SWITCHDEV" ]] || ! [[ -z "$WAN_PORTS" ]]; then
         uci set network.${SWITCHDEV}_2=switch_vlan
         uci set network.${SWITCHDEV}_2.device=$SWITCHHW
         uci set network.${SWITCHDEV}_2.vlan=2