diff mbox series

ramips: add support for TOTOLINK X5000R

Message ID 20201021052102.1869268-1-gch981213@gmail.com
State Accepted, archived
Delegated to: Chuanhong Guo
Headers show
Series ramips: add support for TOTOLINK X5000R | expand

Commit Message

Chuanhong Guo Oct. 21, 2020, 5:21 a.m. UTC
Specifications:
- SoC: MT7621AT
- RAM: 256MB
- Flash: 16MB (EN25QH128A)
- Ethernet: 5xGbE
- WiFi: MT7915 2x2 2.4G 573.5Mbps + 2x2 5G 1201Mbps

Known issue:
MT7915 DBDC variant isn't supported yet.

Flash instruction:
Upload the sysupgrade firmware to the firmware upgrade page in
vendor fw.

Other info:
MT7915 seems to have two PCIEs connected to MT7621. Card detected on
PCIE0 has an ID of 14c3:7916 and the other one on PCIE1 has 14c3:7915.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
---
 .../ramips/dts/mt7621_totolink_x5000r.dts     | 139 ++++++++++++++++++
 target/linux/ramips/image/mt7621.mk           |  10 ++
 2 files changed, 149 insertions(+)
 create mode 100644 target/linux/ramips/dts/mt7621_totolink_x5000r.dts

Comments

Bas Mevissen March 12, 2021, 11:27 p.m. UTC | #1
Hi,

Thanks for creating this patch. Got my X5000R today. Before flashing it 
to OpenWRT, can you please tell me whether you (or anyone else) did 
performance measurements with the original and the OpenWRT firmware?

I measured over 600mbit/s with WPA3 when on my desk, next to a notebook 
with Intel WiFi6 AX200 card. So I hope I can keep that performance when 
on OpenWRT.

(measured with iperf3, tcp default settings, from wireless 5GHz to PC 
wired to WAN in both directions)

Many thanks in advance,

Bas.


On 10/21/20 7:21 AM, Chuanhong Guo wrote:
> Specifications:
> - SoC: MT7621AT
> - RAM: 256MB
> - Flash: 16MB (EN25QH128A)
> - Ethernet: 5xGbE
> - WiFi: MT7915 2x2 2.4G 573.5Mbps + 2x2 5G 1201Mbps
> 
> Known issue:
> MT7915 DBDC variant isn't supported yet.
> 
> Flash instruction:
> Upload the sysupgrade firmware to the firmware upgrade page in
> vendor fw.
> 
> Other info:
> MT7915 seems to have two PCIEs connected to MT7621. Card detected on
> PCIE0 has an ID of 14c3:7916 and the other one on PCIE1 has 14c3:7915.
> 
> Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
> ---
>   .../ramips/dts/mt7621_totolink_x5000r.dts     | 139 ++++++++++++++++++
>   target/linux/ramips/image/mt7621.mk           |  10 ++
>   2 files changed, 149 insertions(+)
>   create mode 100644 target/linux/ramips/dts/mt7621_totolink_x5000r.dts
> 
> diff --git a/target/linux/ramips/dts/mt7621_totolink_x5000r.dts b/target/linux/ramips/dts/mt7621_totolink_x5000r.dts
> new file mode 100644
> index 0000000000..b05d83978d
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7621_totolink_x5000r.dts
> @@ -0,0 +1,139 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +
> +#include "mt7621.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> +	compatible = "totolink,x5000r", "mediatek,mt7621-soc";
> +	model = "TOTOLINK X5000R";
> +
> +	aliases {
> +		led-boot = &led_sys;
> +		led-failsafe = &led_sys;
> +		led-running = &led_sys;
> +		led-upgrade = &led_sys;
> +		label-mac-device = &gmac0;
> +		serial0 = &uartlite;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +		bootargs = "console=ttyS0,115200n8";
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		led_sys: sys {
> +			label = "blue:sys";
> +			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys";
> +
> +		reset {
> +			label = "reset";
> +			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
> +			debounce-interval = <60>;
> +			linux,code = <KEY_RESTART>;
> +		};
> +	};
> +};
> +
> +&spi0 {
> +	status = "okay";
> +
> +	flash@0 {
> +		compatible = "jedec,spi-nor";
> +		reg = <0>;
> +		spi-max-frequency = <50000000>;
> +		m25p,fast-read;
> +
> +		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 0xfb0000>;
> +			};
> +		};
> +	};
> +};
> +
> +&pcie {
> +	status = "okay";
> +};
> +
> +&pcie1 {
> +	wifi@0,0 {
> +		compatible = "mediatek,mt76";
> +		reg = <0x0000 0 0 0 0>;
> +		mediatek,mtd-eeprom = <&factory 0x0000>;
> +	};
> +};
> +
> +&gmac0 {
> +	mtd-mac-address = <&factory 0xe000>;
> +};
> +
> +&switch0 {
> +	ports {
> +		port@0 {
> +			status = "okay";
> +			label = "lan1";
> +		};
> +
> +		port@1 {
> +			status = "okay";
> +			label = "lan2";
> +		};
> +
> +		port@2 {
> +			status = "okay";
> +			label = "lan3";
> +		};
> +
> +		port@3 {
> +			status = "okay";
> +			label = "lan4";
> +		};
> +
> +		port@4 {
> +			status = "okay";
> +			label = "wan";
> +			mtd-mac-address = <&factory 0xe006>;
> +		};
> +	};
> +};
> +
> +&state_default {
> +	gpio {
> +		groups = "i2c", "wdt";
> +		function = "gpio";
> +	};
> +};
> diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
> index 274d9f7158..7a97f8aa73 100644
> --- a/target/linux/ramips/image/mt7621.mk
> +++ b/target/linux/ramips/image/mt7621.mk
> @@ -1015,6 +1015,16 @@ define Device/totolink_a7000r
>   endef
>   TARGET_DEVICES += totolink_a7000r
>   
> +define Device/totolink_x5000r
> +  $(Device/dsa-migration)
> +  IMAGE_SIZE := 16064k
> +  UIMAGE_NAME := C8343R-9999
> +  DEVICE_VENDOR := TOTOLINK
> +  DEVICE_MODEL := X5000R
> +  DEVICE_PACKAGES := kmod-mt7915e
> +endef
> +TARGET_DEVICES += totolink_x5000r
> +
>   define Device/tplink_re350-v1
>     $(Device/dsa-migration)
>     $(Device/tplink-safeloader)
>
Chuanhong Guo March 13, 2021, 2:21 a.m. UTC | #2
Hi!

