openwrt/target/linux
Sander Vanheule 1e75909a35 ramips: mt7621: add TP-Link EAP235-Wall support
The TP-Link EAP235-Wall is a wall-mounted, PoE-powered AC1200 access
point with four gigabit ethernet ports.

When connecting to the device's serial port, it is strongly advised to
use an isolated UART adapter. This prevents linking different power
domains created by the PoE power supply, which may damage your devices.

The device's U-Boot supports saving modified environments with
`saveenv`. However, there is no u-boot-env partition, and saving
modifications will cause the partition table to be overwritten. This is
not an issue for running OpenWrt, but will prevent the vendor FW from
functioning properly.

Device specifications:
* SoC: MT7621DAT
* RAM: 128MiB
* Flash: 16MiB SPI-NOR
* Wireless 2.4GHz (MT7603EN): b/g/n, 2x2
* Wireless 5GHz (MT7613BEN): a/n/ac, 2x2
* Ethernet: 4× GbE
  * Back side: ETH0, PoE PD port
  * Bottom side: ETH1, ETH2, ETH3
* Single white device LED
* LED button, reset button (available for failsafe)
* PoE pass-through on port ETH3 (enabled with GPIO)

Datasheet of the flash chip specifies a maximum frequency of 33MHz, but
that didn't work. 20MHz gives no errors with reading (flash dump) or
writing (sysupgrade).

Device mac addresses:
Stock firmware uses the same MAC address for ethernet (on device label)
and 2.4GHz wireless. The 5GHz wireless address is incremented by one.
This address is stored in the 'info' ('default-mac') partition at an
offset of 8 bytes.
From OEM ifconfig:
    eth     a4:2b:b0:...:88
    ra0     a4:2b:b0:...:88
    rai0    a4:2b:b0:...:89

Flashing instructions:
* Enable SSH in the web interface, and SSH into the target device
* run `cliclientd stopcs`, this should return "success"
* upload the factory image via the web interface

Debricking:
U-boot can be interrupted during boot, serial console is 57600 baud, 8n1
This allows installing a sysupgrade image, or fixing the device in
another way.
* Access serial header from the side of the board, close to ETH3,
  pin-out is (1:TX, 2:RX, 3:GND, 4:3.3V), with pin 1 closest to ETH3.
* Interrupt bootloader by holding '4' during boot, which drops the
  bootloader into its shell
* Change default 'serverip' and 'ipaddr' variables (optional)
* Download initramfs with `tftpboot`, and boot image with `bootm`
    # tftpboot 84000000 openwrt-initramfs.bin
    # bootm

Revert to stock:
Using the tplink-safeloader utility from the firmware-utils package,
TP-Link's firmware image can be converted to an OpenWrt-compatible
sysupgrade image:
  $ ./staging_dir/host/bin/tplink-safeloader -B EAP235-WALL-V1 \
      -z EAP235-WALLv1_XXX_up_signed.bin -o eap235-sysupgrade.bin

This can then be flashed using the OpenWrt sysupgrade interface. The
image will appear to be incompatible and must be force flashed, without
keeping the current configuration.

Known issues:
- DFS support is incomplete (known issue with MT7613)
- MT7613 radio may stop responding when idling, reboot required.
  This was an issue with the ddc75ff704 version of mt76, but appears to
  have improved/disappeared with bc3963764d.
  Error notice example:
  [ 7099.554067] mt7615e 0000:02:00.0: Message 73 (seq 1) timeout

Hardware was kindly provided for porting by Stijn Segers.

Tested-by: Stijn Segers <foss@volatilesystems.org>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2021-02-19 14:00:08 +01:00
..
apm821xx kernel: bump 5.4 to 5.4.97 2021-02-11 16:08:28 +01:00
arc770 target: use SPDX license identifiers on scripts 2021-02-10 15:47:23 +01:00
archs38 target: use SPDX license identifiers on scripts 2021-02-10 15:47:23 +01:00
armvirt target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
at91 at91: use SPDX license identifiers on DTS files 2021-02-10 15:47:23 +01:00
ath25 target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
ath79 ath79: fix position of SPDX license identifier 2021-02-19 13:53:22 +01:00
bcm27xx bcm27xx: add diag LEDs 2021-02-19 08:09:11 +01:00
bcm47xx target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
bcm53xx kernel: bump 5.4 to 5.4.97 2021-02-11 16:08:28 +01:00
bcm63xx bcm63xx: update ethernet kernel panics fix 2021-02-19 12:28:19 +01:00
bcm4908 bcm4908: add bcm_sf2 fixes for the 5th GPHY 2021-02-16 07:10:33 +01:00
gemini target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
generic kernel: bump 5.4 to 5.4.99 2021-02-18 20:04:50 +01:00
imx6 Revert "imx6: bootscript-apalis: make it working on v2021.01 release" 2021-02-14 23:28:07 +01:00
ipq40xx ipq40xx: remove generic profile 2021-01-27 21:31:20 +01:00
ipq806x ipq806x: replace full-text BSC license by SPDX identifier 2021-02-05 18:28:30 +01:00
ipq807x config: limit CONFIG_PERF_EVENTS to top-level generic configs 2021-01-25 14:37:41 +01:00
kirkwood target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
lantiq lantiq: fritz7320: enable USB power supply 2021-02-18 08:43:08 +01:00
layerscape kernel: bump 5.4 to 5.4.99 2021-02-18 20:04:50 +01:00
malta target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
mediatek mediatek: fix SPDX license identifier on local DTS files 2021-02-19 13:47:45 +01:00
mpc85xx target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
mvebu mvebu: espressobin: drop COMPHY removement patch 2021-02-14 09:34:57 +01:00
mxs target: use SPDX license identifiers on scripts 2021-02-10 15:47:23 +01:00
octeon target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
octeontx target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
omap target: use SPDX license identifiers on scripts 2021-02-10 15:47:23 +01:00
oxnas target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
pistachio target: use SPDX license identifiers on scripts 2021-02-10 15:47:23 +01:00
ramips ramips: mt7621: add TP-Link EAP235-Wall support 2021-02-19 14:00:08 +01:00
realtek realtek: add support for Netgear GS108T v3 2021-02-12 08:52:41 +01:00
rockchip target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
sunxi target: use SPDX license identifiers on scripts 2021-02-10 15:47:23 +01:00
tegra target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
uml target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
x86 target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
zynq target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
Makefile target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00