Re: [PATCH v2 2/2] ramips: support TP-Link EAP615-Wall

2022-02-27 Thread Arınç ÜNAL

On 26/02/2022 13:11, Stijn Tintel wrote:

Add support for the TP-Link EAP615-Wall, an AX1800 Wall Plate WiFi 6 AP.
The device is very similar to the TP-Link EAP235-Wall.

Hardware:
* SoC: MediaTek MT7621AT
* RAM: 128MiB
* Flash: 16MiB SPI-NOR
* Ethernet: 4x GbE
   * Back: ETH0 (PoE-PD)
   * Bottom: ETH1, ETH2, ETH3 (PoE passthrough)
* WiFi: MT7905DAN/MT7975DN 2.4/5 GHz 2T2R
* LEDS: 1x white
* Buttons: 1x LED, 1x reset

Stock firmware uses a random MAC address for ethernet. OpenWrt uses the
MAC address that is on the device label for ethernet and the wireless
interfaces. MAC address must not be incremented, as this will cause MAC
address conflicts in case you have two devices with consecutive MAC
addresses. Instead, different locally administered addresses will be
generated automatically, based on the MAC on the label.

Installation via stock firmware:
* Enable SSH in the TP-Link web interface
* SSH to the device
* Run `cliclientd stopcs`
* Upload the OpenWrt factory image via the TP-Link web interface

Installation via bootloader:
* Solder TTL header. Pinout: 1: TX, 2: RX, 3: GND, 4: VCC, with pin 1
   closest to ETH1. Baud rate 115200
* Interrupt boot process by holding a key during boot
* Boot the OpenWrt initramfs:
   # tftpboot 0x8400 
openwrt-ramips-mt7621-tplink_eap615-wall-v1-initramfs-kernel.bin
   # bootm
* Copy openwrt-ramips-mt7621-tplink_eap615-wall-v1-squashfs-sysupgrade.bin
   to /tmp and use sysupgrade to install it

Thanks to Sander Vanheule for his work on the EAP235-Wall, which made
adding support for the EAP615-Wall very easy.

Signed-off-by: Stijn Tintel 
---
v2: - PoE-PT -> PoE passthrough
 - MT7915E -> MT7905DAN/MT7975DN
 - dropped ethernet@1e10, moved reg override to 
 - dropped bus-range from 
 - dropped port@5 from 
 - added dsa-migration
 - kept kernel padding as it silences a warning
 - firmware-tools change committed to firmware-tools.git
---
  .../dts/mt7621_tplink_eap615-wall-v1.dts  | 210 ++
  target/linux/ramips/image/mt7621.mk   |  13 ++
  .../mt7621/base-files/etc/board.d/02_network  |   3 +-
  3 files changed, 225 insertions(+), 1 deletion(-)
  create mode 100644 target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts

diff --git a/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts 
b/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts
new file mode 100644
index 00..a57fe9cc97
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts
@@ -0,0 +1,210 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "mt7621.dtsi"
+
+#include 
+#include 
+#include 
+
+/ {
+   compatible = "tplink,eap615-wall-v1", "mediatek,mt7621-soc";
+   model = "TP-Link EAP615-Wall v1";
+
+   aliases {
+   label-mac-device = 
+   led-boot = _status;
+   led-failsafe = _status;
+   led-running = _status;
+   led-upgrade = _status;
+   };
+
+   chosen {
+   bootargs = "console=ttyS0,115200";
+   };
+
+   leds {
+   compatible = "gpio-leds";
+
+   led_status: status {
+   label = "white:status";
+   color = ;
+   function = LED_FUNCTION_STATUS;
+   gpios = < 12 GPIO_ACTIVE_LOW>;
+   };
+   };
+
+   keys {
+   compatible = "gpio-keys";
+
+   led {
+   label = "led";
+   gpios = < 10 GPIO_ACTIVE_LOW>;
+   linux,code = ;
+   };
+
+   reset {
+   label = "reset";
+   gpios = < 8 GPIO_ACTIVE_LOW>;
+   linux,code = ;
+   };
+   };
+
+   gpio-export {
+   compatible = "gpio-export";
+
+   poe_passthrough {
+   gpio-export,name = "poe-passthrough";
+   gpio-export,output = <0>;
+   gpios = < 7 GPIO_ACTIVE_HIGH>;
+   };
+   };
+};
+
+ {
+   reg = <0x1e10 0xe000>;
+};
+
+ {
+   status = "okay";
+
+   flash@0 {
+   compatible = "jedec,spi-nor";
+   reg = <0>;
+   spi-max-frequency = <2000>;
+
+   partitions {
+   compatible = "fixed-partitions";
+   #address-cells = <1>;
+   #size-cells = <1>;
+
+   partition@0 {
+   label = "u-boot";
+   reg = <0x0 0x8>;
+   read-only;
+   };
+
+   partition@8 {
+   label = "partition-table";
+   reg = <0x8 0x1>;
+   read-only;
+   };
+
+   info: partition@9 {

Re: [PATCH v2 2/2] ramips: support TP-Link EAP615-Wall

2022-02-26 Thread Sander Vanheule
On Sat, 2022-02-26 at 12:11 +0200, Stijn Tintel wrote:
> Add support for the TP-Link EAP615-Wall, an AX1800 Wall Plate WiFi 6 AP.
> The device is very similar to the TP-Link EAP235-Wall.
> 
> Hardware:
> * SoC: MediaTek MT7621AT
> * RAM: 128MiB
> * Flash: 16MiB SPI-NOR
> * Ethernet: 4x GbE
>   * Back: ETH0 (PoE-PD)
>   * Bottom: ETH1, ETH2, ETH3 (PoE passthrough)
> * WiFi: MT7905DAN/MT7975DN 2.4/5 GHz 2T2R
> * LEDS: 1x white
> * Buttons: 1x LED, 1x reset
> 
> Stock firmware uses a random MAC address for ethernet. OpenWrt uses the
> MAC address that is on the device label for ethernet and the wireless
> interfaces. MAC address must not be incremented, as this will cause MAC
> address conflicts in case you have two devices with consecutive MAC
> addresses. Instead, different locally administered addresses will be
> generated automatically, based on the MAC on the label.
> 
> Installation via stock firmware:
> * Enable SSH in the TP-Link web interface
> * SSH to the device
> * Run `cliclientd stopcs`
> * Upload the OpenWrt factory image via the TP-Link web interface
> 
> Installation via bootloader:
> * Solder TTL header. Pinout: 1: TX, 2: RX, 3: GND, 4: VCC, with pin 1
>   closest to ETH1. Baud rate 115200
> * Interrupt boot process by holding a key during boot
> * Boot the OpenWrt initramfs:
>   # tftpboot 0x8400 
> openwrt-ramips-mt7621-tplink_eap615-wall-v1-initramfs-kernel.bin
>   # bootm
> * Copy openwrt-ramips-mt7621-tplink_eap615-wall-v1-squashfs-sysupgrade.bin
>   to /tmp and use sysupgrade to install it
> 
> Thanks to Sander Vanheule for his work on the EAP235-Wall, which made
> adding support for the EAP615-Wall very easy.
> 
> Signed-off-by: Stijn Tintel 

With the minor comments below addressed:
Reviewed-by: Sander Vanheule 


> ---
> v2: - PoE-PT -> PoE passthrough
>     - MT7915E -> MT7905DAN/MT7975DN
>     - dropped ethernet@1e10, moved reg override to 
>     - dropped bus-range from 
>     - dropped port@5 from 
>     - added dsa-migration
>     - kept kernel padding as it silences a warning
>     - firmware-tools change committed to firmware-tools.git 
> ---
>  .../dts/mt7621_tplink_eap615-wall-v1.dts  | 210 ++
>  target/linux/ramips/image/mt7621.mk   |  13 ++
>  .../mt7621/base-files/etc/board.d/02_network  |   3 +-
>  3 files changed, 225 insertions(+), 1 deletion(-)
>  create mode 100644 target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts
> 
> diff --git a/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts
> b/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts
> new file mode 100644
> index 00..a57fe9cc97
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts
> @@ -0,0 +1,210 @@

...

> +
> + {
> +   status = "okay";
> +
> +   flash@0 {
> +   compatible = "jedec,spi-nor";
> +   reg = <0>;
> +   spi-max-frequency = <2000>;
> +
> +   partitions {
> +   compatible = "fixed-partitions";
> +   #address-cells = <1>;
> +   #size-cells = <1>;
> +
> +   partition@0 {
> +   label = "u-boot";
> +   reg = <0x0 0x8>;
> +   read-only;
> +   };
> +
> +   partition@8 {
> +   label = "partition-table";
> +   reg = <0x8 0x1>;
> +   read-only;
> +   };
> +
> +   info: partition@9 {
> +   label = "product-info";
> +   reg = <0x9 0x1>;
> +   read-only;
> +   };
> +
> +   partition@a {
> +   compatible = "denx,fit";
> +   label = "firmware";
> +   reg = <0x0a 0xcf>;
> +   };

Leading zero in "0x0a", but other offsets don't have them.

> +
> +   partition@d9 {
> +   label = "user-config";
> +   reg = <0xd9 0x6>;
> +   read-only;
> +   };
> +
> +   partition@f3 {
> +   label = "mutil-log";
> +   reg = <0xf3 0x8>;
> +   read-only;
> +   };
> +
> +   partition@fb {
> +   label = "oops";
> +   reg = <0xfb 0x04>;

"0x04" > "0x4", or use six digits (with leading zero) for all sizes.

> +   read-only;
> +   };
> +
> +   radio: partition@ff {
> + 

[PATCH v2 2/2] ramips: support TP-Link EAP615-Wall

2022-02-26 Thread Stijn Tintel
Add support for the TP-Link EAP615-Wall, an AX1800 Wall Plate WiFi 6 AP.
The device is very similar to the TP-Link EAP235-Wall.

Hardware:
* SoC: MediaTek MT7621AT
* RAM: 128MiB
* Flash: 16MiB SPI-NOR
* Ethernet: 4x GbE
  * Back: ETH0 (PoE-PD)
  * Bottom: ETH1, ETH2, ETH3 (PoE passthrough)
* WiFi: MT7905DAN/MT7975DN 2.4/5 GHz 2T2R
* LEDS: 1x white
* Buttons: 1x LED, 1x reset

Stock firmware uses a random MAC address for ethernet. OpenWrt uses the
MAC address that is on the device label for ethernet and the wireless
interfaces. MAC address must not be incremented, as this will cause MAC
address conflicts in case you have two devices with consecutive MAC
addresses. Instead, different locally administered addresses will be
generated automatically, based on the MAC on the label.

Installation via stock firmware:
* Enable SSH in the TP-Link web interface
* SSH to the device
* Run `cliclientd stopcs`
* Upload the OpenWrt factory image via the TP-Link web interface

Installation via bootloader:
* Solder TTL header. Pinout: 1: TX, 2: RX, 3: GND, 4: VCC, with pin 1
  closest to ETH1. Baud rate 115200
* Interrupt boot process by holding a key during boot
* Boot the OpenWrt initramfs:
  # tftpboot 0x8400 
openwrt-ramips-mt7621-tplink_eap615-wall-v1-initramfs-kernel.bin
  # bootm
* Copy openwrt-ramips-mt7621-tplink_eap615-wall-v1-squashfs-sysupgrade.bin
  to /tmp and use sysupgrade to install it

Thanks to Sander Vanheule for his work on the EAP235-Wall, which made
adding support for the EAP615-Wall very easy.

Signed-off-by: Stijn Tintel 
---
v2: - PoE-PT -> PoE passthrough
- MT7915E -> MT7905DAN/MT7975DN
- dropped ethernet@1e10, moved reg override to 
- dropped bus-range from 
- dropped port@5 from 
- added dsa-migration
- kept kernel padding as it silences a warning
- firmware-tools change committed to firmware-tools.git 
---
 .../dts/mt7621_tplink_eap615-wall-v1.dts  | 210 ++
 target/linux/ramips/image/mt7621.mk   |  13 ++
 .../mt7621/base-files/etc/board.d/02_network  |   3 +-
 3 files changed, 225 insertions(+), 1 deletion(-)
 create mode 100644 target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts

diff --git a/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts 
b/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts
new file mode 100644
index 00..a57fe9cc97
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts
@@ -0,0 +1,210 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "mt7621.dtsi"
+
+#include 
+#include 
+#include 
+
+/ {
+   compatible = "tplink,eap615-wall-v1", "mediatek,mt7621-soc";
+   model = "TP-Link EAP615-Wall v1";
+
+   aliases {
+   label-mac-device = 
+   led-boot = _status;
+   led-failsafe = _status;
+   led-running = _status;
+   led-upgrade = _status;
+   };
+
+   chosen {
+   bootargs = "console=ttyS0,115200";
+   };
+
+   leds {
+   compatible = "gpio-leds";
+
+   led_status: status {
+   label = "white:status";
+   color = ;
+   function = LED_FUNCTION_STATUS;
+   gpios = < 12 GPIO_ACTIVE_LOW>;
+   };
+   };
+
+   keys {
+   compatible = "gpio-keys";
+
+   led {
+   label = "led";
+   gpios = < 10 GPIO_ACTIVE_LOW>;
+   linux,code = ;
+   };
+
+   reset {
+   label = "reset";
+   gpios = < 8 GPIO_ACTIVE_LOW>;
+   linux,code = ;
+   };
+   };
+
+   gpio-export {
+   compatible = "gpio-export";
+
+   poe_passthrough {
+   gpio-export,name = "poe-passthrough";
+   gpio-export,output = <0>;
+   gpios = < 7 GPIO_ACTIVE_HIGH>;
+   };
+   };
+};
+
+ {
+   reg = <0x1e10 0xe000>;
+};
+
+ {
+   status = "okay";
+
+   flash@0 {
+   compatible = "jedec,spi-nor";
+   reg = <0>;
+   spi-max-frequency = <2000>;
+
+   partitions {
+   compatible = "fixed-partitions";
+   #address-cells = <1>;
+   #size-cells = <1>;
+
+   partition@0 {
+   label = "u-boot";
+   reg = <0x0 0x8>;
+   read-only;
+   };
+
+   partition@8 {
+   label = "partition-table";
+   reg = <0x8 0x1>;
+   read-only;
+   };
+
+   info: partition@9 {
+   label = "product-info";
+