[PATCH 21.02 08/11] ramips: add support for Linksys E5600

Sannihith Kinnera digislayer at protonmail.com
Thu Jun 10 07:47:47 PDT 2021


Tested-by: Sannihith Kinnera <digislayer at protonmail.com>
I have tested the provided snapshot builds, and find everything working as expected. Thank you!

Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Tuesday, June 8th, 2021 at 3:15 PM, Petr Štetiar <ynezz at true.cz> wrote:

> From: Aashish Kulkarni aashishkul at gmail.com
>
> This submission relied heavily on the work of Linksys EA7300 v1/ v2.
>
> Specifications:
>
> -   SoC: MediaTek MT7621A (880 MHz 2c/4t)
> -   RAM: 128M DDR3-1600
> -   Flash: 128M NAND
> -   Eth: MediaTek MT7621A (10/100/1000 Mbps x5)
> -   Radio: MT7603E/MT7613BE (2.4 GHz & 5 GHz)
> -   Antennae: 2 internal fixed in the casing and 2 on the PCB
> -   LEDs: Blue (x4 Ethernet)
>
>     Blue+Orange (x2 Power + WPS and Internet)
> -   Buttons: Reset (x1)
>
>     WPS (x1)
>
>     Installation:
>
>     Flash factory image through GUI.
>
>     This device has 2 partitions for the firmware called firmware and
>
>     alt_firmware. To successfully flash and boot the device, the device
>
>     should have been running from alt_firmware partition. To get the device
>
>     booted through alt_firmware partition, download the OEM firmware from
>
>     Linksys website and upgrade the firmware from web GUI. Once this is done,
>
>     flash the OpenWrt Factory firmware from web GUI.
>
>     Reverting to factory firmware:
>
> 1.  Boot to 'alt_firmware'(where stock firmware resides) by doing one of
>
>     the following:
>
>     Press the "wps" button as soon as power LED turns on when booting.
>
>     (OR) Hard-reset the router consecutively three times to force it to
>
>     boot from 'alt_firmware'.
> 2.  To remove any traces of OpenWRT from your router simply flash the OEM
>
>     image at this point.
>
>     Signed-off-by: Aashish Kulkarni aashishkul at gmail.com
>
> [fix hanging indents and wrap to 74 characters per line,
>
> add kmod-mt7663-firmware-sta package for 5GHz STA mode to work,
>
> remove sysupgrade.bin and concatenate IMAGES instead in mt7621.mk,
>
> set default-state "on" for power LED]
>
> Signed-off-by: Sannihith Kinnera digislayer at protonmail.com
>
> [move check-size before append-metadata, remove trailing whitespace]
>
> Signed-off-by: Adrian Schmutzler freifunk at adrianschmutzler.de
>
> (cherry picked from commit 251c995cbb1ea5ad1de14775312c2bd19ed10439)
> --------------------------------------------------------------------
>
> .../linux/ramips/dts/mt7621_linksys_e5600.dts | 182 ++++++++++++++++++
>
> target/linux/ramips/image/mt7621.mk | 23 +++
>
> .../mt7621/base-files/etc/board.d/01_leds | 3 +
>
> .../mt7621/base-files/etc/board.d/02_network | 1 +
>
> .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 1 +
>
> .../mt7621/base-files/etc/init.d/bootcount | 1 +
>
> .../mt7621/base-files/lib/upgrade/platform.sh | 1 +
>
> 7 files changed, 212 insertions(+)
>
> create mode 100644 target/linux/ramips/dts/mt7621_linksys_e5600.dts
>
> diff --git a/target/linux/ramips/dts/mt7621_linksys_e5600.dts b/target/linux/ramips/dts/mt7621_linksys_e5600.dts
>
> new file mode 100644
>
> index 000000000000..91db315914e4
>
> --- /dev/null
>
> +++ b/target/linux/ramips/dts/mt7621_linksys_e5600.dts
>
> @@ -0,0 +1,182 @@
>
> +// 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 = "linksys,e5600", "mediatek,mt7621-soc";
>
> -   model = "Linksys E5600";
>
>
> -   aliases {
>
> -         led-boot = &led_power;
>
>
> -         led-failsafe = &led_power;
>
>
> -         led-running = &led_power;
>
>
> -         led-upgrade = &led_power;
>
>
> -   };
>
>
> -   chosen {
>
> -         bootargs = "console=ttyS0,115200";
>
>
> -   };
>
>
> -   keys {
>
> -         compatible = "gpio-keys";
>
>
>
> -         reset {
>
>
> -         	label = "reset";
>
>
> -         	gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
>
>
> -         	linux,code = <KEY_RESTART>;
>
>
> -         };
>
>
>
> -         wps {
>
>
> -         	label = "wps";
>
>
> -         	gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
>
>
> -         	linux,code = <KEY_WPS_BUTTON>;
>
>
> -         };
>
>
> -   };
>
>
> -   leds {
>
> -         compatible = "gpio-leds";
>
>
>
> -         wps {
>
>
> -         	label = "amber:wps";
>
>
> -         	gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
>
>
> -         };
>
>
>
> -         led_power: power {
>
>
> -         	label = "blue:power";
>
>
> -         	gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
>
>
> -         	default-state = "on";
>
>
> -         };
>
>
>
> -         wan_amber {
>
>
> -         	label = "amber:wan";
>
>
> -         	gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
>
>
> -         };
>
>
>
> -         wan_blue {
>
>
> -         	label = "blue:wan";
>
>
> -         	gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
>
>
> -         };
>
>
> -   };
>
>     +};
>
>
> +&nand {
>
> -   status = "okay";
>
>
> -   partitions {
>
> -         compatible = "fixed-partitions";
>
>
> -         #address-cells = <1>;
>
>
> -         #size-cells = <1>;
>
>
>
> -         partition at 0 {
>
>
> -         	label = "boot";
>
>
> -         	reg = <0x0 0x80000>;
>
>
> -         	read-only;
>
>
> -         };
>
>
>
> -         partition at 80000 {
>
>
> -         	label = "u_env";
>
>
> -         	reg = <0x80000 0x40000>;
>
>
> -         	read-only;
>
>
> -         };
>
>
>
> -         factory: partition at c0000 {
>
>
> -         	label = "factory";
>
>
> -         	reg = <0xc0000 0x40000>;
>
>
> -         	read-only;
>
>
> -         };
>
>
>
> -         partition at 100000 {
>
>
> -         	label = "s_env";
>
>
> -         	reg = <0x100000 0x40000>;
>
>
> -         };
>
>
>
> -         partition at 140000 {
>
>
> -         	label = "devinfo";
>
>
> -         	reg = <0x140000 0x40000>;
>
>
> -         	read-only;
>
>
> -         };
>
>
>
> -         partition at 180000 {
>
>
> -         	label = "kernel";
>
>
> -         	reg = <0x180000 0x400000>;
>
>
> -         };
>
>
>
> -         partition at 580000 {
>
>
> -         	label = "ubi";
>
>
> -         	reg = <0x580000 0x1a00000>;
>
>
> -         };
>
>
>
> -         partition at 1f80000 {
>
>
> -         	label = "alt_firmware";
>
>
> -         	reg = <0x1f80000 0x1e00000>;
>
>
> -         };
>
>
>
> -         partition at 3d80000 {
>
>
> -         	label = "gdata";
>
>
> -         	reg = <0x3d80000 0x4200000>;
>
>
> -         };
>
>
> -   };
>
>     +};
>
>
> +&state_default {
>
> -   gpio {
> -         groups = "uart2", "uart3", "jtag";
>
>
> -         function = "gpio";
>
>
> -   };
>
>     +};
>
> +&pcie {
>
> -   status = "okay";
>
>     +};
>
> +&pcie0 {
>
> -   mt76 at 0,0 {
>
> -         compatible = "mediatek,mt76";
>
>
> -         reg = <0x0000 0 0 0 0>;
>
>
> -         mediatek,mtd-eeprom = <&factory 0x0000>;
>
>
> -   };
>
>     +};
>
>
> +&pcie1 {
>
> -   mt76 at 0,0 {
>
> -         compatible = "mediatek,mt76";
>
>
> -         reg = <0x0000 0 0 0 0>;
>
>
> -         mediatek,mtd-eeprom = <&factory 0x8000>;
>
>
> -   };
>
>     +};
>
>
> +&switch0 {
>
> -   ports {
> -         port at 0 {
>
>
> -         	status = "okay";
>
>
> -         	label = "lan1";
>
>
> -         };
>
>
>
> -         port at 1 {
>
>
> -         	status = "okay";
>
>
> -         	label = "lan2";
>
>
> -         };
>
>
>
> -         port at 2 {
>
>
> -         	status = "okay";
>
>
> -         	label = "lan3";
>
>
> -         };
>
>
>
> -         port at 3 {
>
>
> -         	status = "okay";
>
>
> -         	label = "lan4";
>
>
> -         };
>
>
>
> -         port at 4 {
>
>
> -         	status = "okay";
>
>
> -         	label = "wan";
>
>
> -         };
>
>
> -   };
>
>     +};
>
> +&xhci {
>
> -   status = "disabled";
>
>     +};
>
>     diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
>
>     index 6edf6c0cd6a7..44170b4c1a30 100644
>
>     --- a/target/linux/ramips/image/mt7621.mk
>
>     +++ b/target/linux/ramips/image/mt7621.mk
>
>     @@ -22,6 +22,10 @@ define Build/elecom-wrc-gs-factory
>
>     mv $@.new $@
>
>     endef
>
>     +define Build/gemtek-trailer
> -   printf "%s%08X" ".GEMTEK." "$$(cksum $@ | cut -d ' ' -f1)" >> $@
>
> +endef
>
> +
>
> define Build/iodata-factory
>
> $(eval fw_size=$(word 1,$(1)))
>
> $(eval fw_type=$(word 2,$(1)))
>
> @@ -762,6 +766,25 @@ define Device/lenovo_newifi-d1
>
> endef
>
> TARGET_DEVICES += lenovo_newifi-d1
>
> +define Device/linksys_e5600
>
> -   $(Device/dsa-migration)
> -   $(Device/uimage-lzma-loader)
> -   BLOCKSIZE := 128k
> -   PAGESIZE := 2048
> -   KERNEL_SIZE := 4096k
> -   IMAGE_SIZE := 26624k
> -   DEVICE_VENDOR := Linksys
> -   DEVICE_MODEL := E5600
> -   DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap \
> -   kmod-mt7663-firmware-sta uboot-envtools
> -   UBINIZE_OPTS := -E 5
> -   IMAGES += factory.bin
> -   IMAGE/sysupgrade.bin := sysupgrade-tar | check-size | append-metadata
> -   IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
> -   append-ubi | check-size | gemtek-trailer
>
>     +endef
>
>     +TARGET_DEVICES += linksys_e5600
>
> define Device/linksys_ea7xxx
>
> $(Device/dsa-migration)
>
> $(Device/uimage-lzma-loader)
>
> diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
>
> index 2e280442bf1b..89a56dff2a48 100755
>
> --- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
>
> +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
>
> @@ -47,6 +47,9 @@ gnubee,gb-pc2)
>
> ucidef_set_led_netdev "lan1" "lan1" "green:lan1" "lan1"
>
> ucidef_set_led_netdev "lan2" "lan2" "green:lan2" "lan2"
>
> ;;
>
> +linksys,e5600)
>
> -   ucidef_set_led_netdev "wan" "wan link" "blue:wan" "wan" "link"
>
> -   ;;
>
>     linksys,ea7300-v1|\
>
>     linksys,ea7300-v2|\
>
>     linksys,ea7500-v2)
>
>     diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
>
>     index f5b075f1f4a8..40f1bfaecd58 100755
>
>     --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
>
>     +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
>
>     @@ -128,6 +128,7 @@ ramips_setup_macs()
>
>     zbtlink,zbt-wg3526-32m)
>
>     label_mac=$(mtd_get_mac_binary factory 0x4)
>
>     ;;
>
> -   linksys,e5600|\
>
>     linksys,ea7300-v1|\
>
>     linksys,ea7300-v2|\
>
>     linksys,ea7500-v2)
>
>     diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
>
>     index 427bde4e38f7..49b7f23ce914 100644
>
>     --- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
>
>     +++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
>
>     @@ -18,6 +18,7 @@ case "$board" in
>
>     [ "$PHYNBR" = "1" ] && \
>
>     macaddr_setbit_la "$(mtd_get_mac_binary Factory 0x4)" > /sys${DEVPATH}/macaddress
>
>         ;;
>
>
> -   linksys,e5600|\
>
>     linksys,ea7300-v1|\
>
>     linksys,ea7300-v2|\
>
>     linksys,ea7500-v2)
>
>     diff --git a/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount b/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
>
>     index a155458d3f23..cfaa62485cea 100755
>
>     --- a/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
>
>     +++ b/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
>
>     @@ -8,6 +8,7 @@ boot() {
>
>     [ -n "$(fw_printenv bootcount bootchanged 2>/dev/null)" ] &&\
>
>         	echo -e "bootcount\\nbootchanged\\n" | /usr/sbin/fw_setenv -s -
>         ;;
>
>
> -   linksys,e5600|\
>
>     linksys,ea7300-v1|\
>
>     linksys,ea7300-v2|\
>
>     linksys,ea7500-v2)
>
>     diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
>
>     index 98e429fdbf42..7b57ee7776c5 100755
>
>     --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
>
>     +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
>
>     @@ -50,6 +50,7 @@ platform_do_upgrade() {
>
>     dlink,dir-2660-a1|\
>
>     hiwifi,hc5962|\
>
>     jcg,q20|\
>
> -   linksys,e5600|\
>
>     linksys,ea7300-v1|\
>
>     linksys,ea7300-v2|\
>
>     linksys,ea7500-v2|\
>



More information about the openwrt-devel mailing list