OpenWrt Forum Archive

Topic: WA901ND v3

The content of this topic has been archived between 2 Sep 2014 and 5 May 2018. Unfortunately there are posts – most likely complete pages – missing.

This is a list of modules installed. Since I don't want to use this WA901ND more than dump AP station (with DHCP working), I think there are lot of modules to remove... what do you think?

root@OpenWrt:~# opkg list-installed
6relayd - 2013-10-21.1-ad00c3dd9ee42f172870708724858ab502b3a689
base-files - 149-r39294
block-mount - 2014-01-12-c907116d6c4f471f693717f055e54a0f06db35d4
busybox - 1.19.4-7
dnsmasq - 2.66-5
dropbear - 2013.59-1
firewall - 2013-12-17
hostapd-common - 20131120-1
ip6tables - 1.4.20-1
iptables - 1.4.20-1
iw - 3.10-1
jshn - 2013-12-02-318d682d29a8974aa53bd7dc523f1514eb0eddb9
kernel - 3.10.26-1-586e792aa7d1cbc59249e43ee51a59c3
kmod-ath - 3.10.26+2013-11-05-5
kmod-ath9k - 3.10.26+2013-11-05-5
kmod-ath9k-common - 3.10.26+2013-11-05-5
kmod-cfg80211 - 3.10.26+2013-11-05-5
kmod-crypto-aes - 3.10.26-1
kmod-crypto-arc4 - 3.10.26-1
kmod-crypto-core - 3.10.26-1
kmod-gpio-button-hotplug - 3.10.26-1
kmod-ip6tables - 3.10.26-1
kmod-ipt-conntrack - 3.10.26-1
kmod-ipt-core - 3.10.26-1
kmod-ipt-nat - 3.10.26-1
kmod-ipt-nathelper - 3.10.26-1
kmod-ipv6 - 3.10.26-1
kmod-leds-gpio - 3.10.26-1
kmod-ledtrig-default-on - 3.10.26-1
kmod-ledtrig-netdev - 3.10.26-1
kmod-ledtrig-timer - 3.10.26-1
kmod-ledtrig-usbdev - 3.10.26-1
kmod-lib-crc-ccitt - 3.10.26-1
kmod-lib-lzo - 3.10.26-1
kmod-mac80211 - 3.10.26+2013-11-05-5
kmod-nls-base - 3.10.26-1
kmod-ppp - 3.10.26-1
kmod-pppoe - 3.10.26-1
kmod-pppox - 3.10.26-1
kmod-slhc - 3.10.26-1
kmod-usb-core - 3.10.26-1
kmod-usb-ohci - 3.10.26-1
kmod-usb2 - 3.10.26-1
kmod-zram - 3.10.26-1
libblkid - 2.21.2-2
libblobmsg-json - 2013-12-02-318d682d29a8974aa53bd7dc523f1514eb0eddb9
libc -
libgcc - 4.6-linaro-1
libip4tc - 1.4.20-1
libip6tc - 1.4.20-1
libiwinfo - 47
libiwinfo-lua - 47
libjson-c - 0.11-2
libjson-script - 2013-12-02-318d682d29a8974aa53bd7dc523f1514eb0eddb9
liblua - 5.1.5-1
libnfnetlink - 1.0.1-1
libnl-tiny - 0.1-3
libubox - 2013-12-02-318d682d29a8974aa53bd7dc523f1514eb0eddb9
libubus - 2013-11-07-8ea96670367e5dd23988b51ee4f0f790393effaf
libubus-lua - 2013-11-07-8ea96670367e5dd23988b51ee4f0f790393effaf
libuci - 2013-12-02.1-1
libuci-lua - 2013-12-02.1-1
libuuid - 2.21.2-2
libxtables - 1.4.20-1
lua - 5.1.5-1
luci - svn-r9948-1
luci-app-firewall - svn-r9948-1
luci-i18n-english - svn-r9948-1
luci-lib-core - svn-r9948-1
luci-lib-ipkg - svn-r9948-1
luci-lib-nixio - svn-r9948-1
luci-lib-sys - svn-r9948-1
luci-lib-web - svn-r9948-1
luci-mod-admin-core - svn-r9948-1
luci-mod-admin-full - svn-r9948-1
luci-proto-core - svn-r9948-1
luci-proto-ppp - svn-r9948-1
luci-sgi-cgi - svn-r9948-1
luci-theme-base - svn-r9948-1
luci-theme-bootstrap - svn-r9948-1
mtd - 20
netifd - 2013-12-29-7d79d0a8aa5a5b4c1ed987af119356438d98fe7b
odhcp6c - 2013-12-15-be05c0ded0257cbb82857f6d01226ef6de28befe
opkg - 9c97d5ecd795709c8584e972bfdf3aee3a5b846d-6
ppp - 2.4.5-10
ppp-mod-pppoe - 2.4.5-10
procd - 2013-12-18-2dc572df0e3002263c0a49ebbc329ed1b6c42a01
swap-utils - 2.21.2-2
swconfig - 10
uboot-envtools - 2013.10-1
ubox - 2014-01-12-c907116d6c4f471f693717f055e54a0f06db35d4
ubus - 2013-11-07-8ea96670367e5dd23988b51ee4f0f790393effaf
ubusd - 2013-11-07-8ea96670367e5dd23988b51ee4f0f790393effaf
uci - 2013-12-02.1-1
uhttpd - 2013-11-21-cd66639800ee2882a0867ec54868502eb9b893d8
uhttpd-mod-ubus - 2013-11-21-cd66639800ee2882a0867ec54868502eb9b893d8
wpad-mini - 20131120-1
zram-swap - 1-2

