10 June 2018 – NOTE: LEDE is no more. It has merged with OpenWRT. Furthermore, the TP-Link WA901NDV3 is no longer supported. I have updated some of the links to the new OpenWRT website, but further changes may have taken place. I will leave the post here for reference, but you ought to try compiling a newer firmware for security.

Apparently, I managed to compile and flash a working firmware for my TP-Link WA901NDV3 using the newer OpenWRT sources (in particular I used commit f60301db748a8a40f42a6dc4faa7250529cb6cc6). The update worked like a charm, with the settings being preserved. If anyone needs the new roms and kernel config drop me a message.

Information about the device can be found below:

I installed a custom LEDE rom on my TP-Link TL-WA901ND since the default one build upstream had features that I wasn’t using and they consumed the free space of the device unnecessarily.

Namely, I removed support for IPv6, USB and telephony, as well as some associated packages and kernel modules (including ppp). I also included in the custom ROM dropbear (sshd), nano (text editor), and luci over SSL. You can download:

You can use LuCI to upgrade, or using the command line sysupgrade -v lede-ar71xx-generic-tl-wa901nd-v3-squashfs-sysupgrade-20170615.bin. I have not tested the factory rom.

Customizing the custom ROM :)

If you want to build, or customize the rom using my kernel config, read on.

You first need the LEDE (or OpenWRT) source code:

git clone https://git.lede-project.org/source.git lede

Read the instructions on how to “Use the build system to compile a firmware image”. This is assuming you have setup your system with the necessary tools to build the code. My Gentoo system didn’t require anything to be installed, but if yours doesn’t you can get some info here.

Once you have your system ready and updated your feeds, copy the config-tl-wa901nd-v3 kernel config in the root of the source code. If you want to customize it, do make menuconfig, then make -j1, or make -j5 if you have 4 cores, etc.

You may have to wait for quite a while for this to complete. Once done the images will be created in bin/targets/ar71xx/generic/. Note that if there are no errors, but you don’t see the lede-ar71xx-generic-tl-wa901nd-v3-squashfs-factory.bin and lede-ar71xx-generic-tl-wa901nd-v3-squashfs-sysupgrade.bin files, it means the packages and features you included in the rom’s kernel may have exceeded the amount of space the device has. You have to remove some features via the kernel configuration and try recompiling.