On Sat, Mar 13, 2021 at 7:27 AM Bas Mevissen <abuse@basmevissen.nl> wrote:
>
> Hi,
>
> Thanks for creating this patch. Got my X5000R today. Before flashing it
> to OpenWRT, can you please tell me whether you (or anyone else) did
> performance measurements with the original and the OpenWRT firmware?

The wifi chip used in this router wasn't supported by mt76 when I created
this patch, so my X5000R has no wifi now and I don't have any
wireless performance numbers.
My X5000R has been sitting on the shelf since I posted this patch, and
I don't even know whether the mt7915d used in this router is supported
now or not. You should probably ask TOTOLINK for a copy of the original
firmware image before trying OpenWrt, so that you can go back to the
original firmware if needed. (A forced sysupgrade from OpenWrt using
their firmware image should work.)
Rosen Penev March 13, 2021, 3:15 a.m. UTC | #3
On Fri, Mar 12, 2021 at 6:27 PM Chuanhong Guo <gch981213@gmail.com> wrote:
>
> Hi!
>
> On Sat, Mar 13, 2021 at 7:27 AM Bas Mevissen <abuse@basmevissen.nl> wrote:
> >
> > Hi,
> >
> > Thanks for creating this patch. Got my X5000R today. Before flashing it
> > to OpenWRT, can you please tell me whether you (or anyone else) did
> > performance measurements with the original and the OpenWRT firmware?
>
> The wifi chip used in this router wasn't supported by mt76 when I created
> this patch, so my X5000R has no wifi now and I don't have any
> wireless performance numbers.
> My X5000R has been sitting on the shelf since I posted this patch, and
> I don't even know whether the mt7915d used in this router is supported
> now or not. You should probably ask TOTOLINK for a copy of the original
> firmware image before trying OpenWrt, so that you can go back to the
> original firmware if needed. (A forced sysupgrade from OpenWrt using
> their firmware image should work.)
I see https://github.com/openwrt/mt76/commit/b436da4d9d925f6ff80310841d1fbeb25c93b667
and a bunch of other commits referencing it.
>
> --
> Regards,
> Chuanhong Guo
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Bas Mevissen March 13, 2021, 11:59 a.m. UTC | #4
Hi,


