diff --git a/target/linux/lantiq/image/ARV4518PW.dts b/target/linux/lantiq/image/ARV4518PW.dts
index 9d0f0cd1103cbc3f058b2ad2e687cde79bb14748..3acd998dfa4d7232d0afe66e3bf5c7f6ec249cb3 100644
--- a/target/linux/lantiq/image/ARV4518PW.dts
+++ b/target/linux/lantiq/image/ARV4518PW.dts
@@ -138,7 +138,7 @@
 		reset {
 			label = "reset";
 			gpios = <&gpio 30 1>;
-			linux,code = <0x100>;
+			linux,code = <0x198>;
 		};
 	};
 
diff --git a/target/linux/lantiq/image/ARV4520PW.dts b/target/linux/lantiq/image/ARV4520PW.dts
index 7d280e23b130b078e4a8e38ca1eb9a3821cd34f1..459c2389962a8bef64d10113bc9866df719abca7 100644
--- a/target/linux/lantiq/image/ARV4520PW.dts
+++ b/target/linux/lantiq/image/ARV4520PW.dts
@@ -133,7 +133,7 @@
 		reset {
 			label = "reset";
 			gpios = <&gpio 30 1>;
-			linux,code = <0x100>;
+			linux,code = <0x198>;
 		};
 	};
 
diff --git a/target/linux/lantiq/image/ARV4525PW.dts b/target/linux/lantiq/image/ARV4525PW.dts
index 23c2f86406511377b29bc68f419b698d1d8bf97c..e2d386088fe3d4eff0eeb30aec24e04a49a9e244 100644
--- a/target/linux/lantiq/image/ARV4525PW.dts
+++ b/target/linux/lantiq/image/ARV4525PW.dts
@@ -122,7 +122,7 @@
 		reset {
 			label = "reset";
 			gpios = <&gpio 30 1>;
-			linux,code = <0x100>;
+			linux,code = <0x198>;
 		};
 	};
 
diff --git a/target/linux/lantiq/image/ARV452CQW.dts b/target/linux/lantiq/image/ARV452CQW.dts
index 6ab251c6dfe7f81a59dbcc1260f3de4224a7ad9f..bfcf51e25c2cb0e3bbd7c701383ff44ecfbfa141 100644
--- a/target/linux/lantiq/image/ARV452CQW.dts
+++ b/target/linux/lantiq/image/ARV452CQW.dts
@@ -149,7 +149,7 @@
 		reset {
 			label = "reset";
 			gpios = <&gpio 28 1>;
-			linux,code = <0x100>;
+			linux,code = <0x198>;
 		};
 	};
 
diff --git a/target/linux/lantiq/image/ARV7518PW.dts b/target/linux/lantiq/image/ARV7518PW.dts
index e48bd467503d8bd984c1b08fb90d59919f479b1d..7f04c64c8f91e31759d7e224cd1124c4908f73ef 100644
--- a/target/linux/lantiq/image/ARV7518PW.dts
+++ b/target/linux/lantiq/image/ARV7518PW.dts
@@ -141,7 +141,7 @@
 /*		reset {
 			label = "reset";
 			gpios = <&gpio 30 1>;
-			linux,code = <0x100>;
+			linux,code = <0x198>;
 		};*/
 	};
 
diff --git a/target/linux/lantiq/image/ARV7525PW.dts b/target/linux/lantiq/image/ARV7525PW.dts
index 7ad70d5e63afc11bc379b66f611f157feff99789..00f73562e5937ebe59d07ac3fbde65595038e546 100644
--- a/target/linux/lantiq/image/ARV7525PW.dts
+++ b/target/linux/lantiq/image/ARV7525PW.dts
@@ -108,7 +108,7 @@
 		reset {
 			label = "reset";
 			gpios = <&gpio 30 1>;
-			linux,code = <0x100>;
+			linux,code = <0x198>;
 		};
 	};
 
diff --git a/target/linux/lantiq/image/ARV752DPW.dts b/target/linux/lantiq/image/ARV752DPW.dts
index 3c58f7e2eadab63cc43ffdfefeddd21a96ec651b..7254f5ce73832b473c74353430993cbc12160130 100644
--- a/target/linux/lantiq/image/ARV752DPW.dts
+++ b/target/linux/lantiq/image/ARV752DPW.dts
@@ -164,7 +164,7 @@
 		reset {
 			label = "reset";
 			gpios = <&gpio 28 0>;
-			linux,code = <0x100>;
+			linux,code = <0x198>;
 		};
 	};
 
