This patch adds support for the Netgear WN3100RPv2
http://www.netgear.com/support/product/wn3100rpv2.aspx
Specifications:
- SoC: MediaTek MT7620A (580MHz, ramips)
- RAM: 32MB DDR
- Storage: 8MB NOR SPI flash
- Wireless: builtin MT7620A, 2x2:2 with u.FL connectors
- Ethernet: 1x100M
- Stock firmware based on OpenWRT Kamikaze
Like the EX2700, the bootloader expects a secondary image signature,
see https://forum.openwrt.org/viewtopic.php?pid=312577#p312577
This device seems to be same hardware as a WN3000RPv3
Flash instructions:
- Use the Netgear WebUI to upgrade to OpenWRT using the factory image
(see note below),
- Use the sysupgrade image for upgrading versions from OpenWRT,
- TFTP recovery procedure can be used to flash the factory image
(preferred method).
Note:
- The WebUI may not reboot automatically, wait at least 5 minutes before
powercycling the device
Flashing using TFTP:
- Set you IP address to 192.168.1.10/24 (no gateway)
- Connect your machine to the Ethernet port
- Power off the device and wait for 10 seconds,
- Hold the reset button and power on the device (do not release reset),
- Hold the reset button until the green light is flashing (Approx. 15s)
- launch tftp, set mode to binary and connect to 192.168.1.1
- put the factory firmware image
- All leds will switch off (like a power off), this is normal
- Wait for the device to reboot in the new OpenWRT image (max 5 mins)
- The first boot will take longer than usual.
- After boot, the Device IP on the ethernet port is 192.168.1.1
Signed-off-by: Rodolphe de Saint Léger <[email protected]>
[drop unneeded includes in dts, wrap commit message]
Signed-off-by: Sungbo Eo <[email protected]>
/* This file is released into the public domain */
-#include "mt7620a.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
+#include "mt7620a_netgear_wn3x00rp.dtsi"
/ {
compatible = "netgear,wn3000rp-v3", "ralink,mt7620a-soc";
model = "Netgear WN3000RP v3";
-
- aliases {
- led-boot = &led_power_green;
- led-failsafe = &led_power_green;
- led-running = &led_power_green;
- led-upgrade = &led_power_green;
- };
-
- keys {
- compatible = "gpio-keys";
-
- reset {
- label = "reset";
- gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_RESTART>;
- };
-
- wps {
- label = "wps";
- gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_WPS_BUTTON>;
- };
- };
-
- leds {
- compatible = "gpio-leds";
-
- led_power_green: power_g {
- label = "green:power";
- gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
- default-state = "on";
- };
-
- power_r {
- label = "red:power";
- gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
- };
-
- client_g {
- label = "green:client";
- gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
- };
-
- client_r {
- label = "red:client";
- gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
- };
-
- router_g {
- label = "green:router";
- gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
- };
-
- router_r {
- label = "red:router";
- gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
- };
-
- wps {
- label = "green:wps";
- gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
- };
-
- l_arrow {
- label = "blue:leftarrow";
- gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
- };
-
- r_arrow {
- label = "blue:rightarrow";
- gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
- };
- };
-};
-
-&gpio1 {
- status = "okay";
-};
-
-&spi0 {
- status = "okay";
-
- flash@0 {
- compatible = "jedec,spi-nor";
- reg = <0>;
- spi-max-frequency = <10000000>;
-
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition@0 {
- label = "u-boot";
- reg = <0x0 0x30000>;
- read-only;
- };
-
- partition@30000 {
- label = "u-boot-env";
- reg = <0x30000 0x10000>;
- read-only;
- };
-
- partition@40000 {
- compatible = "denx,uimage";
- label = "firmware";
- reg = <0x40000 0x7b0000>;
- };
-
- art: partition@7f0000 {
- label = "art";
- reg = <0x7f0000 0x10000>;
- read-only;
- };
- };
- };
-};
-
-ðernet {
- nvmem-cells = <&macaddr_art_0>;
- nvmem-cell-names = "mac-address";
-};
-
-&wmac {
- ralink,mtd-eeprom = <&art 0x1000>;
-
- nvmem-cells = <&macaddr_art_6>;
- nvmem-cell-names = "mac-address";
-};
-
-&state_default {
- default {
- groups = "i2c", "uartf", "spi refclk";
- function = "gpio";
- };
-};
-
-&art {
- compatible = "nvmem-cells";
- #address-cells = <1>;
- #size-cells = <1>;
-
- macaddr_art_0: macaddr@0 {
- reg = <0x0 0x6>;
- };
-
- macaddr_art_6: macaddr@6 {
- reg = <0x6 0x6>;
- };
};
--- /dev/null
+/* This file is released into the public domain */
+
+#include "mt7620a_netgear_wn3x00rp.dtsi"
+
+/ {
+ compatible = "netgear,wn3100rp-v2", "ralink,mt7620a-soc";
+ model = "Netgear WN3100RP v2";
+};
--- /dev/null
+/* This file is released into the public domain */
+
+#include "mt7620a.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ aliases {
+ led-boot = &led_power_green;
+ led-failsafe = &led_power_green;
+ led-running = &led_power_green;
+ led-upgrade = &led_power_green;
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_power_green: power_g {
+ label = "green:power";
+ gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+
+ power_r {
+ label = "red:power";
+ gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
+ };
+
+ client_g {
+ label = "green:client";
+ gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
+ };
+
+ client_r {
+ label = "red:client";
+ gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
+ };
+
+ router_g {
+ label = "green:router";
+ gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
+ };
+
+ router_r {
+ label = "red:router";
+ gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
+ };
+
+ wps {
+ label = "green:wps";
+ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+ };
+
+ l_arrow {
+ label = "blue:leftarrow";
+ gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
+ };
+
+ r_arrow {
+ label = "blue:rightarrow";
+ gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio1 {
+ status = "okay";
+};
+
+&spi0 {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x30000>;
+ read-only;
+ };
+
+ partition@30000 {
+ label = "u-boot-env";
+ reg = <0x30000 0x10000>;
+ read-only;
+ };
+
+ partition@40000 {
+ compatible = "denx,uimage";
+ label = "firmware";
+ reg = <0x40000 0x7b0000>;
+ };
+
+ art: partition@7f0000 {
+ label = "art";
+ reg = <0x7f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+};
+
+ðernet {
+ nvmem-cells = <&macaddr_art_0>;
+ nvmem-cell-names = "mac-address";
+};
+
+&wmac {
+ ralink,mtd-eeprom = <&art 0x1000>;
+
+ nvmem-cells = <&macaddr_art_6>;
+ nvmem-cell-names = "mac-address";
+};
+
+&state_default {
+ default {
+ groups = "i2c", "uartf", "spi refclk";
+ function = "gpio";
+ };
+};
+
+&art {
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_art_0: macaddr@0 {
+ reg = <0x0 0x6>;
+ };
+
+ macaddr_art_6: macaddr@6 {
+ reg = <0x6 0x6>;
+ };
+};
endef
TARGET_DEVICES += netgear_wn3000rp-v3
+define Device/netgear_wn3100rp-v2
+ SOC := mt7620a
+ IMAGE_SIZE := 7872k
+ NETGEAR_HW_ID := 29764883+8+0+32+2x2+0
+ NETGEAR_BOARD_ID := WN3100RPv2
+ BLOCKSIZE := 4k
+ IMAGES += factory.bin
+ KERNEL := $(KERNEL_DTB) | uImage lzma | pad-offset 64k 64 | \
+ append-uImage-fakehdr filesystem
+ IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | netgear-dni
+ DEVICE_VENDOR := NETGEAR
+ DEVICE_MODEL := WN3100RP
+ DEVICE_VARIANT := v2
+endef
+TARGET_DEVICES += netgear_wn3100rp-v2
+
define Device/netis_wf2770
SOC := mt7620a
IMAGE_SIZE := 16064k
ucidef_set_led_netdev "wan" "WAN" "blue:internet" "eth0.2" "tx rx"
;;
netgear,ex2700|\
-netgear,wn3000rp-v3)
+netgear,wn3000rp-v3|\
+netgear,wn3100rp-v2)
ucidef_set_led_netdev "wifi_led" "wifi" "green:router" "wlan0"
;;
netgear,ex3700|\
netgear,ex6120|\
netgear,ex6130|\
netgear,wn3000rp-v3|\
+ netgear,wn3100rp-v2|\
planex,cs-qr10|\
planex,mzk-ex300np|\
planex,mzk-ex750np|\