On 3/13/21 3:21 AM, Chuanhong Guo wrote:
> Hi!
> 
> On Sat, Mar 13, 2021 at 7:27 AM Bas Mevissen <abuse@basmevissen.nl> wrote:
>>
>> Hi,
>>
>> Thanks for creating this patch. Got my X5000R today. Before flashing it
>> to OpenWRT, can you please tell me whether you (or anyone else) did
>> performance measurements with the original and the OpenWRT firmware?
> 
> The wifi chip used in this router wasn't supported by mt76 when I created
> this patch, so my X5000R has no wifi now and I don't have any
> wireless performance numbers.
> My X5000R has been sitting on the shelf since I posted this patch, and
> I don't even know whether the mt7915d used in this router is supported
> now or not. You should probably ask TOTOLINK for a copy of the original
> firmware image before trying OpenWrt, so that you can go back to the
> original firmware if needed. (A forced sysupgrade from OpenWrt using
> their firmware image should work.)
> 

Thanks for the detailed explanation!

As probably no one tried reverting to the stock firmware, I'm a bit 
reluctant to do so. Although I intended this router as a playground, I 
now consider using it as AP for a while. As my TP-Link Archer C7's wifi 
isn't performing that well with OpenWRT as I hoped, I want the X5000R to 
take its place with the factory firmware until that gets sorted out.
I might even end up buying another X5000R if the Archer cannot be 
faster, but it takes 6 weeks for the Totolink to arrive.

So would you be so kind to flash your X5000R with a recent build and 
check whether the wifi performs well? It would help me a lot. I can 
supply you with a build if that helps.


Many thanks in advance,

Bas.
diff mbox series

Patch

diff --git a/target/linux/ramips/dts/mt7621_totolink_x5000r.dts b/target/linux/ramips/dts/mt7621_totolink_x5000r.dts
new file mode 100644
index 0000000000..b05d83978d
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_totolink_x5000r.dts
@@ -0,0 +1,139 @@ 
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7621.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+	compatible = "totolink,x5000r", "mediatek,mt7621-soc";
+	model = "TOTOLINK X5000R";
+
+	aliases {
+		led-boot = &led_sys;
+		led-failsafe = &led_sys;
+		led-running = &led_sys;
+		led-upgrade = &led_sys;
+		label-mac-device = &gmac0;
+		serial0 = &uartlite;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+		bootargs = "console=ttyS0,115200n8";
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_sys: sys {
+			label = "blue:sys";
+			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	keys {
+		compatible = "gpio-keys";
+
+		reset {
+			label = "reset";
+			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+			debounce-interval = <60>;
+			linux,code = <KEY_RESTART>;
+		};
+	};
+};
+
+&spi0 {
+	status = "okay";
+
+	flash@0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <50000000>;
+		m25p,fast-read;
+
+		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 0xfb0000>;
+			};
+		};
+	};
+};
+
+&pcie {
+	status = "okay";
+};
+
+&pcie1 {
+	wifi@0,0 {
+		compatible = "mediatek,mt76";
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
+	};
+};
+
+&gmac0 {
+	mtd-mac-address = <&factory 0xe000>;
+};
+
+&switch0 {
+	ports {
+		port@0 {
+			status = "okay";
+			label = "lan1";
+		};
+
+		port@1 {
+			status = "okay";
+			label = "lan2";
+		};
+
+		port@2 {
+			status = "okay";
+			label = "lan3";
+		};
+
+		port@3 {
+			status = "okay";
+			label = "lan4";
+		};
+
+		port@4 {
+			status = "okay";
+			label = "wan";
+			mtd-mac-address = <&factory 0xe006>;
+		};
+	};
+};
+
+&state_default {
+	gpio {
+		groups = "i2c", "wdt";
+		function = "gpio";
+	};
+};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 274d9f7158..7a97f8aa73 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -1015,6 +1015,16 @@  define Device/totolink_a7000r
 endef
 TARGET_DEVICES += totolink_a7000r
 
+define Device/totolink_x5000r
+  $(Device/dsa-migration)
+  IMAGE_SIZE := 16064k
+  UIMAGE_NAME := C8343R-9999
+  DEVICE_VENDOR := TOTOLINK
+  DEVICE_MODEL := X5000R
+  DEVICE_PACKAGES := kmod-mt7915e
+endef
+TARGET_DEVICES += totolink_x5000r
+
 define Device/tplink_re350-v1
   $(Device/dsa-migration)
   $(Device/tplink-safeloader)