From ef7ce48d28cafe3ced3adc2fba26c19bcb35d5ef Mon Sep 17 00:00:00 2001 From: Tee Hao Wei Date: Tue, 6 Jul 2021 01:19:08 +0800 Subject: [PATCH] ramips: add support for Linksys EA8100 v2 Specifications: - SoC: MT7621AT - RAM: 256MB - Flash: 128MB NAND - Ethernet: 5 Gigabit ports - WiFi: 2.4G/5G MT7615N - USB: 1 USB 3.0, 1 USB 2.0 This device is very similar to the EA7300 v1/v2, EA7500 v2, and EA8100 v1. Installation: Upload the generated factory image through the factory web interface. (following part taken from EA7300 v2 commit message:) This might fail due to the A/B nature of this device. When flashing, OEM firmware writes over the non-booted partition. If booted from 'A', flashing over 'B' won't work. To get around this, you should flash the OEM image over itself. This will then boot the router from 'B' and allow you to flash OpenWRT without problems. Reverting to factory firmware: Hard-reset the router three times to force it to boot from 'B.' This is where the stock firmware resides. To remove any traces of OpenWRT from your router simply flash the OEM image at this point. With thanks to Tom Wizetek (@wizetek) for testing. Signed-off-by: Tee Hao Wei --- package/boot/uboot-envtools/files/ramips | 1 + target/linux/ramips/dts/mt7621_linksys_ea8100-v2.dts | 8 ++++++++ target/linux/ramips/image/mt7621.mk | 8 ++++++++ target/linux/ramips/mt7621/base-files/etc/board.d/01_leds | 3 ++- .../linux/ramips/mt7621/base-files/etc/board.d/02_network | 3 ++- .../base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac | 3 ++- .../linux/ramips/mt7621/base-files/etc/init.d/bootcount | 3 ++- .../ramips/mt7621/base-files/lib/upgrade/platform.sh | 1 + 8 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 target/linux/ramips/dts/mt7621_linksys_ea8100-v2.dts diff --git a/package/boot/uboot-envtools/files/ramips b/package/boot/uboot-envtools/files/ramips index 01795ca10a..5b0c2a43b3 100644 --- a/package/boot/uboot-envtools/files/ramips +++ b/package/boot/uboot-envtools/files/ramips @@ -54,6 +54,7 @@ linksys,ea7300-v1|\ linksys,ea7300-v2|\ linksys,ea7500-v2|\ linksys,ea8100-v1|\ +linksys,ea8100-v2|\ xiaomi,miwifi-r3|\ xiaomi,mi-router-3g|\ xiaomi,mi-router-3-pro|\ diff --git a/target/linux/ramips/dts/mt7621_linksys_ea8100-v2.dts b/target/linux/ramips/dts/mt7621_linksys_ea8100-v2.dts new file mode 100644 index 0000000000..db1429ea10 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_linksys_ea8100-v2.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621_linksys_ea7xxx.dtsi" + +/ { + compatible = "linksys,ea8100-v2", "mediatek,mt7621-soc"; + model = "Linksys EA8100 v2"; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index a1801689d7..ca59081502 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -823,6 +823,14 @@ define Device/linksys_ea8100-v1 endef TARGET_DEVICES += linksys_ea8100-v1 +define Device/linksys_ea8100-v2 + $(Device/linksys_ea7xxx) + DEVICE_MODEL := EA8100 + DEVICE_VARIANT := v2 + LINKSYS_HWNAME := EA8100v2 +endef +TARGET_DEVICES += linksys_ea8100-v2 + define Device/linksys_re6500 IMAGE_SIZE := 7872k DEVICE_VENDOR := Linksys 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 615aeb95cf..681e812c0b 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 @@ -62,7 +62,8 @@ linksys,e5600) linksys,ea7300-v1|\ linksys,ea7300-v2|\ linksys,ea7500-v2|\ -linksys,ea8100-v1) +linksys,ea8100-v1|\ +linksys,ea8100-v2) ucidef_set_led_netdev "lan1" "lan1 link" "green:lan1" "lan1" "link" ucidef_set_led_netdev "lan2" "lan2 link" "green:lan2" "lan2" "link" ucidef_set_led_netdev "lan3" "lan3 link" "green:lan3" "lan3" "link" 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 9123648480..fb0b48f8c8 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 @@ -187,7 +187,8 @@ ramips_setup_macs() linksys,ea7300-v1|\ linksys,ea7300-v2|\ linksys,ea7500-v2|\ - linksys,ea8100-v1) + linksys,ea8100-v1|\ + linksys,ea8100-v2) lan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr) wan_mac=$lan_mac label_mac=$lan_mac 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 24d73b039d..ee847e947b 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 @@ -28,7 +28,8 @@ case "$board" in linksys,ea7300-v1|\ linksys,ea7300-v2|\ linksys,ea7500-v2|\ - linksys,ea8100-v1) + linksys,ea8100-v1|\ + linksys,ea8100-v2) hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr) [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress 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 d3525ea0c9..7b4a63d663 100755 --- a/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount +++ b/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount @@ -12,7 +12,8 @@ boot() { linksys,ea7300-v1|\ linksys,ea7300-v2|\ linksys,ea7500-v2|\ - linksys,ea8100-v1) + linksys,ea8100-v1|\ + linksys,ea8100-v2) mtd resetbc s_env || true ;; samknows,whitebox-v8) 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 c2ad4d3ed6..18fea53aee 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -63,6 +63,7 @@ platform_do_upgrade() { linksys,ea7300-v2|\ linksys,ea7500-v2|\ linksys,ea8100-v1|\ + linksys,ea8100-v2|\ netgear,r6220|\ netgear,r6260|\ netgear,r6350|\