Sorry if this question is too noob for some of you, but I had to ask. Can this patches be backported to the latest stable version? Or at least, can someone upload here the latest stable version with the accepted patches applied?


(Last edited by Gonzakpo on 31 Jan 2014, 13:08)

SomebodE wrote:
nebbia88 wrote:

great, now i'm going to ask you a huge favour, since it seems you're the only around here with this model AND a serial console attached.

first of all backup your config from Luci->System->Backup/Flash->Generate archive

then, download this to the /tmp folder of your router, it's an OLD tplink firmware without the uboot part, so it can be flashed to the "firmware" partition: … 8130503%29

then ssh your router and flash with mtd:

cd /tmp
mv wa901* tplink.bin
mtd -r write tplink.bin firmware

now you should have the tplink firmware back on your AP. login to the usual or whatever is it's default ip, then try to flash this from the stock WEB GUI: … -12.09.bin

let me know how it goes wink


I'm new to OpenWRT but wanted to try it on my WA901ND v3.

I flashed openwrt-ar71xx-generic-tl-wa901nd-v3-squashfs-factory-12.09.bin via the Web gui and now my AP does not boot correctly.

I get 3 out of 5 lights come up. Whilst the LAN LED is on, it doesn't look like it's picking up a DHCP address or defaulted to it's factory address of

Have I bricked it? Is there any ideas on recovery?


I ran into same problem and could fix it by attach serial adapter to serial port and flash openwrt factory image using uboot. The procedure is described at tl-wa901nd openwrt page

crissi wrote:

I ran into same problem and could fix it by attach serial adapter to serial port and flash openwrt factory image using uboot. The procedure is described at tl-wa901nd openwrt page

did you save a serial log of when it was not working??

I've finally installed the firmware uploaded by FriedZombie ( … actory.bin). I've flashed it using the TP-Link web-gui. Everything went smooth and the access point is working well so far. The original firmware was too unstable, let's see if openwrt is more stable.

Hello everybody,

my AP is a TP-Link WA901ND (V3) and the firmware is running excellent for me – even with a better and more constant wifi  performance as the original firmware.

