Anyone working on TP-Link EAP225?

I do.

drwxr-xr-x  7 user user 4096 Jul 23 20:15 freifunk
lrwxrwxrwx  1 user user   25 Jul 27 04:43 freifunk.index -> freifunk.tmp/.packageinfo
lrwxrwxrwx  1 user user   24 Jul 27 04:43 freifunk.targetindex -> freifunk.tmp/.targetinfo
drwxr-xr-x  3 user user 4096 Jul 23 20:15 freifunk.tmp
drwxr-xr-x 12 user user 4096 Jul 23 20:15 luci
lrwxrwxrwx  1 user user   21 Jul 27 04:43 luci.index -> luci.tmp/.packageinfo
lrwxrwxrwx  1 user user   20 Jul 27 04:43 luci.targetindex -> luci.tmp/.targetinfo
drwxr-xr-x  3 user user 4096 Jul 23 20:15 luci.tmp
drwxr-xr-x 18 user user 4096 Jul 23 20:14 packages
lrwxrwxrwx  1 user user   25 Jul 27 04:43 packages.index -> packages.tmp/.packageinfo
lrwxrwxrwx  1 user user   24 Jul 27 04:43 packages.targetindex -> packages.tmp/.targetinfo
drwxr-xr-x  3 user user 4096 Jul 23 20:15 packages.tmp
drwxr-xr-x 35 user user 4096 Jul 23 20:15 routing
lrwxrwxrwx  1 user user   24 Jul 27 04:43 routing.index -> routing.tmp/.packageinfo
lrwxrwxrwx  1 user user   23 Jul 27 04:43 routing.targetindex -> routing.tmp/.targetinfo
drwxr-xr-x  3 user user 4096 Jul 23 20:15 routing.tmp
drwxr-xr-x  7 user user 4096 Jul 23 20:15 telephony
lrwxrwxrwx  1 user user   26 Jul 27 04:43 telephony.index -> telephony.tmp/.packageinfo
lrwxrwxrwx  1 user user   25 Jul 27 04:43 telephony.targetindex -> telephony.tmp/.targetinfo
drwxr-xr-x  3 user user 4096 Jul 23 20:15 telephony.tmp

That's interesting. Considering @svanheule led me to look at there...

Do you mean
are custom repositories? I have taken these out from another router running official 19.07.3 build so I believe these are feed repositories that are supposed to be in /etc/opkg/distfeeds.conf

Everything hosted here is what opkg can sync with:

I checked there when I made that list at the top, yes. That does prove my point though.

P.S. to be exact.

Your video clip also showed the bootloader stuck at that point. I was already starting to wonder if they had disabled the serial console :sweat_smile:

I don't suppose you experienced any issues booting before using the serial port?

Technically yes, hence flashing factory image over initramfs. But before even attempting to install OpenWRT, no. I must have only cold-booted like 3 times while stock image was installed.

P.S. What confuses me is I can not even boot to the stock image now. As I said, if it doesn't become stuck, it leads to the command-line.

P.P.S. I've tried flashing stock firmware from serial console, LuCI, mtd from CLI. No luck.

P.P.P.S. Brings me back to my suspicion which something hardware-wise is broken.

P.P.P.P.S. I'm going to return it in the morning, in case a miracle doesn't happen.

If it gets stuck in the bootloader, that very much sounds like a hardware issue. Does it make a difference whether you leave the serial port connected or not?

Well, I figured you were looking for packages at build time, since installing packages on snapshot builds isn't usually what you do if you are building your own images anyway...

If you want to go back to stock, you need to use firmware-utils/tplink-safeloader that gets built when you create an image. That tool can help you to create a sysupgrade-compatible image from the TP-Link file. Otherwise flashing a stock image is the same as flashing the OpenWrt factory image.

1 Like

It becomes stuck without serial port connected, so I say it doesn't make any difference.

That explains why I couldn't boot to it. I'm fairly certain the bootloader hang issue will remain. I've already created a return ticket on Amazon and going to ship it back. Thanks for the continous help, it has been a very entertaining experience.

Thanks for your work. I tested EAP225v3 test release and everything works fine.


A post was split to a new topic: EAP225 US v1 back to US firmware

Created a device page; feel free to edit it.

Sidenote: That's a dataentry page, not a devicepage.

You mention "PR pending" in the dataentry. Since I couldn't find a PR for EAP225: Which PR is it exactly?

1 Like

There currently is no PR (which is why I didn't create a data entry myself). I've only sent the patches to the mailing list as an RFC.

The patches for the EAP225-v3 (and similar devices) depend on the mtd-splitter and tplink-safeloader patches in pull request #3130, so I didn't want to create a new PR yet.


I mean this PR by @svanheule

and here's a test image from the same user as well.

That's currently just a branch in my copy of the OpenWrt repository. It only becomes a pull request when I ask the OpenWrt maintainers to merge it. See my EAP245v3 branch and pull request for example.

I plan to create a pull request for the EAP225 v3 too, but first some other patches need to get accepted.

1 Like


like I said yesterday in the wrong thread (:man_facepalming:), the July 26th build is working great on my EAP225-Outdoor with WPA2 PSK (CCMP) and 802.11r Fast Transition enabled on both 5Ghz radio0 (QCA9886 / 802.11nac) and 2.4GHz radio1 (AR9561 802.11bgn).

Thanks again @svanheule!

Note: at first I had an issue with 2.4GHz but it was caused by an incorrect WPA2 PSK configuration.


Glad to hear you were able to resolve your issue and everything works!

1 Like

@svanheule Would you please share your Buildroot .config for the EAP225 v3? I've taken a stab at it, but it would be nice to have a known working config. Thanks!

If you want to build yourself, don't forget to enable kmod-ath10-ct (under Kernel Modules > Wireless Drivers) and ath10k-firmware-qca9888-ct (under Firmware). With those two packages selected, you should be able to build an image that supports all hardware on the device.

Note that the default buildconfig doesn't select LuCI, so if you want that you will need to select it too.

Got the ath10k stuff, thanks. That was autoselected.

What about the ag71xx MAC and ar8033 PHY? I don't see options for those. Edit: looks like those are selected by target/linux/ath79/config-5.4:CONFIG_AG71XX=y

Can you post your .config somewhere? Or is there a way to get from your sources or image? I downloaded the tarball but didn't find a .config.

Edit: I managed to make a minimal config by renaming .config to something else, running make allnoconfig, then make menuconfig, enabling just the EAP225-related options:


Once you've selected the EAP255 v3 as target device, you should be all set. Things like the ar71xx ethernet driver are platform specific, so these are selected once you pick the ath79 target.

By the way, manually editing .config usually isn't really convenient. You're better off using make menuconfig if you want to select extra packages or options. If you want to reset certain options, you can manually remove them and then run make oldconfig to be prompted for the new value, or make defconfig if you just want to pick the defaults.