Add support for Gemtek WVRTM-127ACN (Linkem provider)

Hello, friends.

Please help with Openwrt support.

Gemtek(Linkem) WVRTM-127ACN

CPU1: MediaTek MT7621AT

FLA1: 128 MiB (ESMT F59L1G81LA-25T); RAM1: 128 MiB (ESMT M14D1G1664A-2.5B)

USB 2.0, UART position, default USB ports: 1

WI1 chip1: MediaTek MT7612EN; WI1 802dot11 protocols:an+ac; WI1 MIMO config:2x2:2

WI2 chip1: MediaTek MT7603EN; WI2 802dot11 protocols:bgn; WI2 MIMO config: 2x2:2

ETH chip1: MediaTek MT7530; Switch: MediaTek MT7530

LAN speed: 1G; LAN ports: 2

WAN speed: 1G; WAN ports: 1

MTD partition:

0x000000000000-0x000000100000 : "Bootloader"

0x000000100000-0x000000200000 : "Bootloader2"

0x000000200000-0x000000300000 : "Config"

0x000000300000-0x000000580000 : "Env1"

0x000000580000-0x000000800000 : "Env2"

0x000000800000-0x000002800000 : "Kernel"

0x000002800000-0x000004800000 : "Kernel2"

0x000004800000-0x000006400000 : "Storage1"

0x000006400000-0x000007f80000 : "Storage2"

Dump - https://drive.google.com/file/d/1azsE_kE_1TrtxtxuOwPgTJiK8J2oQr9S/view?usp=drive_link

Stock firmware parts - https://drive.google.com/drive/folders/1sKukTp7udnmdgM9hWABpMq2ft6XM-Pph

Git -https://github.com/kokarevsergei/Gemtek_wvrtm-127acn

Putty log - https://drive.google.com/file/d/13rtBzMrNTpUHwesnIqb-hoL2ZJYvhDTG/view?usp=drivesdk





Have fun !

1 Like

Tell me, please, where are the errors in .dts?

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT

#include "mt7621.dtsi"

#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>

/ {
    compatible = "gemtek,wvrtm-127acn", "mediatek,mt7621-soc";
    model = "gemtek_wvrtm-127acn";

    chosen {
        bootargs = "console=ttyS0,115200n8";
    };

    memory@0 {
        device_type = "memory";
        reg = <0x0 0x8000000>;
    };
};

&nand {
    status = "okay";

   partitions {
        compatible = "fixed-partitions";
        #address-cells = <1>;
        #size-cells = <1>;

        partition@0 {
            label = "Bootloader";
            reg = <0x0 0x100000>;
            read-only;
        };

        partition@100000 {
            label = "Bootloader2";
            reg = <0x100000 0x100000>;
            read-only;
        };

Config: partition@200000 {
            label = "Config";
            reg = <0x200000 0x100000>;
            read-only;
        };

Env1:   partition@300000 {
            label = "Env1";
            reg = <0x300000 0x280000>;
        };

        partition@580000 {
            label = "Env2";
            reg = <0x580000 0x280000>;
        };

        partition@800000 {
            label = "Kernel";
            reg = <0x800000 0x2000000>;
        };

        partition@2800000 {
            label = "Kernel2";
            reg = <0x2800000 0x2000000>;
        };

        partition@4800000 {
            label = "Storage1";
            reg = <0x4800000 0x1c00000>;
        };

        partition@6400000 {
            label = "Storage2";
            reg = <0x6400000 0x1b80000>;
        };
    };
};


&switch0 {
    ports {
	port@2 {
	    status = "okay";
	    label = "eth2.1";
	};

	port@3 {
	    status = "okay";
	    label = "eth2.2";
	};

	port@4 {
	    status = "okay";
	    label = "eth2";
        mtd-mac-address = <&Config 0x1e700>;
	   };

    };
};

&state_default {
    gpio {
	groups = "i2c", "jtag";
	function = "gpio";
    };
};

&pcie {
    status = "okay";
};

&pcie0 {
	rai0: mt76@0,0 {
        compatible = "mediatek,mt76";
		reg = <0x0000 0 0 0 0>;
		mediatek,mtd-eeprom = <&Config 0x8000>;
		ieee80211-freq-limit = <5000000 6000000>;
	};
};

&pcie1 {
	ra0: mt76@0,0 {
        compatible = "mediatek,mt76";
		reg = <0x0000 0 0 0 0>;
		mediatek,mtd-eeprom = <&Config 0x0>;
		ieee80211-freq-limit = <2400000 2500000>;
	};
};

&gmac0 {
	mtd-mac-address = <&Config 0x1e700>;
};

&sdhci {
	status = "okay";
};

Use the </> button for this kind of output.

1 Like