All the same I've a little problem to enable WPA-Enterprise to use my Radius-Server. In the LUCI-Frontentd under „Network → WIFI → Wireless Security“ I couldn't find the enrtry „WPA-Enterprise“. There are:
* No Encryption
* WEP Open System
* WEP Shared Key
* WPA-PSK/WPA2-PSK Mixed Mode

but not the one I'd like to use:

* WPA2 Enterprise

After installing:

* openwrt-ar71xx-generic-tl-wa901nd-v3-squashfs-sysupgrade.bin

… and deinstalling:

* opkg –-recursive remove *ppp* (I don't use it as a modem)
* opkg –-recursive remove *usb* (The device don't have any USB-Ports)
* opkg remove dnsmasq
* wpad-mini

The strange thing is after removing the software I have still approx. 140kb space left for the root partition (shouldn't it be more space left after the removal as before?). I'm sure I don't pay attention to anything important...

Now I'd like to install the WPA2 Enterprise functionality and tried to install:

* wpa-cli
* wpa-supplicant
* hostapd

(maybe I just need the „hostapd“ package for WPA2 Enterprise support?)

Installing the wpa-cli package went ok but after a „opkg install wpa-supplicant“ there where not enough space left to install this package even after removing the PPP and the wpad-min packages.

Do anybody know how to get more space on the device or do anybody have a specal hint?

There maybe is a possibility if I don't install the webfrontend (LUCI), but I would miss it I think...

Thank you for reading and sorry if this is should be the wrong part of the forum!


(Last edited by kaffeebronko on 12 Feb 2014, 17:53)

Hi peeps,

Bought a v3 and found the software a load of tosh, did a bit of research and found OpenWRT supports it. Flashed TheFriedZombies firmware fine and loaded up luci fine.

If I SCAN JOIN a new wireless network client, it connects fine but it shows the Encrytion as - even though it is setup correctly and it is connected to the router fine as I can see its MAC in the list of connected devices.

When I go to add a repeater network with ADD it craps out and kills the client wireless connection and shows the new wireless with Wireless Disabled or Not Associated, upon googling it says it is a Channel issue, and to manually set a channel, which I did but it still breaks everything. If I remove the new network the Client wireless stays broken till I remove it and re scan and join it.

Can someone post the lastest trunk snapshot with luci trunk built in? As last time I flashed a fireware luci wasn't built in! smile

Hi I am new to OpenWRT. I have WA901ND V3 router and am using it as an AP.  Found the stock firmware to be unstable as it was not accepting connection after a few days of usage so have to restart it every few days.

Anyway, I recently (about 3 days ago) installed / flashed the openwrt firmware given on this forum and all was going well.  Just today when I was trying to access the web interface, I am getting this message after signing in as root:

/usr/lib/lua/luci/dispatcher.lua:448: Failed to execute function dispatcher target for entry '/'.
The called action terminated with an exception:
/usr/lib/lua/luci/sauth.lua:87: Session data invalid!
stack traceback:
    [C]: in function 'assert'
    /usr/lib/lua/luci/dispatcher.lua:448: in function 'dispatch'
    /usr/lib/lua/luci/dispatcher.lua:195: in function </usr/lib/lua/luci/dispatcher.lua:194>

The AP itself is functioning without a hitch.  Only that I cannot access LUCI.  I can access the AP through ssh though. Any suggestion to solve this is very much appreciated.

Hi, thank you for this fantastic and working firmware!

I have some question/suggestion if there are possible for future upgrade:
- in LuCI there isn't the Wireless Isolation Client option, it's possible to integrate?
- it's possible to make a firmware without DNSmasq, Firewall, IPtables, IP6tables, IPv6 and other unuseful software?
If anyone would use it on TL-WA901ND, that is a simple access point, could install manually later. A lot of free space...

Last question: I need to configure a ping watchdog that reboot the AP in case of error, do you have some suggestion?
Script, software, etc...

Thank you for your beatiful work!!!


To enable WPA Enterprise you need to uninstall wpad-mini and install wpad.


Help me please configure vlans for multi ssid. I need to create guest ssid with access to guest vlan. I tried editing network file, but if I change eth0 to subinterfaces my network won't start:

config interface 'lan'
        option ifname 'eth0.0'
        option type 'bridge'
        option proto 'static'

I'm new to OpenWRT and I installed recently the firmware with good success on my WA901ND. It works great with vera good stability.

I remark the following issue by using the MAC-Filter function: by setting the function to "disable" to try something and setting again to "allow listed only", all addresses disappear and I have to enter all one by one again.
Do I something wrong?

Thank you for your answer and your great job.

try not to use luci maybe!


I just freshly flashed OpenWRT succesfully to my device. When I want to install wpad and remove wpad-mini the storage space runs out and opkg returns with an error.
I've tried to remove some unused packeges (like dnsmasq) but availabe space shown with df -u is getting even less.

Could you please give any advice how to free space in order to install wpad?

I'm able to build the firmware by myself (just set up the environment) but I really don't know which options to set or not to set to get a smaller system.

Thanks in advance and
Best Regards

Thank you for your reply. I needed to replace the 901nd in order to play and that took some time.

I can't find an option with reset in luci
The thread you mention proposes to build your own system.
Therefore, there are two questions:

1 How can I build a v3 image? A build in my environment with latest trunk version just produces v1 and v2 images. In snapshot builds a V3 image is available, I'm wondering if there should be a mach-tl-wa901nd-v3.c ?

2 How can I exclude modules like firewall and ppp from the build? In can't uncheck them in menuconfig.

I think I found it out myself

1 seems I forgot to update, svn was still at 12.09. the board support c-file ist still missing. maybe a generic one is used?
2 there were dependencies, thats why is was unable to uncheck firewall and other modules

tomorrow I'll try my image and hope it's a bit smaller

(Last edited by chindro on 3 Apr 2014, 00:12)

After reading the wiki (which I should have done before -> really useful stuff in there) I used the image builder to build my firmware. In "include/" I set "DEFAULT_PACKAGES.router:=" to not include any additional packages. I ended up with a firmware (luci inclusive) with about 1MB of free space.

Since removing packages from the squashfs filesystem is not possible (read only) its useless to call "opkg remove <a-useles-package>". You also should try to create your own firmware like I did. Read … e.generate for information. It's really easy!

(Last edited by chindro on 4 Apr 2014, 21:22)

Guude (Hi) @all,

vielen Dank für OpenWrt und vielen Dank für die Beiträge hier im Forum, insbesodere von "chindro", der mir damit sehr weitergeholfen hat smile

Ich nutze 2 WA901NDv2 (Client-Mode, Gargoyle-Firmeware) und einen neuen WA901NDv3 als Accesspoint. Die Übertragungsrate mit der originalen Firmware war ziemlich erbärmlich, also musste direkt OpenWrt drauf wink

Ich habe heute den aktuellen trunk ausgecheckt, ein paar Anpassungen vorgenommen, kompiliert und installiert; es ist der Hammer smile

Kompiliert in einer Ubuntu 14.04 VM (32-Bit):

# BUILD ****************************************************

# INSTALL --------------------------------------------------
sudo apt-get install subversion build-essential binutils flex bison autoconf gettext texinfo sharutils ncurses-dev zlib1g-dev rsync gawk unzip screen mc tcpdump net-tools tftpd wget
sudo mkdir /usr/local/openwrt
sudo chown <YOUR_USERNAME>:<YOUR_USERGROUP> /usr/local/openwrt

# CHECKOUT -------------------------------------------------
cd /usr/local/openwrt
svn co svn://
cd trunk

# SETTINGS -------------------------------------------------
vi include/
# minimize image and disable...
# DEFAULT_PACKAGES.router:=dnsmasq iptables ip6tables ppp ppp-mod-pppoe kmod-ipt-nathelper firewall odhcpd odhcp6c
#...and add...

# FEEDS ----------------------------------------------------
./scripts/feeds update -a
./scripts/feeds install -a -p luci
make package/symlinks

# MAKE -----------------------------------------------------
# disable everything that you does not need and enable LuCi
make menuconfig V=99

# BUILD (4 Cores)
make -j 4

df -h:

BusyBox v1.19.4 (2014-04-27 11:36:57 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 BARRIER BREAKER (Bleeding Edge, r40572)
  * 1/2 oz Galliano         Pour all ingredients into
  * 4 oz cold Coffee        an irish coffee mug filled
  * 1 1/2 oz Dark Rum       with crushed ice. Stir.
  * 2 tsp. Creme de Cacao
root@BAR-AP03:~# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                  640.0K    232.0K    408.0K  36% /
/dev/root                 2.3M      2.3M         0 100% /rom
tmpfs                    14.2M    504.0K     13.7M   3% /tmp
/dev/mtdblock3          640.0K    232.0K    408.0K  36% /overlay
overlayfs:/overlay      640.0K    232.0K    408.0K  36% /
tmpfs                   512.0K         0    512.0K   0% /dev

Nach dem Upgrade habe ich noch die Firewall disabled und wshaper eingerichtet. Das Gast-Netzwerk ist nicht "isoliert", aber dass benötige ich auch nicht, hauptsächlich es ist "bandbreitenmäßig eingeschränkt":

lo        no wireless extensions.

teql0     no wireless extensions.

wlan0-1   IEEE 802.11bgn  Mode:Master  Tx-Power=18 dBm
          RTS thr:off   Fragment thr:off
          Power Management:off

wlan0     IEEE 802.11bgn  Mode:Master  Tx-Power=18 dBm
          RTS thr:off   Fragment thr:off
          Power Management:off

eth0      no wireless extensions.

br-lan    no wireless extensions.
clear && cat /etc/config/wireless
# defaults
config wifi-device 'radio0'
        option type 'mac80211'
        option channel '11'
        option hwmode '11ng'
        option path 'platform/ar934x_wmac'
        list ht_capab 'LDPC'
        list ht_capab 'SHORT-GI-20'
        list ht_capab 'SHORT-GI-40'
        list ht_capab 'TX-STBC'
        list ht_capab 'RX-STBC1'
        list ht_capab 'DSSS_CCK-40'
        option txpower '30'
        option country 'US'
        option htmode 'HT40-'
        option noscan '1'

# private wifi (wlan0)
config wifi-iface
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option wds '1'
        option encryption 'psk2'
        option key 'abcd0123'
        option ssid 'BAR-AP03'

# public wifi (guest --> wlan0-1)
config wifi-iface
        option device 'radio0'
        option mode 'ap'
        option wds '1'
        option network 'lan'
        option encryption 'psk2'
        option key 'xyz456'
        option ssid 'BAR-GAST'
clear && cat /etc/config/wshaper
# Note: The downlink and uplink limits are reversed from what one might expect, as the data is flowing in the opposite direction from wshaper's usual (wan) interface.
config 'wshaper' 'settings'
        option 'network' 'wlan0-1'
        option 'downlink' '3000'
        option 'uplink' '30000'

(Last edited by schorschi on 28 Apr 2014, 20:16)

Hallo! I hope you can help me i want to flash my AP with Open WRT to get a feature i need for our restaurant.

First, this is my Hardware:
TL-WA901ND (V3.00)

What i want to enable following:

We have a little restaurant, and i want to offer our guests to use the Wifi.
For this reason, i want to enable a screen with a licence agreement, the user has to confirm, before he gets in the www. (It is for the law in our country, i have to inform the guests that it is illegal to share with P2P torrent and so on, its their own risk, and i'm not responsible,..)
I also need the AP Isolation enabled (already possible in the stock Firmware

So is something like that possible to create?

Someone gave me the tip to use nodogsplash, but i have never done something like that,
and when i read this 3 pages, i don't think i can handle this. CAn i do this on my own? Do i have to compile something? Can someone of you help me step by step?

Can i start flashing OFW with the link of Post 24# as a first step and then re-setup the AP as it was in the GUI?

Or is the flashed AP still with the settings i had before? what ip will it have and how can i reach the GUI?

I'd be glad to hear from you guys


(Last edited by benton18 on 1 May 2014, 21:10)

Is it enough to just flash openwrt-ar71xx-generic-tl-wa901nd-v3-squashfs-factory.bin or do I need to flash openwrt-ar71xx-generic-tl-wa901nd-v3-squashfs-factory-12.09.bin first? I can't tell from the wiki since it says it web gui doesn't work on stock wm or something.

Any difference between the openwrt snapshot and the oxxion repo files?

Gonzakpo wrote:

I've finally installed the firmware uploaded by FriedZombie ( … actory.bin). I've flashed it using the TP-Link web-gui. Everything went smooth and the access point is working well so far. The original firmware was too unstable, let's see if openwrt is more stable.

Wow, yes... this "Just Worked". I appear to have gone from the flaky standard software that was causing some weirdness on my network, and I could only browse to by IP address... to a system that works.  Thank you.

pwilson411 wrote:

Many thanks to nebbia88, FriedZombie and all others involved.

FriedZombie - You said 'eth0.3 means that I would have a tagged vlan on eth0 tagged vlan3' - I have done the following, can you see if I have missed anything:

1) Via LuCI interface I created a new wireless network named VLAN3 and also created a new network interface named eth0.3 . I am assuming that any packets going through that wireless network VLAN3 SSID would be sent with tagged packets with VLAN ID 3

2) Secondly I then attached my machine to the VLAN3 SSID

3) Tried to route traffic once connected to the VLAN3 SSID

4) Found that the packets transmitted whilst connected to VLAN3 SSID did not contain the VLAN ID 3 in the header

Oddly in the  /etc/config/network file all I see is as below which does not seem to make any reference to VLAN 3.

Can anyone see if I have missed anything?

In addition can anyone confirm if the default eth0 management interface will be sent with tagged or untagged packets? I would ideally like the default management interface to appear as an untagged VLAN with a VLAN ID of 520.

Any help is greatly appreciated.

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr ''
        option netmask ''

config globals 'globals'
        option ula_prefix 'fd37:afbb:e668::/48'

config interface 'lan'
        option ifname 'eth0'
        option type 'bridge'
        option proto 'static'
        option ip6assign '60'
        option ipaddr ''
        option netmask ''
        option gateway ''

FriedZombie wrote:

Thank you all for the great responses smile

Also I have stuck together some images based on trunk r39025 + patches, this image contains the webgui (Luci) and zram_swap

openwrt-ar71xx-generic-tl-wa901nd-v3-squashfs-factory.bin (to flash trough the tp-link default webgui)
openwrt-ar71xx-generic-tl-wa901nd-v3-squashfs-sysupgrade.bin (to upgrade an existing openwrt installation)

Also the wireless is enabled by default on this image.

Yes it is possible to do the setup that you want under openWrt, only the switch tab doesn't show up because the switch isn't used/connected on the wa901nd. But you can simply create new interfaces for example eth0.3 means that I have a tagged vlan on eth0 tagged vlan3.

1. make vlan interfacec (network > interfaces); in my setup I put it in real switch protocol
2. add Wifi, check the network (vlan interface) you want to associate it with. and configure all the rest with your preferred settings.

to the developer: what is the maximum limit of Vlan interfaces and SSID for this firmware?

is this the most stable and current version of firmware?

Hi guys, this is my first post on this forum smile
I've just flashed the FriedZombie firmware through the default webgui and it's working fine! I'm connected to it to make this post right now.
But I couldn't access the web interface (LuCI). How do I do it?
I've tried typing my before update IP ( on the browser but nothing shows up.
Also, when I try to ping this IP, I get "Destination host unreachable".
Has my router changed its IP?
How do I know the new one?
My network's IP range must be

(Last edited by lexsombra on 30 May 2014, 20:07)