ramips: add support for Linksys EA7300 v2

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>
This commit is contained in:
J. Scott Heppler 2020-09-22 19:30:45 -07:00 committed by Adrian Schmutzler
parent 127ca3c631
commit 620f9c7734
8 changed files with 70 additions and 0 deletions

View 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|\

View File

@ -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>;
};
};
};

View 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

View File

@ -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"

View File

@ -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

View 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

View File

@ -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
;;

View File

@ -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|\