diff mbox series

[v3] ramips: add support for Linksys EA7300 v2

Message ID 20200923023045.GA18468@centurylink.net
State Accepted
Headers show
Series [v3] ramips: add support for Linksys EA7300 v2 | expand

Commit Message

Heppler, J. Scott Sept. 23, 2020, 2:30 a.m. UTC
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 at centurylink.net>
---
   package/boot/uboot-envtools/files/ramips      |  1 +
   .../ramips/dts/mt7621_linksys_ea7300-v2.dts   | 55 +++++++++++++++++++
   target/linux/ramips/image/mt7621.mk           |  9 +++
   .../mt7621/base-files/etc/board.d/01_leds     |  1 +
   .../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 +
   8 files changed, 70 insertions(+)
   create mode 100644 target/linux/ramips/dts/mt7621_linksys_ea7300-v2.dts

Comments

Adrian Schmutzler Sept. 23, 2020, 9:48 a.m. UTC | #1
Hi,

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org]
> On Behalf Of Heppler, J. Scott
> Sent: Mittwoch, 23. September 2020 04:31
> To: openwrt-devel@openwrt.org
> Subject: [PATCH v3] ramips: add support for Linksys EA7300 v2
> 
> ramips:  add  support  for  Linksys  EA7300  v2

Thanks, I will merge this later today, but please note the following hints for the next time you submit patches :-)

General:
- If you resend with incremented version, please add some comments about what has changed between the submission. This should be done by adding a line with "---" after the Signed-off-by in the commit message, and then adding something like

---

Changes in v2:
- Fixed indent

Due to the "---" line, everything after that will automatically be cut off when a committer takes that patch from patchwork. But we don't have to look for the changes between versions ourselves.

- Your patch had strangely broken indent, so it didn't apply at all. For some reason, the non-changed lines in the patch were not starting with one space, but with three:

   reference line
   reference line
   reference line
+added line
   reference line
   reference line
   reference line

However, it should be only one space, as you have only one plus or minus as well:

 reference line
 reference line
 reference line
+added line
 reference line
 reference line
 reference line

I don't know how that got introduced, but I had to fix it manually in the patch. If you used git-sendemail, there must be something wrong with the configuration somewhere.

Other comments below.

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

This has mixed space and tab indent. For blocks like these typically pure spaces are used.

> *  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 at centurylink.net>

Please use a real e-mail address here instead of the at placeholder.

As stated above, you don't need to resend this patch, it's just meant as hint for future submissions.

Best

Adrian

> ---
>    package/boot/uboot-envtools/files/ramips      |  1 +
>    .../ramips/dts/mt7621_linksys_ea7300-v2.dts   | 55
> +++++++++++++++++++
>    target/linux/ramips/image/mt7621.mk           |  9 +++
>    .../mt7621/base-files/etc/board.d/01_leds     |  1 +
>    .../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 +
>    8 files changed, 70 insertions(+)
>    create mode 100644 target/linux/ramips/dts/mt7621_linksys_ea7300-
> v2.dts
> 
> diff --git a/package/boot/uboot-envtools/files/ramips
> b/package/boot/uboot-envtools/files/ramips
> index 6ff04b26e8..14c12bbf09 100644
> --- a/package/boot/uboot-envtools/files/ramips
> +++ b/package/boot/uboot-envtools/files/ramips
> @@ -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
> index 0000000000..f7330d1c86
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7621_linksys_ea7300-v2.dts
> @@ -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>;
> +		};
> +	};
> +};
> diff --git a/target/linux/ramips/image/mt7621.mk
> b/target/linux/ramips/image/mt7621.mk
> index 78629563ee..274d9f7158 100644
> --- a/target/linux/ramips/image/mt7621.mk
> +++ b/target/linux/ramips/image/mt7621.mk
> @@ -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
> 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 c5cd446809..8c3be541b0 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
> @@ -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"
> 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 1c1d0e4ab7..26063470e8 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
> @@ -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
> 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 3f7fdc1a79..b7a41f038c 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_f
> +++ ix_wifi_mac
> @@ -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 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 b17161a50a..7ef0053e67 100755
> --- a/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
> +++ b/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
> @@ -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
>    		;;
> 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 b1feea7ae6..442e78df3c 100755
> --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
> @@ -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|\
> --
> 2.20.1
> 
> 
> --
> J. Scott Heppler
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
diff mbox series

Patch

diff --git a/package/boot/uboot-envtools/files/ramips b/package/boot/uboot-envtools/files/ramips
index 6ff04b26e8..14c12bbf09 100644
--- a/package/boot/uboot-envtools/files/ramips
+++ b/package/boot/uboot-envtools/files/ramips
@@ -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
index 0000000000..f7330d1c86
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_linksys_ea7300-v2.dts
@@ -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>;
+		};
+	};
+};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 78629563ee..274d9f7158 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -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
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 c5cd446809..8c3be541b0 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
@@ -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"
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 1c1d0e4ab7..26063470e8 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
@@ -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
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 3f7fdc1a79..b7a41f038c 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
@@ -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
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 b17161a50a..7ef0053e67 100755
--- a/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
+++ b/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
@@ -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
   		;;
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 b1feea7ae6..442e78df3c 100755
--- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
@@ -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|\