diff --git a/target/linux/lantiq/image/ARV752DPW22.dts b/target/linux/lantiq/image/ARV752DPW22.dts
index 6057f7d9046b53fd50b4e67827f3fca187610c86..1300a5d89246e88125faf1844e36705a9c8611e1 100644
--- a/target/linux/lantiq/image/ARV752DPW22.dts
+++ b/target/linux/lantiq/image/ARV752DPW22.dts
@@ -157,7 +157,7 @@
 		reset {
 			label = "reset";
 			gpios = <&gpio 28 1>;
-			linux,code = <0x100>;
+			linux,code = <0x198>;
 		};
 	};
 
diff --git a/target/linux/lantiq/image/DGN1000B.dts b/target/linux/lantiq/image/DGN1000B.dts
index 1fc8052e21403668dcd7a0caa47c801a2e684d8c..782ba6e38c65d25863766fb76088025de9b86622 100644
--- a/target/linux/lantiq/image/DGN1000B.dts
+++ b/target/linux/lantiq/image/DGN1000B.dts
@@ -93,7 +93,7 @@
 		reset {
 			label = "reset";
 			gpios = <&gpio 0 1>;
-			linux,code = <0x100>;
+			linux,code = <0x198>;
 		};
 		rfkill {
 			label = "rfkill";
diff --git a/target/linux/lantiq/image/DGN3500.dts b/target/linux/lantiq/image/DGN3500.dts
new file mode 100644
index 0000000000000000000000000000000000000000..d2568719135b02dca6ca41d2b10c105ac5aca22d
--- /dev/null
+++ b/target/linux/lantiq/image/DGN3500.dts
@@ -0,0 +1,7 @@
+/dts-v1/;
+
+/include/ "DGN3500.dtsi"
+
+/ {
+	model = "DGN3500 - Netgear DGN3500";
+};
diff --git a/target/linux/lantiq/image/DGN3500.dtsi b/target/linux/lantiq/image/DGN3500.dtsi
index 12e1e80935156918cccbfedaf4f116a7710d38cd..1e6b1facf7318b48a41e855fdf14b5ecf57db610 100644
--- a/target/linux/lantiq/image/DGN3500.dtsi
+++ b/target/linux/lantiq/image/DGN3500.dtsi
@@ -140,7 +140,7 @@
 		reset {
 			label = "reset";
 			gpios = <&gpio 53 1>;
-			linux,code = <0x100>;
+			linux,code = <0x198>;
 		};
 	};
 
