ramips: add support for Linksys EA7300 v2
authorJ. Scott Heppler <shep971@centurylink.net>
Wed, 23 Sep 2020 02:30:45 +0000 (19:30 -0700)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Wed, 23 Sep 2020 10:17:32 +0000 (12:17 +0200)
This submission relied heavily on the work of
Santiago Rodriguez-Papa <contact at rodsan.dev>

Specifications:

*  SoC:            MediaTek  MT7621A            (880  MHz  2c/4t)
*  RAM:            Winbond W632GG6MB-12         (256M  DDR3-1600)
*  Flash:          Winbond W29N01HVSINA         (128M  NAND)
*  Eth:            MediaTek  MT7621A            (10/100/1000  Mbps  x5)
*  Radio:          MT7603E/MT7615N              (2.4  GHz  &  5  GHz)
                     4  antennae:  1  internal  and  3  non-deatachable
*  USB:            3.0  (x1)
*  LEDs:
          White    (x1  logo)
          Green    (x6  eth  +  wps)
          Orange   (x5,  hardware-bound)
*  Buttons:
          Reset    (x1)
          WPS      (x1)

Installation:

Flash factory image through GUI.

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.

Signed-off-by: J. Scott Heppler <shep971@centurylink.net>
package/boot/uboot-envtools/files/ramips
target/linux/ramips/dts/mt7621_linksys_ea7300-v2.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 6ff04b26e8fca8d742604edd7d9de394017dbe9e..14c12bbf093110586258b0ca56f0a0135639f8fc 100644 (file)
@@ -40,6 +40,7 @@ ravpower,rp-wd03)
                ubootenv_add_uci_config "/dev/mtd$idx" "0x4000" "0x1000" "0x1000"
        ;;
 linksys,ea7300-v1|\
+linksys,ea7300-v2|\
 linksys,ea7500-v2|\
 xiaomi,mi-router-ac2100|\
 xiaomi,mir3p|\
diff --git a/target/linux/ramips/dts/mt7621_linksys_ea7300-v2.dts b/target/linux/ramips/dts/mt7621_linksys_ea7300-v2.dts
new file mode 100644 (file)
index 0000000..f7330d1
--- /dev/null
@@ -0,0 +1,55 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7621_linksys_ea7xxx.dtsi"
+
+/ {
+       compatible = "linksys,ea7300-v2", "mediatek,mt7621-soc";
+       model = "Linksys EA7300 v2";
+
+       aliases {
+               led-boot = &led_power;
+               led-failsafe = &led_power;
+               led-running = &led_power;
+               led-upgrade = &led_power;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               wan_green {
+                       label = "ea7300-v2:green:wan";
+                       gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+               };
+
+               lan1_green {
+                       label = "ea7300-v2:green:lan1";
+                       gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+               };
+
+               lan2_green {
+                       label = "ea7300-v2:green:lan2";
+                       gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+               };
+
+               lan3_green {
+                       label = "ea7300-v2:green:lan3";
+                       gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+               };
+
+               lan4_green {
+                       label = "ea7300-v2:green:lan4";
+                       gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+               };
+
+               led_power: power {
+                       label = "ea7300-v2:white:power";
+                       gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
+               };
+
+               wps {
+                       label = "ea7300-v2:green:wps";
+                       gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
+               };
+       };
+};
index 78629563ee547de4c940a6d1910c0c2ff66f2238..274d9f7158f4d3461a81bfe4c0f45db19c978142 100644 (file)
@@ -655,6 +655,15 @@ define Device/linksys_ea7300-v1
 endef
 TARGET_DEVICES += linksys_ea7300-v1
 
+define Device/linksys_ea7300-v2
+  $(Device/linksys_ea7xxx)
+  DEVICE_MODEL := EA7300
+  DEVICE_VARIANT := v2
+  LINKSYS_HWNAME := EA7300v2
+  DEVICE_PACKAGES += kmod-mt7603
+endef
+TARGET_DEVICES += linksys_ea7300-v2
+
 define Device/linksys_ea7500-v2
   $(Device/linksys_ea7xxx)
   DEVICE_MODEL := EA7500
index c5cd446809347b9d1f6181d5c8c503b4933d62ae..8c3be541b095dcf862a92a782487ffc390bd49a9 100755 (executable)
@@ -42,6 +42,7 @@ gnubee,gb-pc2)
        ucidef_set_led_netdev "lan2" "lan2" "$boardname:green:lan2" "lan2"
        ;;
 linksys,ea7300-v1|\
+linksys,ea7300-v2|\
 linksys,ea7500-v2)
        ucidef_set_led_netdev "lan1" "lan1 link" "$boardname:green:lan1" "lan1" "link"
        ucidef_set_led_netdev "lan2" "lan2 link" "$boardname:green:lan2" "lan2" "link"
index 1c1d0e4ab7d8b65c874af599dcae257f1f137d29..26063470e874c6e9d9affd8e123cec2e7a8ee639 100755 (executable)
@@ -105,6 +105,7 @@ ramips_setup_macs()
                label_mac=$wan_mac
                ;;
        linksys,ea7300-v1|\
+       linksys,ea7300-v2|\
        linksys,ea7500-v2)
                lan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
                wan_mac=$lan_mac
index 3f7fdc1a79a900c12df744538840298b49d92f1b..b7a41f038c537f15c0d92eb0960c5f51b0f5e892 100644 (file)
@@ -11,6 +11,7 @@ board=$(board_name)
 
 case "$board" in
        linksys,ea7300-v1|\
+       linksys,ea7300-v2|\
        linksys,ea7500-v2)
                hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
                [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
index b17161a50a588136c64be75bc4b0acb034ef8bd5..7ef0053e679047165096244a00cb433960eec890 100755 (executable)
@@ -9,6 +9,7 @@ boot() {
                        echo -e "bootcount\nbootchanged\n" | /usr/sbin/fw_setenv -s -
                ;;
        linksys,ea7300-v1|\
+       linksys,ea7300-v2|\
        linksys,ea7500-v2)
                mtd resetbc s_env || true
                ;;
index b1feea7ae60ebf8b9cd81b83a53c85bd0e4a2a40..442e78df3ca023cd030971087ae1d8618e70cd42 100755 (executable)
@@ -49,6 +49,7 @@ platform_do_upgrade() {
        dlink,dir-2660-a1|\
        hiwifi,hc5962|\
        linksys,ea7300-v1|\
+       linksys,ea7300-v2|\
        linksys,ea7500-v2|\
        netgear,r6220|\
        netgear,r6260|\