diff --git a/target/linux/ar71xx/base-files/etc/board.d/01_leds b/target/linux/ar71xx/base-files/etc/board.d/01_leds
index ee67899d4f1bf66a0585816fcd1153b1068f803e..ab8585c3f66a6ada12c56aba51daa0688022bead 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/01_leds
+++ b/target/linux/ar71xx/base-files/etc/board.d/01_leds
@@ -246,7 +246,8 @@ dhp-1565-a1)
 	;;
 dir-600-a1|\
 dir-615-e1|\
-dir-615-e4)
+dir-615-e4|\
+ebr-2310-c1)
 	ucidef_set_led_netdev "wan" "WAN" "d-link:green:wan" "eth1"
 	ucidef_set_led_switch "lan1" "LAN1" "d-link:green:lan1" "switch0" "0x02"
 	ucidef_set_led_switch "lan2" "LAN2" "d-link:green:lan2" "switch0" "0x04"
diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network b/target/linux/ar71xx/base-files/etc/board.d/02_network
index d14fb428d81900af8c0515fcbb430e2f711b4ce8..14bb34b89826af64ea3fc8dad7c886927ac20fb9 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/02_network
+++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
@@ -310,6 +310,11 @@ ar71xx_setup_interfaces()
 			"0u@eth0" "2:lan" "3:lan" "4:lan"
 		ucidef_add_switch_attr "switch0" "enable" "false"
 		;;
+	ebr-2310-c1)
+		ucidef_set_interfaces_lan_wan "eth0.1" "eth1"
+		ucidef_add_switch "switch0" \
+			"0@eth0" "1:lan:1" "2:lan:2" "3:lan:3" "4:lan:4"
+		;;
 	el-m150)
 		ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
 		ucidef_add_switch "switch0" \
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration b/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration
index f1b3ae14306dea0ac8e778f43f8c174d1ab6fa91..0558848d04c7cde52231dca1a25f6c4d8b68a96f 100644
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration
@@ -58,6 +58,7 @@ dir-600-a1|\
 dir-615-c1|\
 dir-615-e1|\
 dir-615-e4|\
+ebr-2310-c1|\
 ja76pf|\
 rb-750|\
 rb-751|\
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index 44dd9c4d49b491be6e2d45da3266110a16c22b49..d51260df7b2e3d59438ab0564de669365039e088 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -613,6 +613,9 @@ ar71xx_board_detect() {
 	*EAP7660D)
 		name="eap7660d"
 		;;
+	*"EBR-2310 rev. C1")
+		name="ebr-2310-c1"
+		;;
 	*EL-M150)
 		name="el-m150"
 		;;
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 3b7db4699a997abdf6a2df41d874cee6751048cc..f227bf8d18503ee1bbaa166f9a193bd1f9d6b6ab 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -233,6 +233,7 @@ platform_check_image() {
 	dlan-pro-500-wp|\
 	dr531|\
 	dragino2|\
+	ebr-2310-c1|\
 	epg5000|\
 	esr1750|\
 	esr900|\
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-600-a1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-600-a1.c
index 321fdce708e25cc36a7e5f355f24431426a2f492..5e6134de7aa74f1862ae6c7561048fdb776621f9 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-600-a1.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-600-a1.c
@@ -141,6 +141,9 @@ static void __init dir_600_a1_setup(void)
 MIPS_MACHINE(ATH79_MACH_DIR_600_A1, "DIR-600-A1", "D-Link DIR-600 rev. A1",
 	     dir_600_a1_setup);
 
+MIPS_MACHINE(ATH79_MACH_EBR_2310_C1, "EBR-2310-C1", "D-Link EBR-2310 rev. C1",
+	     dir_600_a1_setup);
+
 static void __init dir_615_e1_setup(void)
 {
 	dir_600_a1_setup();
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
index 446631f14b10df047dd16c78ed9ed7bdba55f1c1..00ceef3c23cc11ce43b243085cc78eaa6223f23e 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
+++ b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
@@ -90,6 +90,7 @@ enum ath79_mach_type {
 	ATH79_MACH_EAP120,			/* TP-LINK EAP120 */
 	ATH79_MACH_EAP300V2,			/* EnGenius EAP300 v2 */
 	ATH79_MACH_EAP7660D,			/* Senao EAP7660D */
+	ATH79_MACH_EBR_2310_C1,			/* D-link EBR-2310 rev. C1 */
 	ATH79_MACH_EL_M150,			/* EasyLink EL-M150 */
 	ATH79_MACH_EL_MINI,			/* EasyLink EL-MINI */
 	ATH79_MACH_EPG5000,			/* EnGenius EPG5000 */
diff --git a/target/linux/ar71xx/image/legacy-devices.mk b/target/linux/ar71xx/image/legacy-devices.mk
index 21176170585531f07553fddad42807b8fea09d65..7497a1b3f727247a307736a7a2c08c3573a75691 100644
--- a/target/linux/ar71xx/image/legacy-devices.mk
+++ b/target/linux/ar71xx/image/legacy-devices.mk
@@ -232,6 +232,11 @@ define LegacyDevice/FR54RTR
 endef
 LEGACY_DEVICES += FR54RTR
 
+define LegacyDevice/EBR2310C1
+  DEVICE_TITLE := D-Link EBR-2310 rev. C1
+endef
+LEGACY_DEVICES += EBR2310C1
+
 define LegacyDevice/DIR615E1
   DEVICE_TITLE := D-Link DIR-615 rev. E1
 endef
diff --git a/target/linux/ar71xx/image/legacy.mk b/target/linux/ar71xx/image/legacy.mk
index 3dd3426c9574e23050b2b5f22caf75305d7c1fa6..f50bda4297157edfa9f867c2167b95c86f468739 100644
--- a/target/linux/ar71xx/image/legacy.mk
+++ b/target/linux/ar71xx/image/legacy.mk
@@ -925,6 +925,7 @@ $(eval $(call SingleProfile,CameoAP91,64kraw,DIR600A1,dir-600-a1,DIR-600-A1,ttyS
 $(eval $(call SingleProfile,CameoAP91,64kraw,DIR601A1,dir-601-a1,DIR-600-A1,ttyS0,115200,"AP91-AR7240-RT-090223-02"))
 $(eval $(call SingleProfile,CameoAP91,64kraw,FR54RTR,fr-54rtr,DIR-600-A1,ttyS0,115200,"AP91-AR7240-RT-090223-01"))
 
+$(eval $(call SingleProfile,CameoAP99,64kraw,EBR2310C1,ebr-2310-c1,EBR-2310-C1,ttyS0,115200,"AP91-AR7240-RT-090223-03"))
 $(eval $(call SingleProfile,CameoAP99,64kraw,DIR615E1,dir-615-e1,DIR-615-E1,ttyS0,115200,"AP93-AR7240-RT-081028-00"))
 $(eval $(call SingleProfile,CameoAP99,64kraw,DIR615E4,dir-615-e4,DIR-615-E4,ttyS0,115200,"AP99-AR7240-RT-091105-05"))