ath79-Support for TP-Link TL-WA901ND v3/v4/v5

I've recently ported the v3/v4/v5 variants of the TL-WA901ND to ath79.
Although those are 4/32 devices, it wasn't really much work as they mostly share their config with other already supported devices.

In case anybody wants to test that (don't have the hardware), you may visit my PR https://github.com/openwrt/openwrt/pull/2923

1 Like

Hi, thank you for the support. I own a TL-WA901ND v5 and I am glad to test if you can provide the images (sorry, I currently have no means of compiling it myself). Best regards

Hi, I've pushed images here (v3/v4/v5):
https://www.adrianschmutzler.net/upload/wa901nd.zip

Note that these images are built without GUI or other additional packages, so they are similar to what's offered for the snapshots from master.

Please check both TFTP and factory flashing if possible.

As I've built this solely based on code, be aware that there is a chance that it's not working (even if it boots, you may have no ethernet etc.). I don't think so, but you never know. Thus, I'd recommend to test TFTP with a known-to-be-working image first. Despite, if you plan to use sysupgrade, make sure you delete your previous settings (sysupgrade -n from command line or appropriate checkbox for luci).

For testing, I'd be glad if you could check the following:

  • Flashing instructions as given in the PR commit
  • device booting
  • LEDs
  • buttons
  • ethernet port
  • Wifi

Thanks for your help.

1 Like

Hi,
I couldn't get the TFTP method to work:

  1. Connect my router to my windows PC via cable
  2. Set the PCs IP to 192.168.0.66
  3. Start tftpd64 version 464, no security, bind to the above mentioned IP
  4. Turn router off/on and leave "reset" pressed (after 5 secs lock icon lights up)

But then, the router never requests any file from the TFTP server. I had another computer connect to the TFTP server, so it seems to be working...

Any idea?

I took the image name from here: https://github.com/openwrt/openwrt/commit/e202a8b9f6ecf02d42da4781dc5e27abe957f7dc

The rest I put based on the typical instruction for TP-Link devices. Maybe check with Wireshark what the devices looks for during boot.

Hi,

ok, the problem was with my laptop: it didnt bring the ethernet up quickly enough after the router rebooted. Putting a switch between the router and the laptop solved this.

I can confirm everything works in your image: the image name needs to be "wa901ndv4_tp_recovery.bin". Lights work, ethernet works, wifi works (only tested AP mode).

So feel free to commit the changes. Hoping to see official support in an upcoming release soon :wink:

@humaita Thanks for your feedback. Would you provide a "Tested-by: Full Name " that I can add to the commit message of the git commit? If you don't want to post it here, just send a PM or look up my e-mail address in the referenced PR/commits from the start of this discussion.

Note that since this is a 4/32 device, it won't build for a future release anymore, since these releases are bloated with additional packages.

1 Like

So, v4/v5 are merged, but I'm still looking for somebody to test v3.

1 Like

I'd be interested in a similar migration for the TL-WA801ND (v3), but I don't have any skills/experience in this area. I'm happy to try learning if there's a guide, ideally something that means I don't accidentally brick my device!

Hi, I've ported the device and pushed the patch here:

https://git.openwrt.org/?p=openwrt/staging/adrian.git;a=shortlog;h=refs/heads/rft-devices

Images with default configuration (no GUI, like snapshots) can be downloaded here:
https://www.adrianschmutzler.net/upload/wa801nd.zip

Please test the image on your device (ethernet, WiFi, LEDs, buttons, ...) and report back so this can be merged.

Make sure you have means of recovery as I cannot guarantee that the network setup is correct, and you may lock yourself out of your device if you have bad luck.

@adrianschmutzler - that was fast thank you! I will need to wait a day or two before trying it out as I can't risk the router being out of action tomorrow.

A couple of quick questions:

  1. I currently have OpenWrt 19.07.3 (ar71xx) running on the device - do you need me to flash it back to OEM first, or can I just try to use the upgrade image?
  2. As for recovery, I have a raspberry pi and a soldering iron, I think that should be enough to get me a serial console (not that I've ever tried before). Is that sufficient for recovery?

Thanks again.

sysupgrade from ar71xx is fine, just make sure you flash without keeping settings (sysupgrade -n if you use ssh). You will only reach the device via ssh on standard IP afterwards.
You may backup your settings and reapply them when having flashed back to ar71xx. Note that downgrade from ath79 to ar71xx will give a warning about board not matching, so you will need to use sysupgrade -n -F there.

It looks like v3 supports TFTP via ethernet: https://openwrt.org/toh/tp-link/tl-wa801nd#locked_firmware

This might make your life easier, and you won't need to solder in case of soft-brick (if the Wiki is correct).

Take your time.

1 Like

I've performed the following verification steps:

  1. Installed firmware with sysupgrade -n | confirmed working
  2. Connected via SSH to upgraded system. | confirmed working
  3. Checked Ethernet LED operation. | confirmed working
  4. Tested button press on rear of device - WiFi and WiFi LED switches on | confirmed working, see minor issues
  5. WiFi LED, flashes when a device connects | confirmed working
  6. Connect via SSH over WiFi (no ethernet) | confirmed working
  7. Turn security LED (red and grey) on/off by writing to /sys/class/leds/<led>/brightness | confirmed working
  8. Flash back to my previous firmware via ssh | confirmed working

Minor issues - the button on the back of my TL-WA801ND v3 is labelled WPS, not WiFi. I don't care about this, and I know the function can be remapped in software easily.

As far as I'm concerned it looks like things are working fine and ok to merge. Let me know if there's anything more you'd like me to test. Thanks again.

Thanks, I've changed the WiFi button to WPS.

Despite, can you please check whether the following TFTP instructions will work with your v3:

TFTP Recovery:

1. Set PC to fixed IP address 192.168.0.66
2. Download *-factory.bin image and rename it to
   wa801ndv3_tp_recovery.bin
3. Start a tftp server with the image file in its root directory
4. Turn off the router
5. Press and hold Reset button
6. Turn on router with the reset button pressed and wait ~15 seconds
7. Release the reset button and after a short time
   the firmware should be transferred from the tftp server
8. Wait ~30 second to complete recovery.

You can try either with vendor firmware or with my ath79-factory.bin (or any other OpenWrt factory, just not the one you have already installed, as you could not verify success then). In any case, this will wipe your config again.

If confirmed, I'd merge to master, and then provide a 19.07-backport image for testing again.

Confirmed successful TFTP recovery in both directions, specifically:

  • 19.07.3 (ar71xx) -> ath79 snapshot
  • ath79 snapshot -> 19.07.3 (ar71xx)

TFTP server: PumpKIN on MacOS.

Thanks, I've merged the patch to master.

A backport to 19.07 is available here:
https://git.openwrt.org/?p=openwrt/staging/adrian.git;a=shortlog;h=refs/heads/staging-19.07

Images:
https://www.adrianschmutzler.net/upload/wa801ndback.zip

If you want to test the backport as well, I'd merge it next week ...

The backup version all seems to work correctly too. I ran almost all of the same tests, but this time the button didn't switch the wifi on/off. I used the following to test it instead:

root@OpenWrt:~# mkdir -p /etc/hotplug.d/button
root@OpenWrt:~# cat << "EOF" > /etc/hotplug.d/button/buttons
> logger "the button was ${BUTTON} and the action was ${ACTION}"
> EOF
root@OpenWrt:~# logread -f
Fri Jun 19 14:23:02 2020 user.notice root: the button was �wps and the action was pressed
Fri Jun 19 14:23:02 2020 user.notice root: the button was �wps and the action was released

I'm not sure if the � is an issue or not. Everything worked fine as far as I could tell using SSH over ethernet/wireless.

Thanks again

Now that I think of it, the � could easily be a hangover from a typo which I moved to/deleted leaving a non-printable character in the log string.

Hi, thanks for testing, I will merge to 19.07 next week then (to give the device some time in master first).

Since you reported the WPS button is a WPS button, and the manual reports the same, I've changed the button code it now actually is a WPS button. Therefore, it won't switch WiFi by default ...

Thanks again, so this device should be dealt with now and only TL-WA901ND v3 remains here.

Hi @adrianschmutzler,

Sorry to revive such an old thread, but is it possible if you could compile an image for TL-WA901ND v5 with wpad (or preferably wpad-openssl if possible) instead of wpad-mini and remove all ppoe packages to make space for it (I only want to use the device as a dumb AP).

Thanks in advance