Explorar el Código

ath79: add support for the Netgear WNDRMAC v1

The Netgear WNDRMAC v1 is a hardware variant of the Netgear WNDR3700 v2

Specifications
==============
* SoC: Atheros AR7161
* RAM: 64mb
* Flash on board: 16mb
* WiFi: Atheros AR9220 (a/n), Atheros AR9223 (b/g/n)
* Ethernet: RealTek RTL8366SR (1xWAN, 4xLAN, Gigabit)
* Power: 12 VDC, 2.5 A
* Full specs on [openwrt.org](https://openwrt.org/toh/hwdata/netgear/netgear_wndrmac_v1)

Flash Instructions
==================
It is possible to use the OEM Upgrade page to install the `factory`
variant of the firmware.

After the initial upgrade, you will need to telnet into the router
(default IP 192.168.1.1) to install anything. You may install LuCI
this way. At this point, you will have a web interface to configure
OpenWRT on the WNDRMAC v1.

Please use the `sysupgrade` variant for subsequent flashes.

Recovery Instructions
=====================
A TFTP-based recovery flash is possible if the need arises. Please refer
to the WNDR3700 page on openwrt.org for details.

https://openwrt.org/toh/netgear/wndr3700#troubleshooting_and_recovery

Signed-off-by: Renaud Lepage <[email protected]>
[update DTSI include name]
Signed-off-by: Adrian Schmutzler <[email protected]>
Renaud Lepage hace 5 años
padre
commit
108df3eabb

+ 2 - 1
package/boot/uboot-envtools/files/ath79

@@ -52,7 +52,8 @@ glinet,gl-ar150)
 	ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x8000" "0x10000"
 	;;
 netgear,wndr3700|\
-netgear,wndr3700-v2)
+netgear,wndr3700-v2|\
+netgear,wndrmac-v1)
 	ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x10000"
 	;;
 netgear,wndr3700-v4|\

+ 34 - 0
target/linux/ath79/dts/ar7161_netgear_wndrmac-v1.dts

@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "ar7161_netgear_wndr.dtsi"
+
+/ {
+	compatible = "netgear,wndrmac-v1", "qca,ar7161";
+	model = "Netgear WNDRMAC v1";
+};
+
+&partitions {
+	partition@0 {
+		label = "u-boot";
+		reg = <0x000000 0x050000>;
+		read-only;
+	};
+
+	partition@50000 {
+		label = "u-boot-env";
+		reg = <0x050000 0x020000>;
+	};
+
+	partition@70000 {
+		label = "firmware";
+		reg = <0x070000 0xf80000>;
+		compatible = "netgear,uimage";
+	};
+
+	art: partition@ff0000 {
+		label = "art";
+		reg = <0xff0000 0x010000>;
+		read-only;
+	};
+};

+ 2 - 0
target/linux/ath79/generic/base-files/etc/board.d/02_network

@@ -205,6 +205,7 @@ ath79_setup_interfaces()
 	netgear,wndr3700-v2|\
 	netgear,wndr3800|\
 	netgear,wndr3800ch|\
+	netgear,wndrmac-v1|\
 	netgear,wndrmac-v2)
 		ucidef_set_interface_wan "eth1"
 		ucidef_add_switch "switch0" \
@@ -432,6 +433,7 @@ ath79_setup_macs()
 	netgear,wndr3700|\
 	netgear,wndr3700-v2|\
 	netgear,wndr3800|\
+	netgear,wndrmac-v1|\
 	netgear,wndrmac-v2)
 		lan_mac=$(macaddr_setbit_la "$(mtd_get_mac_binary art 0x0)")
 		;;

+ 2 - 0
target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom

@@ -128,6 +128,7 @@ case "$FIRMWARE" in
 	netgear,wndr3700-v2|\
 	netgear,wndr3800|\
 	netgear,wndr3800ch|\
+	netgear,wndrmac-v1|\
 	netgear,wndrmac-v2)
 		caldata_extract "art" 0x1000 0xeb8
 		;;
@@ -147,6 +148,7 @@ case "$FIRMWARE" in
 	netgear,wndr3700-v2|\
 	netgear,wndr3800|\
 	netgear,wndr3800ch|\
+	netgear,wndrmac-v1|\
 	netgear,wndrmac-v2)
 		caldata_extract "art" 0x5000 0xeb8
 		;;

+ 12 - 0
target/linux/ath79/image/generic.mk

@@ -932,6 +932,18 @@ define Device/netgear_wndr3800ch
 endef
 TARGET_DEVICES += netgear_wndr3800ch
 
+define Device/netgear_wndrmac-v1
+  $(Device/netgear_wndr3x00)
+  DEVICE_MODEL := WNDRMAC
+  DEVICE_VARIANT := v1
+  NETGEAR_KERNEL_MAGIC := 0x33373031
+  NETGEAR_BOARD_ID := WNDRMAC
+  NETGEAR_HW_ID := 29763654+16+64
+  IMAGE_SIZE := 15872k
+  SUPPORTED_DEVICES += wndr3700
+endef
+TARGET_DEVICES += netgear_wndrmac-v1
+
 define Device/netgear_wndrmac-v2
   $(Device/netgear_wndr3x00)
   DEVICE_MODEL := WNDRMAC