ramips: add support for NETGEAR R6700v2/AC2400
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Fri, 27 Dec 2019 18:05:06 +0000 (19:05 +0100)
committerDavid Bauer <mail@david-bauer.net>
Wed, 4 Mar 2020 22:02:46 +0000 (23:02 +0100)
SoC: MediaTek MT7621AT
RAM: 256M DDR3
FLASH: 128M NAND
WiFi: MediaTek MT7615N an+ac
MediaTek MT7615N bgn
ETH: MediaTek MT7621AT
BTN: 1x Connect (WPS), 1x WLAN, 1x Reset
LED: Power (white/amber), WAN(white/amber), 2.4G(white), 5G(white),
USB(white) , GuestWifi(white) 4x LAN(white/amber), Wifi Button(white),
WPS Button(white)

Installation:

Login to netgear webinterface and flash factory.img

Based on a discontinued GitHub Pull Request by
kuyokushin <codenamezero@protonmail.com>

https://github.com/openwrt/openwrt/pull/2545

NOTE: Netgear R6700 v2 have five clones: R6900 v2, R7450, Nighthawk
AC2400, Nighthawk AC2100 and already added R6800. Rest of them  should
be really easy supportable. Image for R6700v2 should work perfectly with
them. Please refer:

https://github.com/openwrt/openwrt/pull/2614

Tested-by: Víctor Gibrán <victorgibranmz@hotmail.com> [R6700v2]
Tested-by: John Landrum <jl31m10@yahoo.com> [AC2400]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
[add guest led to mt7621_netgear_r6700-v2.dts end edit commit message]
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
target/linux/ramips/dts/mt7621_netgear_r6700-v2.dts [new file with mode: 0644]
target/linux/ramips/image/mt7621.mk
target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
target/linux/ramips/mt7621/base-files/etc/board.d/02_network
target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh

diff --git a/target/linux/ramips/dts/mt7621_netgear_r6700-v2.dts b/target/linux/ramips/dts/mt7621_netgear_r6700-v2.dts
new file mode 100644 (file)
index 0000000..6a8cd6e
--- /dev/null
@@ -0,0 +1,122 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "mt7621_netgear_sercomm_bzv.dtsi"
+
+/ {
+       compatible = "netgear,r6700-v2", "mediatek,mt7621-soc";
+       model = "Netgear R6700 v2";
+
+       aliases {
+               led-boot = &led_power_white;
+               led-failsafe = &led_power_orange;
+               led-running = &led_power_white;
+               led-upgrade = &led_power_orange;
+               label-mac-device = &ethernet;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_power_orange: power_orange {
+                       gpios = <&gpio_expander 0 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:orange:power";
+               };
+
+               led_power_white: power_white {
+                       gpios = <&gpio_expander 1 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:white:power";
+               };
+
+               wan_orange {
+                       gpios = <&gpio_expander 2 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:orange:wan";
+               };
+
+               wan_white {
+                       gpios = <&gpio_expander 3 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:white:wan";
+               };
+
+               wlan2g {
+                       gpios = <&gpio_expander 4 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:white:wlan2g";
+                       linux,default-trigger = "phy0radio";
+               };
+
+               wlan5g {
+                       gpios = <&gpio_expander 5 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:white:wlan5g";
+                       linux,default-trigger = "phy1radio";
+               };
+
+               guest_wifi {
+                       gpios = <&gpio_expander 6 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:white:guest_wifi";
+               };
+
+               usb3 {
+                       gpios = <&gpio_expander 7 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:white:usb3";
+                       linux,default-trigger = "usbport";
+                       trigger-sources = <&xhci_ehci_port1>;
+               };
+
+               lan1_orange {
+                       gpios = <&gpio_expander 8 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:orange:lan1";
+               };
+
+               lan1_white {
+                       gpios = <&gpio_expander 9 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:white:lan1";
+               };
+
+               lan2_orange {
+                       gpios = <&gpio_expander 10 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:orange:lan2";
+               };
+
+               lan2_white {
+                       gpios = <&gpio_expander 11 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:white:lan2";
+               };
+
+               lan3_orange {
+                       gpios = <&gpio_expander 12 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:orange:lan3";
+               };
+
+               lan3_white {
+                       gpios = <&gpio_expander 13 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:white:lan3";
+               };
+
+               lan4_orange {
+                       gpios = <&gpio_expander 14 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:orange:lan4";
+               };
+
+               lan4_white {
+                       gpios = <&gpio_expander 15 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:white:lan4";
+               };
+
+               wps {
+                       gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
+                       label = "r6700-v2:white:wps";
+               };
+
+               wlan {
+                       gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
+                       label = "r6700-v2:white:wlan";
+               };
+       };
+};
+
+&state_default {
+       gpio {
+               ralink,group = "uart3", "uart2", "jtag", "wdt";
+               ralink,function = "gpio";
+       };
+};
index 82fbd87..98d83f9 100644 (file)
@@ -595,6 +595,21 @@ define Device/netgear_r6350
 endef
 TARGET_DEVICES += netgear_r6350
 
+define Device/netgear_r6700-v2
+  $(Device/netgear_sercomm_nand)
+  DEVICE_MODEL := R6700
+  DEVICE_VARIANT := v2
+  DEVICE_ALT0_VENDOR := NETGEAR
+  DEVICE_ALT0_MODEL := Nighthawk AC2400
+  SERCOMM_HWNAME := R6950
+  SERCOMM_HWID := BZV
+  SERCOMM_HWVER := A001
+  SERCOMM_SWVER := 0x1032
+  IMAGE_SIZE := 40960k
+  DEVICE_PACKAGES += kmod-mt7615e
+endef
+TARGET_DEVICES += netgear_r6700-v2
+
 define Device/netgear_r6800
   $(Device/netgear_sercomm_nand)
   DEVICE_MODEL := R6800
index ac73729..7695cb9 100755 (executable)
@@ -52,6 +52,7 @@ netgear,r6850|\
 netgear,wndr3700-v5)
        ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x10"
        ;;
+netgear,r6700-v2|\
 netgear,r6800)
        ucidef_set_led_switch "wan" "WAN" "$boardname:white:wan" "switch0" "0x10"
        ucidef_set_led_switch "lan1" "LAN1" "$boardname:white:lan1" "switch0" "0x08"
index a84ee80..c930f34 100755 (executable)
@@ -41,6 +41,7 @@ ramips_setup_interfaces()
        netgear,r6220|\
        netgear,r6260|\
        netgear,r6350|\
+       netgear,r6700-v2|\
        netgear,r6800|\
        netgear,r6850|\
        netgear,wndr3700-v5|\
@@ -253,6 +254,7 @@ ramips_setup_macs()
                ;;
        netgear,r6260|\
        netgear,r6350|\
+       netgear,r6700-v2|\
        netgear,r6800|\
        netgear,r6850)
                wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 2)
index f6b5c86..ad10dcb 100755 (executable)
@@ -48,6 +48,7 @@ platform_do_upgrade() {
        netgear,r6220|\
        netgear,r6260|\
        netgear,r6350|\
+       netgear,r6700-v2|\
        netgear,r6800|\
        netgear,r6850|\
        netis,wf2881|\