1
0
mirror of https://git.openwrt.org/openwrt/openwrt.git synced 2024-10-20 14:38:20 +02:00
openwrt/tools
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
..
autoconf
autoconf-archive
automake
b43-tools
bc tools/bc: use autoreconf to fix build failure on macOS with recent Xcode versions 2020-11-14 14:48:30 +01:00
bison tools/bison: update to 3.7.4 2020-11-21 18:49:08 +01:00
cbootimage treewide: update email address of Tomasz Maciej Nowak 2020-11-24 15:39:07 +01:00
cbootimage-configs treewide: update email address of Tomasz Maciej Nowak 2020-11-24 15:39:07 +01:00
ccache tools/ccache: find libzstd using rpath 2021-01-10 21:40:23 -10:00
cmake tools/cmake: always use non-ccache CC and CXX variables 2021-01-06 21:44:56 -10:00
coreutils tools/coreutils: update to 8.32 2020-08-30 22:21:34 +02:00
dosfstools
e2fsprogs
elftosb
expat tools/expat: update to 2.2.10 2020-11-21 18:48:39 +01:00
fakeroot tools/fakeroot: fix build regression on macOS 2021-02-15 19:58:54 +01:00
findutils
firmware-utils ramips: mt7621: add TP-Link EAP235-Wall support 2021-02-19 14:00:08 +01:00
flex
flock
genext2fs
gengetopt
gmp tools/gmp: update to 6.2.1 2020-11-21 18:49:17 +01:00
include
isl
kernel2minor
libelf tools/libelf: use autoreconf to fix build failure on macOS with recent Xcode versions 2020-11-14 14:48:30 +01:00
libressl ccache: update to 4.1 2020-12-31 10:03:21 +01:00
libtool
lzma treewide: unify OpenWrt hosted source via @OPENWRT 2021-02-05 12:00:24 -10:00
lzma-old treewide: unify OpenWrt hosted source via @OPENWRT 2021-02-05 12:00:24 -10:00
m4
make-ext4fs
missing-macros treewide: remove empty default cases 2020-09-17 12:46:19 +02:00
mkimage tools: mkimage: Update U-Boot to version 2021.01 2021-02-08 22:46:27 +01:00
mklibs
mm-macros
mpc tools/mpc: update to 1.2.1 2020-11-21 18:49:27 +01:00
mpfr tools/mpfr: update to 4.1.0 2020-08-23 19:40:32 +02:00
mtd-utils tools: mtd-utils: Update to version 2.1.2 2020-08-26 23:29:35 +02:00
mtools
padjffs2
patch
patch-image rb532: drop target 2020-09-02 16:29:22 +02:00
patchelf tools/patchelf: bump to use latest master 2021-02-15 07:12:51 +01:00
pkgconf ccache: update to 4.1 2020-12-31 10:03:21 +01:00
quilt
sdimage
sed
sparse
squashfs
squashfskit4 tools/squashfskit4: fix build on non-linux systems 2020-09-01 17:01:56 +02:00
sstrip tools/sstrip: update to latest version 2020-11-26 12:44:25 -10:00
tar
xz
zip
zlib
zstd tools/zstd: compile with cmake 2021-01-30 18:14:50 -10:00
Makefile tools/zstd: compile with cmake 2021-01-30 18:14:50 -10:00