ramips: add support for Linksys EA8100 v1
authorTee Hao Wei <angelsl@in04.sg>
Mon, 17 May 2021 19:46:36 +0000 (03:46 +0800)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Sat, 5 Jun 2021 21:39:14 +0000 (23:39 +0200)
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 and EA7500 v2.

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 Leon Poon (@LeonPoon) for the initial bringup.

Signed-off-by: Tee Hao Wei <angelsl@in04.sg>
[add missing entry in 10_fix_wifi_mac]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
package/boot/uboot-envtools/files/ramips
target/linux/ramips/dts/mt7621_linksys_ea8100-v1.dts [new file with mode: 0644]
target/linux/ramips/image/mt7621.mk
target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
target/linux/ramips/mt7621/base-files/etc/board.d/02_network
target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh

index a59f647685f79272d3abebb45d1949d0b70e2af2..2bb04997f9fda4f30a1b7156168933887f033800 100644 (file)
@@ -53,6 +53,7 @@ jcg,q20)
 linksys,ea7300-v1|\
 linksys,ea7300-v2|\
 linksys,ea7500-v2|\
+linksys,ea8100-v1|\
 xiaomi,mi-router-3g|\
 xiaomi,mi-router-3-pro|\
 xiaomi,mi-router-4|\
diff --git a/target/linux/ramips/dts/mt7621_linksys_ea8100-v1.dts b/target/linux/ramips/dts/mt7621_linksys_ea8100-v1.dts
new file mode 100644 (file)
index 0000000..6cc2219
--- /dev/null
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7621_linksys_ea7xxx.dtsi"
+
+/ {
+       compatible = "linksys,ea8100-v1", "mediatek,mt7621-soc";
+       model = "Linksys EA8100";
+};
index 4b8ec4ceb19e26e9c57823b8574427511caba737..96a66b2398b5ec5658f2210de77f2cc4f8630b69 100644 (file)
@@ -854,6 +854,14 @@ define Device/linksys_ea7500-v2
 endef
 TARGET_DEVICES += linksys_ea7500-v2
 
+define Device/linksys_ea8100-v1
+  $(Device/linksys_ea7xxx)
+  DEVICE_MODEL := EA8100
+  DEVICE_VARIANT := v1
+  LINKSYS_HWNAME := EA8100
+endef
+TARGET_DEVICES += linksys_ea8100-v1
+
 define Device/linksys_re6500
   $(Device/dsa-migration)
   IMAGE_SIZE := 7872k
index 9e67d458de91b03b12316861152c91daa89f99a2..5322bc9db06b61ce11a3e7242d49f053289a505c 100644 (file)
@@ -51,7 +51,8 @@ linksys,e5600)
        ;;
 linksys,ea7300-v1|\
 linksys,ea7300-v2|\
-linksys,ea7500-v2)
+linksys,ea7500-v2|\
+linksys,ea8100-v1)
        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"
index b31c99e6f1530539193b9ca003d0b0e032e97125..d84d3e317f231fd6be3b742e25c8f29b2b640c31 100644 (file)
@@ -141,7 +141,8 @@ ramips_setup_macs()
        linksys,e5600|\
        linksys,ea7300-v1|\
        linksys,ea7300-v2|\
-       linksys,ea7500-v2)
+       linksys,ea7500-v2|\
+       linksys,ea8100-v1)
                lan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
                wan_mac=$lan_mac
                label_mac=$lan_mac
index 49b7f23ce914109f5ebb8ce2514a5048c35e584a..bd0f0254c6c3fe22d4b6d8aa3d1d3d56730238f3 100644 (file)
@@ -21,7 +21,8 @@ case "$board" in
        linksys,e5600|\
        linksys,ea7300-v1|\
        linksys,ea7300-v2|\
-       linksys,ea7500-v2)
+       linksys,ea7500-v2|\
+       linksys,ea8100-v1)
                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
index cfaa62485cead13deb7de65146bbe2e16dbbbf74..d3525ea0c9389df73f6f29635a3c75554b883d18 100755 (executable)
@@ -11,7 +11,8 @@ boot() {
        linksys,e5600|\
        linksys,ea7300-v1|\
        linksys,ea7300-v2|\
-       linksys,ea7500-v2)
+       linksys,ea7500-v2|\
+       linksys,ea8100-v1)
                mtd resetbc s_env || true
                ;;
        samknows,whitebox-v8)
index 689a0e51ae00a7801e1133b50298dab99d9b7d98..4943ad1305485e3997bab17a08490d331644ccda 100755 (executable)
@@ -62,6 +62,7 @@ platform_do_upgrade() {
        linksys,ea7300-v1|\
        linksys,ea7300-v2|\
        linksys,ea7500-v2|\
+       linksys,ea8100-v1|\
        netgear,r6220|\
        netgear,r6260|\
        netgear,r6350|\