diff mbox series

[OpenWrt-Devel,19.07,v2] ramips: add support for Asus RT-N10P V3 / RT-N11P B1 / RT-N12 VP B1

Message ID 20200409172711.26807-1-endspiel@disroot.org
State Changes Requested
Headers show
Series [OpenWrt-Devel,19.07,v2] ramips: add support for Asus RT-N10P V3 / RT-N11P B1 / RT-N12 VP B1 | expand

Commit Message

Ernst Spielmann April 9, 2020, 5:27 p.m. UTC
Specifications:

- MT7628NN @ 580 MHz
- 32 MB RAM
- 8 MB Flash
- 5x 10/100 Mbps Ethernet (built-in switch)
- 2.4 GHz WLAN
- 2x external, non-detachable antennas (1x for RT-N10P V3)

Flash instructions:

1. Set PC network interface to 192.168.1.75/24.
2. Connect PC to the router via LAN.
3. Turn router off, press and hold reset button, then turn it on.
4. Keep the button pressed till power led starts to blink.
5. Upload the firmware file via TFTP. (Any filename is accepted.)
6. Wait until the router reboots.

Signed-off-by: Ernst Spielmann <endspiel@disroot.org>
---
v2: RT-N12 VP *B1* was incorrectly mentioned as *B3* in mt76x8.mk

 target/linux/ramips/base-files/etc/board.d/01_leds |   5 +
 .../linux/ramips/base-files/etc/board.d/02_network |   1 +
 target/linux/ramips/base-files/lib/ramips.sh       |   3 +
 target/linux/ramips/dts/RT-N11P_B1.dts             | 125 +++++++++++++++++++++
 target/linux/ramips/image/mt76x8.mk                |   7 ++
 5 files changed, 141 insertions(+)
 create mode 100644 target/linux/ramips/dts/RT-N11P_B1.dts

Comments

Adrian Schmutzler April 11, 2020, 9:56 p.m. UTC | #1
Hi,

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org]
> On Behalf Of Ernst Spielmann
> Sent: Donnerstag, 9. April 2020 19:27
> To: openwrt-devel@lists.openwrt.org
> Cc: Ernst Spielmann <endspiel@disroot.org>
> Subject: [OpenWrt-Devel] [PATCH 19.07 v2] ramips: add support for Asus RT-
> N10P V3 / RT-N11P B1 / RT-N12 VP B1

I do not see this device in master.

Please submit a patch that is based on master.
Note that we do not add devices to stable branch without a special reason.

Concerning the content, since the names of these devices are different, and I think the image should reflect that, I'd create three separate "devices" in OpenWrt for them, and only use a shared DTSI to reduce code duplication. That will be much more user-friendly at the end.

Best

Adrian

