diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network
index c5957b393a49eb6a2f941d43d545d4be2d4fc8d2..de0115f6d5fb4a013f2ae46555ceeb88d206593d 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -121,13 +121,16 @@ ramips_setup_interfaces()
 	mzk-750dhp | \
 	whr-300hp2 | \
 	whr-600d | \
+	wsr-600 | \
+	wsr-1166 | \
 	wt1520)
 		ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
 		ucidef_add_switch "switch0" "1" "1"
 		ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 6t"
 		ucidef_add_switch_vlan "switch0" "2" "4 6t"
 		;;
-	whr-1166d)
+
+	whr-1166)
 		ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
 		ucidef_add_switch "switch0" "1" "1"
 		ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 6t"
diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
index b743c8408aa413f42de1f4ba4e95d4a13db9527f..dfa5468205fa1f458bc3c44bba2495686785ab4b 100755
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -170,6 +170,10 @@ get_status_led() {
 	wr8305rt)
 		status_led="wr8305rt:sys"
 		;;
+	wsr-600 | \
+	wsr-1166)
+		status_led="buffalo:orange:diag"
+		;;
 	wnce2001)
 		status_led="netgear:green:power"
 		;;
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index fcb8fdcf0bf31ffa46be2cb492542296f4cdec26..ff5044c61560a36b030de41a6dac34242c9c9c96 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -79,6 +79,12 @@ ramips_board_detect() {
 	*"Aztech HW550-3G")
 		name="hw550-3g"
 		;;
