diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
index 001e9c58326c038baffaf297092580755ad65bf0..0b6e8f8e03b79c126e3722f5997ecb32373794b6 100755
--- a/target/linux/ar71xx/base-files/etc/diag.sh
+++ b/target/linux/ar71xx/base-files/etc/diag.sh
@@ -126,6 +126,7 @@ get_status_led() {
 		status_led="tp-link:green:wps"
 		;;
 	tl-mr3220 | \
+	tl-mr3220-v2 | \
 	tl-mr3420 | \
 	tl-wa901nd | \
 	tl-wa901nd-v2 | \
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/leds b/target/linux/ar71xx/base-files/etc/uci-defaults/leds
index 05943982c369c90b396416286d24021cbebbdd82..3dd5d21e0f94152f1bbdf3ad0ec723aa43d392a7 100755
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/leds
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/leds
@@ -118,6 +118,16 @@ tl-mr3420 )
 	ucidef_set_led_usbdev "usb" "USB" "tp-link:green:3g" "1-1"
 	;;
 
+tl-mr3220-v2)
+	ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
+	ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x04"
+	ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08"
+	ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x10"
+	ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x02"
+	ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
+	ucidef_set_led_usbdev "usb" "USB" "tp-link:green:3g" "1-1"
+	;;
+
 tl-wa901nd)
 	ucidef_set_led_netdev "lan" "LAN" "tp-link:green:lan" "eth0"
 	;;
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/network b/target/linux/ar71xx/base-files/etc/uci-defaults/network
index f060f2e83a3de938f2ec3fde8e326c20810fd0f1..7832da59b58f1dc72425a196c5587d7f80c629cc 100755
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/network
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/network
@@ -200,6 +200,7 @@ rb-751 |\
 tew-632brp |\
 tew-712br |\
 tl-mr3220 |\
+tl-mr3220-v2 |\
 tl-mr3420 |\
 tl-wr741nd |\
 tl-wr741nd-v4 |\
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index 45fe675aff08de0b67b8709552750d1800a812e6..7327166fba8ae4ae81c957cd7b6880cd9abdf5f4 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -345,6 +345,9 @@ ar71xx_board_detect() {
 	*TL-MR3220)
 		name="tl-mr3220"
 		;;
+	*"TL-MR3220 v2")
+		name="tl-mr3220-v2"
+		;;
 	*TL-MR3420)
 		name="tl-mr3420"
 		;;
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index e03286845f48b701bee6b6573d9c69fc808ff76a..3d9e02416809df1e77e2a5635934f89ec74bf8af 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -151,6 +151,7 @@ platform_check_image() {
 	tl-mr3020 | \
 	tl-mr3040 | \
 	tl-mr3220 | \
+	tl-mr3220-v2 | \
 	tl-mr3420 | \
 	tl-wa7510n | \
 	tl-wa901nd | \