diff --git a/target/linux/lantiq/image/EASY80920.dtsi b/target/linux/lantiq/image/EASY80920.dtsi
index d4a922d3fba9b8cc47cc95d6f6756f2602180bd5..03cebd71204684ae1197d99af52a1eed70affdd8 100644
--- a/target/linux/lantiq/image/EASY80920.dtsi
+++ b/target/linux/lantiq/image/EASY80920.dtsi
@@ -285,9 +285,9 @@
 		#size-cells = <0>;
 		poll-interval = <100>;
 		reset {
-			label = "Reset";
+			label = "reset";
 			gpios = <&gpio 7 1>;
-			linux,code = <0x100>;
+			linux,code = <0x198>;
 		};
 		paging {
 			label = "paging";
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index c76c17aea190ce58c64c2de0075aefbfe79f7425..2c206339f47673895541dcb5a79394483855b5ab 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -160,8 +160,17 @@ Image/Build/Profile/ARV752DPW22=$(call Image/Build/$(1),$(1),ARV752DPW22)
 
 
 # AR9
-Image/BuildKernel/Profile/DGN3500B=$(call Image/BuildKernel/Template,DGN3500B)
-Image/Build/Profile/DGN3500B=$(call Image/Build/$(1),$(1),DGN3500B)
+Image/BuildKernel/Profile/DGN3500=$(call Image/BuildKernel/Template,DGN3500)
+Image/Build/Profile/DGN3500=$(call Image/Build/$(1),$(1),DGN3500)
+
+Image/BuildKernel/Profile/DGN3500B=$(call Image/BuildKernel/Template,DGN3500)
+Image/Build/Profile/DGN3500B=$(call Image/Build/$(1),$(1),DGN3500)
+
+Image/BuildKernel/Profile/WBMRA=$(call Image/BuildKernel/Template,WBMR)
+Image/Build/Profile/WBMRA=$(call Image/Build/$(1),$(1),WBMR)
+
+Image/BuildKernel/Profile/WBMRB=$(call Image/BuildKernel/Template,WBMR)
+Image/Build/Profile/WBMRB=$(call Image/Build/$(1),$(1),WBMR)
 
 Image/BuildKernel/Profile/FRITZ7320=$(call Image/BuildKernelEVA/Template,FRITZ7320)
 Image/Build/Profile/FRITZ7320=$(call Image/BuildEVA/$(1),$(1),FRITZ7320)
diff --git a/target/linux/lantiq/image/WBMR.dts b/target/linux/lantiq/image/WBMR.dts
new file mode 100644
index 0000000000000000000000000000000000000000..d9c976741f703638adad8c466144f00761a938e9
--- /dev/null
+++ b/target/linux/lantiq/image/WBMR.dts
@@ -0,0 +1,161 @@
+/dts-v1/;
+
+/include/ "ar9.dtsi"
+
+/ {
+	model = "WBMR - Buffalo WBMR-HP-G300H";
+
+	chosen {
+		bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+	};
+
+	memory@0 {
+		reg = <0x0 0x4000000>;
+	};
+
+	fpi@10000000 {
+		localbus@0 {
+			nor-boot@0 {
+				compatible = "lantiq,nor";
+				bank-width = <2>;
+				reg = <0 0x0 0x2000000>;
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				partition@0 {
+					label = "uboot";
+					reg = <0x00000 0x40000>;
+					read-only;
+				};
+
+				partition@40000 {
+					label = "uboot_env";
+					reg = <0x40000 0x20000>;
+					read-only;
+				};
+
+				partition@20000 {
+					label = "linux";
+					reg = <0x60000 0x1f20000>;
+				};
+
+				partition@0x1fe0000 {
+					label = "calibration";
+					reg = <0x1fe0000 0x20000>;
+					read-only;
+				};
+			};
+
+			mac_addr {
+				compatible = "lantiq,eth-mac";
+				reg = <0 0x1fd0024 0x6>;
+			};
+		};
+
+		gpio: pinmux@E100B10 {
+			pinctrl-names = "default";
+			pinctrl-0 = <&state_default>;
+
+			state_default: pinmux {
+				pci-in {
+					lantiq,groups = "req1";
+					lantiq,output = <0>;
+					lantiq,open-drain = <1>;
+					lantiq,pull = <2>;
+				};
+				pci-out {
+					lantiq,groups = "gnt1";
+					lantiq,output = <1>;
+					lantiq,pull = <0>;
+				};
+				pci_rst {
+					lantiq,pins = "io21";
+					lantiq,pull = <0>;
+					lantiq,output = <1>;
+				};
+			};
+		};
+
+		etop@E180000 {
+			phy-mode = "gmii";
+		};
+
+		ifxhcd@E101000 {
+			status = "okay";
+			gpios = <&gpio 36 0>;
+		};
+
+		pci@E105400 {
+			status = "okay";
+		};
+	};
+
+	gpio-keys-polled {
+		compatible = "gpio-keys-polled";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		poll-interval = <100>;
+		
+		wps {
+			label = "wps";
+			gpios = <&gpio 0 1>;
+			linux,code = <0x211>;
+		};
+		reset {
+			label = "reset";
+			gpios = <&gpio 37 1>;
+			linux,code = <0x198>;
+		};
+		eject {
+			label = "eject";
+			gpios = <&gpio 34 1>;
+			linux,code = <0x108>;
+		};
+		movie {
+			label = "movie";
+			gpios = <&gpio 22 1>;
+			linux,code = <0x109>;
+		};
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+		power {
+			label = "power";
+			gpios = <&gpio 1 1>;
+		};
+		power2 {
+			label = "power2";
+			gpios = <&gpio 5 1>;
+		};
+		security {
+			label = "security";
+			gpios = <&gpio 14 1>;
+		};
+		wifi {
+			label = "wifi";
+			gpios = <&gpio 15 1>;
+		};
+		dsl {
+			label = "dsl";
+			gpios = <&gpio 16 1>;
+		};
+		online {
+			label = "online";
+			gpios = <&gpio 17 1>;
+		};
+		online2 {
+			label = "online2";
+			gpios = <&gpio 18 1>;
+		};
+		movie {
+			label = "movie";
+			gpios = <&gpio 20 1>;
+		};
+		usb {
+			label = "usb";
+			gpios = <&gpio 28 1>;
+			default-state = "on";
+		};
+	};
+};
diff --git a/target/linux/lantiq/image/ar9.dtsi b/target/linux/lantiq/image/ar9.dtsi
index 8046449f73ba5e5cdfc1c2a152e95c1ee41f5bcb..23985635959610f2d0030d7eadd3d131e85f0f97 100644
--- a/target/linux/lantiq/image/ar9.dtsi
+++ b/target/linux/lantiq/image/ar9.dtsi
@@ -86,7 +86,6 @@
 			reg = <0xE100A00 0x100>;
 			interrupt-parent = <&icu0>;
 			interrupts = <126 127 128 129 130 131>;
-			status = "disabled";
 		};
 
 		asc0: serial@E100400 {
@@ -147,6 +146,7 @@
 				0xE108000 0x200>;
 			interrupt-parent = <&icu0>;
 			interrupts = <73 72>;
+			mac-address = [ 00 11 22 33 44 55 ];
 		};
 
 		ppe@E234000 {
diff --git a/target/linux/lantiq/image/danube.dtsi b/target/linux/lantiq/image/danube.dtsi
index 67432b16b3d2c4529fcf1983353cbc8562fee64a..68bd349e6f9916fd99c729daea1286a25db4d338 100644
--- a/target/linux/lantiq/image/danube.dtsi
+++ b/target/linux/lantiq/image/danube.dtsi
@@ -167,6 +167,7 @@
 			reg = <0xE180000 0x40000>;
 			interrupt-parent = <&icu0>;
 			interrupts = <73 78>;
+			mac-address = [ 00 11 22 33 44 55 ];
 		};
 
 		ppe@E234000 {
diff --git a/target/linux/lantiq/xway/profiles/buffalo.mk b/target/linux/lantiq/xway/profiles/buffalo.mk
new file mode 100644
index 0000000000000000000000000000000000000000..451f6bc699f4446229b409152d84e6f4a5b2a253
--- /dev/null
+++ b/target/linux/lantiq/xway/profiles/buffalo.mk
@@ -0,0 +1,23 @@
+define Profile/WBMRA
+  NAME:=Buffalo WBMR-HP-G300H (A) - WBMR
+  PACKAGES:=kmod-ltq-hcd-ar9 kmod-ledtrig-usbdev \
+	kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
+	kmod-ltq-adsl-ar9-fw-a kmod-ltq-atm-ar9 \
+	ltq-adsl-app ppp-mod-pppoa \
+  	kmod-ath9k wpad-mini \
+	swconfig
+endef
+
+$(eval $(call Profile,WBMRA))
+
+define Profile/WBMRB
+  NAME:=Buffalo WBMR-HP-G300H (B) - WBMR
+  PACKAGES:=kmod-ltq-hcd-ar9 kmod-ledtrig-usbdev \
+	kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
+	kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
+	ltq-adsl-app ppp-mod-pppoa \
+  	kmod-ath9k wpad-mini \
+	swconfig
+endef
+
+$(eval $(call Profile,WBMRB))
diff --git a/target/linux/lantiq/xway/profiles/netgear.mk b/target/linux/lantiq/xway/profiles/netgear.mk
index 6def071df3b760fa21071eef95f485acc91191e8..0c6ee65757bfdb3e8359c4883b98793cd1022e74 100644
--- a/target/linux/lantiq/xway/profiles/netgear.mk
+++ b/target/linux/lantiq/xway/profiles/netgear.mk
@@ -1,5 +1,5 @@
-define Profile/DGN3500A
-  NAME:=Netgear DGN3500A
+define Profile/DGN3500
+  NAME:=Netgear DGN3500
   PACKAGES:=kmod-ltq-hcd-ar9 kmod-ledtrig-usbdev \
 	kmod-ath9k wpad-mini \
 	kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
@@ -8,7 +8,7 @@ define Profile/DGN3500A
 	kmod-ltq-deu-ar9
 endef
 
-$(eval $(call Profile,DGN3500A))
+$(eval $(call Profile,DGN3500))
 
 define Profile/DGN3500B
   NAME:=Netgear DGN3500B