+	*"Buffalo WSR-600")
+		name="wsr-600"
+		;;
+	*"Buffalo WSR-1166")
+		name="wsr-1166"
+		;;
 	*"CY-SWR1100")
 		name="cy-swr1100"
 		;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index 3f383a65f00ac2dfcfca1b110307d232f283c22f..4962b8b4d080b99856e589f52f73230473a90e98 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -89,6 +89,8 @@ platform_check_image() {
 	whr-g300n |\
 	whr-600d |\
 	whr-1166d |\
+	wsr-600 |\
+	wsr-1166 |\
 	wl-330n | \
 	wl-330n3g | \
 	wl-351 | \
diff --git a/target/linux/ramips/dts/WSR-1166.dts b/target/linux/ramips/dts/WSR-1166.dts
new file mode 100644
index 0000000000000000000000000000000000000000..2a907348ce066f8182d6cdc92168999af09d89b5
--- /dev/null
+++ b/target/linux/ramips/dts/WSR-1166.dts
@@ -0,0 +1,149 @@
+/dts-v1/;
+
+/include/ "mt7621.dtsi"
+
+/ {
+	compatible = "ralink,mt7621-eval-board", "ralink,mt7621-soc";
+	model = "Buffalo WSR-1166";
+
+	memory@0 {
+		reg = <0x0 0x8000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,57600";
+	};
+
+	palmbus@1E000000 {
+		spi@b00 {
+			status = "okay";
+
+			m25p80@0 {
+				#address-cells = <1>;
+				#size-cells = <1>;
+				compatible = "mx25l12805d";
+				reg = <0 0>;
+				linux,modalias = "m25p80";
+				spi-max-frequency = <10000000>;
+
+				partition@0 {
+					label = "u-boot";
+					reg = <0x0 0x30000>;
+					read-only;
+				};
+
+				partition@30000 {
+					label = "u-boot-env";
+					reg = <0x30000 0x10000>;
+					read-only;
+				};
+
+				factory: partition@40000 {
+					label = "factory";
+					reg = <0x40000 0x10000>;
+					read-only;
+				};
+
+				partition@50000 {
+					label = "firmware";
+					reg = <0x50000 0x6b0000>;
+				};
+
+				partition@f700000 {
+					label = "usercfg";
+					reg = <0x700000 0x100000>;
+				};
+			};
+		};
+	};
+
+	pinctrl {
+		state_default: pinctrl0 {
+			gpio {
+				ralink,group = "i2c", "uart2", "uart3", "rgmii2", "sdhci";
+				ralink,function = "gpio";
+			};
+		};
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+		internet_g {
+			label = "buffalo:green:internet";
+			gpios = <&gpio1 9 1>;
+		};
+		router_g {
+			label = "buffalo:green:router";
+			gpios = <&gpio1 10 1>;
+		};
+		router_o {
+			label = "buffalo:orange:router";
+			gpios = <&gpio1 11 1>;
+		};
+		internet_o {
+			label = "buffalo:orange:internet";
+			gpios = <&gpio1 12 1>;
+		};
+		wifi_o {
+			label = "buffalo:orange:wifi";
+			gpios = <&gpio1 13 1>;
+		};
+		power {
+			label = "buffalo:green:power";
+			gpios = <&gpio0 14 1>;
+		};
+		diag {
+			label = "buffalo:orange:diag";
+			gpios = <&gpio1 15 1>;
+		};
+		wifi_g {
+			label = "buffalo:green:wifi";
+			gpios = <&gpio1 16 1>;
+		};
+	};
+
+	gpio-keys-polled {
+		compatible = "gpio-keys-polled";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		poll-interval = <20>;
+		power {
+			label = "power";
+			gpios = <&gpio0 18 1>;
+			linux,code = <0x74>;
+		};
+		reset {
+			label = "reset";
+			gpios = <&gpio0 3 1>;
+			linux,code = <0x198>;
+		};
+		aoss {
+			label = "aoss";
+			gpios = <&gpio0 6 1>;
+			linux,code = <0x211>;
+		};
+		auto {
+			label = "mode";
+			gpios = <&gpio0 7 0>;
+			linux,code = <0x100>;
+			linux,input-type = <5>; /* EV_SW */
+		};
+		ap {
+			label = "ap";
+			gpios = <&gpio0 10 0>;
+			linux,code = <0x100>;
+			linux,input-type = <5>; /* EV_SW */
+		};
+		router {
+			label = "router";
+			gpios = <&gpio0 12 0>;
+			linux,code = <0x100>;
+			linux,input-type = <5>; /* EV_SW */
+		};
+	};
+
+	gpio_poweroff {
+		compatible = "gpio-poweroff";
+		gpios = <&gpio0 0 1>;
+	};
+};
diff --git a/target/linux/ramips/dts/WSR-600.dts b/target/linux/ramips/dts/WSR-600.dts
new file mode 100644
index 0000000000000000000000000000000000000000..be260a715b8e8dbcec7b88ff526665f76209310f
--- /dev/null
+++ b/target/linux/ramips/dts/WSR-600.dts
@@ -0,0 +1,148 @@
+/dts-v1/;
+
+/include/ "mt7621.dtsi"
+
+/ {
+	compatible = "ralink,mt7621-eval-board", "ralink,mt7621-soc";
+	model = "Buffalo WSR-600";
+
+	memory@0 {
+		reg = <0x0 0x4000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,57600";
+	};
+
+	palmbus@1E000000 {
+		spi@b00 {
+			status = "okay";
+
+			m25p80@0 {
+				#address-cells = <1>;
+				#size-cells = <1>;
+				compatible = "mx25l12805d";
+				reg = <0 0>;
+				linux,modalias = "m25p80";
+				spi-max-frequency = <10000000>;
+
+				partition@0 {
+					label = "u-boot";
+					reg = <0x0 0x30000>;
+					read-only;
+				};
+
+				partition@30000 {
+					label = "u-boot-env";
+					reg = <0x30000 0x10000>;
+					read-only;
+				};
+
+				factory: partition@40000 {
+					label = "factory";
+					reg = <0x40000 0x10000>;
+					read-only;
+				};
+
+				partition@50000 {
+					label = "firmware";
+					reg = <0x50000 0x6b0000>;
+				};
+
+				partition@f700000 {
+					label = "usercfg";
+					reg = <0x700000 0x100000>;
+				};
+			};
+		};
+	};
+
+	pinctrl {
+		state_default: pinctrl0 {
+			gpio {
+				ralink,group = "i2c", "uart2", "uart3", "rgmii2", "sdhci";
+				ralink,function = "gpio";
+			};
+		};
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+		power {
+			label = "buffalo:green:power";
+			gpios = <&gpio0 12 1>;
+		};
+		wifi_o {
+			label = "buffalo:orange:wifi";
+			gpios = <&gpio1 9 1>;
+		};
+		diag {
+			label = "buffalo:orange:diag";
+			gpios = <&gpio1 10 1>;
+		};
+		wifi_g {
+			label = "buffalo:green:wifi";
+			gpios = <&gpio1 12 1>;
+		};
+		router_o {
+			label = "buffalo:orange:router";
+			gpios = <&gpio1 13 1>;
+		};
+		router_g {
+			label = "buffalo:green:router";
+			gpios = <&gpio1 14 1>;
+		};
+		internet_o {
+			label = "buffalo:orange:internet";
+			gpios = <&gpio1 15 1>;
+		};
+		internet_g {
+			label = "buffalo:green:internet";
+			gpios = <&gpio1 16 1>;
+		};
+	};
+
+	gpio-keys-polled {
+		compatible = "gpio-keys-polled";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		poll-interval = <20>;
+		power {
+			label = "power";
+			gpios = <&gpio0 8 1>;
+			linux,code = <0x74>;
+		};
+		reset {
+			label = "reset";
+			gpios = <&gpio0 11 1>;
+			linux,code = <0x198>;
+		};
+		aoss {
+			label = "aoss";
+			gpios = <&gpio0 18 1>;
+			linux,code = <0x211>;
+		};
+		auto {
+			label = "mode";
+			gpios = <&gpio0 7 0>;
+			linux,code = <0x100>;
+			linux,input-type = <5>; /* EV_SW */
+		};
+		ap {
+			label = "ap";
+			gpios = <&gpio0 6 0>;
+			linux,code = <0x100>;
+			linux,input-type = <5>; /* EV_SW */
+		};
+		router {
+			label = "router";
+			gpios = <&gpio0 10 0>;
+			linux,code = <0x100>;
+			linux,input-type = <5>; /* EV_SW */
+		};
+	};
+	gpio_poweroff {
+		compatible = "gpio-poweroff";
+		gpios = <&gpio1 11 1>;
+	};
+};
diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile
index 02485ba671109bc6828c78a524b321c547af0945..2fae792cb67a485c4cf78da9b263a6aaf5ed8274 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -839,10 +839,14 @@ endif
 #
 
 Image/Build/Profile/MT7621=$(call BuildFirmware/Default4M/$(1),$(1),mt7621,MT7621)
+Image/Build/Profile/WSR-600=$(call BuildFirmware/Default4M/$(1),$(1),wsr-600,WSR-600)
+Image/Build/Profile/WSR-1166=$(call BuildFirmware/Default4M/$(1),$(1),wsr-1166,WSR-1166)
 
 ifeq ($(SUBTARGET),mt7621)
 define Image/Build/Profile/Default
 	$(call Image/Build/Profile/MT7621,$(1))
+	$(call Image/Build/Profile/WSR-600,$(1))
+	$(call Image/Build/Profile/WSR-1166,$(1))
 endef
 endif