> 
> Specifications:
> 
> - MT7628NN @ 580 MHz
> - 32 MB RAM
> - 8 MB Flash
> - 5x 10/100 Mbps Ethernet (built-in switch)
> - 2.4 GHz WLAN
> - 2x external, non-detachable antennas (1x for RT-N10P V3)
> 
> Flash instructions:
> 
> 1. Set PC network interface to 192.168.1.75/24.
> 2. Connect PC to the router via LAN.
> 3. Turn router off, press and hold reset button, then turn it on.
> 4. Keep the button pressed till power led starts to blink.
> 5. Upload the firmware file via TFTP. (Any filename is accepted.) 6. Wait until
> the router reboots.
> 
> Signed-off-by: Ernst Spielmann <endspiel@disroot.org>
> ---
> v2: RT-N12 VP *B1* was incorrectly mentioned as *B3* in mt76x8.mk
> 
>  target/linux/ramips/base-files/etc/board.d/01_leds |   5 +
>  .../linux/ramips/base-files/etc/board.d/02_network |   1 +
>  target/linux/ramips/base-files/lib/ramips.sh       |   3 +
>  target/linux/ramips/dts/RT-N11P_B1.dts             | 125
> +++++++++++++++++++++
>  target/linux/ramips/image/mt76x8.mk                |   7 ++
>  5 files changed, 141 insertions(+)
>  create mode 100644 target/linux/ramips/dts/RT-N11P_B1.dts
> 
> diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds
> b/target/linux/ramips/base-files/etc/board.d/01_leds
> index 5c005db0c1..c89af17d52 100755
> --- a/target/linux/ramips/base-files/etc/board.d/01_leds
> +++ b/target/linux/ramips/base-files/etc/board.d/01_leds
> @@ -291,6 +291,11 @@ rp-n53)
>  	ucidef_set_led_netdev "eth" "Network" "$boardname:white:back"
> "eth0"
>  	set_wifi_led "$boardname:blue:wifi"
>  	;;
> +rt-n11p_b1)
> +	ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0"
> "0xf"
> +	ucidef_set_led_switch "wan" "wan" "$boardname:green:wan"
> "switch0" "0x10"
> +	ucidef_set_led_wlan "wlan" "wlan" "$boardname:green:wlan"
> "phy0tpt"
> +	;;
>  rt-n12p)
>  	ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" eth0.1
>  	ucidef_set_led_netdev "wan" "wan" "$boardname:green:wan"
> eth0.2 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 f743ce851a..4ea5cf0565 100755
> --- a/target/linux/ramips/base-files/etc/board.d/02_network
> +++ b/target/linux/ramips/base-files/etc/board.d/02_network
> @@ -112,6 +112,7 @@ ramips_setup_interfaces()
>  	pbr-m1|\
>  	psg1208|\
>  	psg1218a|\
> +	rt-n11p_b1|\
>  	rt-n12p|\
>  	sap-g3200u3|\
>  	sk-wb8|\
> diff --git a/target/linux/ramips/base-files/lib/ramips.sh
> b/target/linux/ramips/base-files/lib/ramips.sh
> index 093303892c..d1caa9d5ea 100755
> --- a/target/linux/ramips/base-files/lib/ramips.sh
> +++ b/target/linux/ramips/base-files/lib/ramips.sh
> @@ -439,6 +439,9 @@ ramips_board_detect() {
>  	*"RT-N10+")
>  		name="rt-n10-plus"
>  		;;
> +	*"RT-N11P B1")
> +		name="rt-n11p_b1"
> +		;;
>  	*"RT-N12+")
>  		name="rt-n12p"
>  		;;
> diff --git a/target/linux/ramips/dts/RT-N11P_B1.dts
> b/target/linux/ramips/dts/RT-N11P_B1.dts
> new file mode 100644
> index 0000000000..d2824f8995
> --- /dev/null
> +++ b/target/linux/ramips/dts/RT-N11P_B1.dts
> @@ -0,0 +1,125 @@
> +/dts-v1/;
> +
> +#include "mt7628an.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> +	compatible = "asus,rt-n11p_b1", "mediatek,mt7628an-soc";
> +	model = "Asus RT-N11P B1";
> +
> +	aliases {
> +		led-boot = &led_power;
> +		led-failsafe = &led_power;
> +		led-running = &led_power;
> +		led-upgrade = &led_power;
> +	};
> +
> +	chosen {
> +		bootargs = "console=ttyS0,57600";
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		led_power: power {
> +			label = "rt-n11p_b1:green:power";
> +			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		wlan {
> +			label = "rt-n11p_b1:green:wlan";
> +			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		wan {
> +			label = "rt-n11p_b1:green:wan";
> +			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		lan {
> +			label = "rt-n11p_b1:green:lan";
> +			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys-polled";
> +		poll-interval = <20>;
> +
> +		reset {
> +			label = "reset";
> +			gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_RESTART>;
> +		};
> +	};
> +};
> +
> +&spi0 {
> +	status = "okay";
> +
> +	m25p80@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;
> +			};
> +
> +			factory: partition@40000 {
> +				label = "factory";
> +				reg = <0x40000 0x10000>;
> +				read-only;
> +			};
> +
> +			partition@50000 {
> +				compatible = "denx,uimage";
> +				label = "firmware";
> +				reg = <0x50000 0x7b0000>;
> +			};
> +		};
> +	};
> +};
> +
> +&ethernet {
> +	mtd-mac-address = <&factory 0x4>;
> +	mediatek,portmap = <0x3e>;
> +};
> +
> +&wmac {
> +	status = "okay";
> +};
> +
> +&state_default {
> +	default {
> +		ralink,group = "refclk";
> +		ralink,function = "gpio";
> +	};
> +};
> +
> +&usbphy {
> +	status = "disabled";
> +};
> +
> +&ehci {
> +	status = "disabled";
> +};
> +
> +&ohci {
> +	status = "disabled";
> +};
> diff --git a/target/linux/ramips/image/mt76x8.mk
> b/target/linux/ramips/image/mt76x8.mk
> index 7df5c04297..b9c37c58a0 100644
> --- a/target/linux/ramips/image/mt76x8.mk
> +++ b/target/linux/ramips/image/mt76x8.mk
> @@ -175,6 +175,13 @@ define Device/rakwireless_rak633  endef
> TARGET_DEVICES += rakwireless_rak633
> 
> +define Device/rt-n11p_b1
> +  DTS := RT-N11P_B1
> +  IMAGE_SIZE := $(ralink_default_fw_size_8M)
> +  DEVICE_TITLE := Asus RT-N10P V3/RT-N11P B1/RT-N12 VP B1 endef
> +TARGET_DEVICES += rt-n11p_b1
> +
>  define Device/skylab_skw92a
>    DTS := SKW92A
>    IMAGE_SIZE := 16064k
> --
> 2.14.5
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Ernst Spielmann April 13, 2020, 1:43 p.m. UTC | #2
Hi!

On 11.04.2020 21:56, mail@adrianschmutzler.de wrote:
> Note that we do not add devices to stable branch without a special reason.
I hesitated submitting these patches to the master, since, according to
OpenWrt website [1]: OpenWrt support for 4/32 devices will end after
2019. So, it seemed to me that these devices--being 8/32, after
all--belong to 19.07. If that's not the case I will resubmit my patch
with suggested changes to the master branch after some testing.

1. https://openwrt.org/supported_devices

