diff --git a/package/boot/uboot-envtools/files/ramips b/package/boot/uboot-envtools/files/ramips
index 6ff04b26e8..14c12bbf09 100644
--- a/package/boot/uboot-envtools/files/ramips
+++ b/package/boot/uboot-envtools/files/ramips
@@ -40,6 +40,7 @@ ravpower,rp-wd03)
   		ubootenv_add_uci_config "/dev/mtd$idx" "0x4000" "0x1000" "0x1000"
   	;;
   linksys,ea7300-v1|\
+linksys,ea7300-v2|\
   linksys,ea7500-v2|\
   xiaomi,mi-router-ac2100|\
   xiaomi,mir3p|\
diff --git a/target/linux/ramips/dts/mt7621_linksys_ea7300-v2.dts b/target/linux/ramips/dts/mt7621_linksys_ea7300-v2.dts
new file mode 100644
index 0000000000..f7330d1c86
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_linksys_ea7300-v2.dts
@@ -0,0 +1,55 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7621_linksys_ea7xxx.dtsi"
+
+/ {
+	compatible = "linksys,ea7300-v2", "mediatek,mt7621-soc";
+	model = "Linksys EA7300 v2";
+
+	aliases {
+		led-boot = &led_power;
+		led-failsafe = &led_power;
+		led-running = &led_power;
+		led-upgrade = &led_power;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		wan_green {
+			label = "ea7300-v2:green:wan";
+			gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+		};
+
+		lan1_green {
+			label = "ea7300-v2:green:lan1";
+			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+		};
+
+		lan2_green {
+			label = "ea7300-v2:green:lan2";
+			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+		};
+
+		lan3_green {
+			label = "ea7300-v2:green:lan3";
+			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+		};
+
+		lan4_green {
+			label = "ea7300-v2:green:lan4";
+			gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+		};
+
+		led_power: power {
+			label = "ea7300-v2:white:power";
+			gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
+		};
+
+		wps {
+			label = "ea7300-v2:green:wps";
+			gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
+		};
+	};
+};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 78629563ee..274d9f7158 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -655,6 +655,15 @@ define Device/linksys_ea7300-v1
   endef
   TARGET_DEVICES += linksys_ea7300-v1
   
+define Device/linksys_ea7300-v2
+  $(Device/linksys_ea7xxx)
+  DEVICE_MODEL := EA7300
+  DEVICE_VARIANT := v2
+  LINKSYS_HWNAME := EA7300v2
+  DEVICE_PACKAGES += kmod-mt7603
+endef
+TARGET_DEVICES += linksys_ea7300-v2
+
   define Device/linksys_ea7500-v2
     $(Device/linksys_ea7xxx)
     DEVICE_MODEL := EA7500
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
index c5cd446809..8c3be541b0 100755
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
@@ -42,6 +42,7 @@ gnubee,gb-pc2)
   	ucidef_set_led_netdev "lan2" "lan2" "$boardname:green:lan2" "lan2"
   	;;
   linksys,ea7300-v1|\
+linksys,ea7300-v2|\
   linksys,ea7500-v2)
   	ucidef_set_led_netdev "lan1" "lan1 link" "$boardname:green:lan1" "lan1" "link"
   	ucidef_set_led_netdev "lan2" "lan2 link" "$boardname:green:lan2" "lan2" "link"
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
index 1c1d0e4ab7..26063470e8 100755
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
@@ -105,6 +105,7 @@ ramips_setup_macs()
   		label_mac=$wan_mac
   		;;
   	linksys,ea7300-v1|\
+	linksys,ea7300-v2|\
   	linksys,ea7500-v2)
   		lan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
   		wan_mac=$lan_mac
diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
index 3f7fdc1a79..b7a41f038c 100644
--- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
+++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
@@ -11,6 +11,7 @@ board=$(board_name)
   
   case "$board" in
   	linksys,ea7300-v1|\
+	linksys,ea7300-v2|\
   	linksys,ea7500-v2)
   		hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
   		[ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
diff --git a/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount b/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
index b17161a50a..7ef0053e67 100755
--- a/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
+++ b/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
@@ -9,6 +9,7 @@ boot() {
   			echo -e "bootcount\nbootchanged\n" | /usr/sbin/fw_setenv -s -
   		;;
   	linksys,ea7300-v1|\
+	linksys,ea7300-v2|\
   	linksys,ea7500-v2)
   		mtd resetbc s_env || true
   		;;
diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
index b1feea7ae6..442e78df3c 100755
--- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
@@ -49,6 +49,7 @@ platform_do_upgrade() {
   	dlink,dir-2660-a1|\
   	hiwifi,hc5962|\
   	linksys,ea7300-v1|\
+	linksys,ea7300-v2|\
   	linksys,ea7500-v2|\
   	netgear,r6220|\
   	netgear,r6260|\