--
endspiel
Adrian Schmutzler April 13, 2020, 1:52 p.m. UTC | #3
Hi,

> > Note that we do not add devices to stable branch without a special reason. 
> I hesitated submitting these patches to the master, since, according to 
> OpenWrt website [1]: OpenWrt support for 4/32 devices will end after 
> 2019. So, it seemed to me that these devices--being 8/32, after 
> all--belong to 19.07. If that's not the case I will resubmit my patch 
> with suggested changes to the master branch after some testing. 

The only way to get a device into OpenWrt is through master.

Those devices will then be included in the next stable release, only in very rare cases they will be backported to an already existing release.

So, the only way to get official support is to add this to master. There, you will have a chance that somebody picks it although it has 32 MB RAM.

I do not see any way to get this into 19.07 unless somebody has a special interest in it. (And even then, it will have to go through master first)

Best

Adrian
diff mbox series

Patch

diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds
index 5c005db0c1..c89af17d52 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -291,6 +291,11 @@  rp-n53)
 	ucidef_set_led_netdev "eth" "Network" "$boardname:white:back" "eth0"
 	set_wifi_led "$boardname:blue:wifi"
 	;;
+rt-n11p_b1)
+	ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0xf"
+	ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x10"
+	ucidef_set_led_wlan "wlan" "wlan" "$boardname:green:wlan" "phy0tpt"
+	;;
 rt-n12p)
 	ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" eth0.1
 	ucidef_set_led_netdev "wan" "wan" "$boardname:green:wan" eth0.2
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 f743ce851a..4ea5cf0565 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -112,6 +112,7 @@  ramips_setup_interfaces()
 	pbr-m1|\
 	psg1208|\
 	psg1218a|\
+	rt-n11p_b1|\
 	rt-n12p|\
 	sap-g3200u3|\
 	sk-wb8|\
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index 093303892c..d1caa9d5ea 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -439,6 +439,9 @@  ramips_board_detect() {
 	*"RT-N10+")
 		name="rt-n10-plus"
 		;;
+	*"RT-N11P B1")
+		name="rt-n11p_b1"
+		;;
 	*"RT-N12+")
 		name="rt-n12p"
 		;;
diff --git a/target/linux/ramips/dts/RT-N11P_B1.dts b/target/linux/ramips/dts/RT-N11P_B1.dts
new file mode 100644
index 0000000000..d2824f8995
--- /dev/null
+++ b/target/linux/ramips/dts/RT-N11P_B1.dts
@@ -0,0 +1,125 @@ 
+/dts-v1/;
+
+#include "mt7628an.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+	compatible = "asus,rt-n11p_b1", "mediatek,mt7628an-soc";
+	model = "Asus RT-N11P B1";
+
+	aliases {
+		led-boot = &led_power;
+		led-failsafe = &led_power;
+		led-running = &led_power;
+		led-upgrade = &led_power;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,57600";
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_power: power {
+			label = "rt-n11p_b1:green:power";
+			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
+		};
+
+		wlan {
+			label = "rt-n11p_b1:green:wlan";
+			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
+		};
+
+		wan {
+			label = "rt-n11p_b1:green:wan";
+			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
+		};
+
+		lan {
+			label = "rt-n11p_b1:green:lan";
+			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	keys {
+		compatible = "gpio-keys-polled";
+		poll-interval = <20>;
+
+		reset {
+			label = "reset";
+			gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_RESTART>;
+		};
+	};
+};
+
+&spi0 {
+	status = "okay";
+
+	m25p80@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;
+			};
+
+			factory: partition@40000 {
+				label = "factory";
+				reg = <0x40000 0x10000>;
+				read-only;
+			};
+
+			partition@50000 {
+				compatible = "denx,uimage";
+				label = "firmware";
+				reg = <0x50000 0x7b0000>;
+			};
+		};
+	};
+};
+
+&ethernet {
+	mtd-mac-address = <&factory 0x4>;
+	mediatek,portmap = <0x3e>;
+};
+
+&wmac {
+	status = "okay";
+};
+
+&state_default {
+	default {
+		ralink,group = "refclk";
+		ralink,function = "gpio";
+	};
+};
+
+&usbphy {
+	status = "disabled";
+};
+
+&ehci {
+	status = "disabled";
+};
+
+&ohci {
+	status = "disabled";
+};
diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk
index 7df5c04297..b9c37c58a0 100644
--- a/target/linux/ramips/image/mt76x8.mk
+++ b/target/linux/ramips/image/mt76x8.mk
@@ -175,6 +175,13 @@  define Device/rakwireless_rak633
 endef
 TARGET_DEVICES += rakwireless_rak633
 
+define Device/rt-n11p_b1
+  DTS := RT-N11P_B1
+  IMAGE_SIZE := $(ralink_default_fw_size_8M)
+  DEVICE_TITLE := Asus RT-N10P V3/RT-N11P B1/RT-N12 VP B1
+endef
+TARGET_DEVICES += rt-n11p_b1
+
 define Device/skylab_skw92a
   DTS := SKW92A
   IMAGE_SIZE := 16064k