TP-Link TL-WR940N(EU) v6.1 - is it supported?

Development snapshots come without luci, and this alone saves quite a bit of weight.
You could see how much the snapshot for WR940 weights, if less than 4 MB I guess it will be fine.

If not, you'll need to build it from scratch.

Also, development snapshots for WR841 are reported to be working much better than before.

Best wishes

Thank you. I never really use luci anyway, so that's good. I'll take a look at those snapshots and see if I can get it working.

I have to install the OpenWRT firmware over tftp, as the OEM interface doesn't accept the OpenWRT image file (because of the error message I enclosed in my first post at the top of this thread). However, I've struggled with the standard instructions, as the router doesn't seem to be looking for Do you happen to know if WR-940N v6.1 still looks for the tftp server at by any chance?

I think that original TP-LINK firmware installed in your device is checking firmware update version number, I have got bitten by that sometimes maybe two years ago... It was a matter of simply changing the naming of openwrt image to something following TP-LINK naming convention.,

This is surprising since my WR940's (three) loaded openwrt image fine; in fact, my tftp directory still doesn't have any wr940 image. So all I can say is I don't know if tftp is working on this router, but I think it should work.

Of course I guess you double checked connections between router and computer?

Using wireshark or tcpdump should let you see the ARP packets from the boot loader to help confirm what address it is looking for. Once you're on that address with a TFTP server running,if the TFTP server's logs/diagnostics don't show the filename requested, wireshark/tcpdump will let you "see" the request made.

And you could watch syslog messages by issuing as root

tail -f /var/log/syslog

after starting tftp server and before resetting the router. You should see something like "Sent image $IMAGE_NAME to 192,168.0.2", then you can release "reset" button

Thank you for those suggestions. The main stumbling block so far seems to be that I can't place the router in recovery mode. This version only has one small circular LED on the top towards the front, which seems to have multicolour blue/orange capabilities. I've tried starting the router with the RESET button down and waiting until it starts flashing slowly, then releasing it. I've tried the same with the Wi-Fi/WPS button. The router seems to always go through the same light sequence during boot, regardless of which buttons I press or hold:

  1. blue - less than 1 second.
  2. orange - 12 seconds.
  3. pause - 3 seconds
  4. orange - 5 seconds
  5. orange flashing slowing - 7 times
  6. pause - 2 seconds
  7. orange flashing - 1 time
  8. orange steady.

I am guessing either this router doesn't have a recovery mode, or there must be a different way of getting into it.

Sorry, not at home for some days so I can't check my last WR940. So I'm just guessing.

Two suggestions:

  1. try to load image by using tp-link gui way, if you have installed say tplink-firmware.v10 rename snapshot to tplink-firmware.v11, this worked for me when bited by that "feature" Note that I didn't have that problem on this router, as said on previous post, so YMMV, do at your own risk.

  2. When doing tftp recovery y usually do (using GNU/Linux):
    a) stop network-manager
    b) stop firewall (if there is any)
    c) set ip on pc to
    d) router connected to pc by cable from an orange port, not the blue one
    e) tail -f /var/log/syslog
    f) Start router with reset button pressed
    g) Wait until syslog shows "Sent blah blah blah to", then release reset button
    h) Wait until router restarts

If it doesn't work, I wonder what could be the reason.

Thank you for the detailed instructions. That is exactly how I tried to upgrade the firmware, and I tried it again. I checked that the tftpd server is listening on all interfaces - both IPv4 and IPv6. I've stopped the firewall. I started tftpd with the -vvv extra verbose command line option, and in foreground to see any messages. I started the router with the reset button pressed - and held it in for over a minute, long after the LED went steady and stayed like that. There is no sign of activity, either on the command line, or in the syslog on the computer.

I have installed OpenWRT on probably 30 routers over the years. I hope it isn't something silly I am doing.

I am inclined to think that the problem is with this new v6.1 version somehow. Based on what the LED is doing, I don't think the router is ever entering recovery mode. I think TP-Link have changed something with this version.

I've also tried to upgrade through the OEM interface - but no matter what name I give to the file, it is still rejected. I think this is the other problem, already flagged in some other threads, where the router expects a signed firmware - and the standard OpenWRT image is not accepted because of that.

Hi, back at home, Now I can see my last WR940N is v6.0, not 6.1

So I think it could be said that v6.1 is not supported

Sorry, man

Thank you for double-checking. I guess there is a chance 6.1 is supported, only if someone can figure out how to put it in recovery mode (assuming it has recovery mode). I failed to figure it out so far. Thank you again for all the suggestions.

Since I'm trying to build for this router as small as posible a image, I checked TP-Link site.

They don't list any 6.x version, just 6. Last firmware update is

It contains wr940nv6_eu_3_19_1_up_boot(180119).bin

Perhaps you could name your fimware exactly the same and try to load it via TP-Link WebGUI?

see also:

may be it helps

HI, I have tplink tl-wr940n(eu) v6.1 too and curious that you say v6.1 cannot put it in recovery mode.
I try using Tftpd64, set lan to, power off the router, hold the reset button and press power button and then relese reset buton about 3 second after power on.
After a few second the Tftpd64 log show that the router request file name "wr940nv6_tp_recovery.bin" :slightly_smiling_face:

That suggests the OEM bootloader rejects the factory image, probably because of different hw IDs in its header or different region codes.

waiting mode on for advance user to confirm that openwrt/lede working and succesed instaled on TP-Link TL-WR940N(EU) v6.1 :roll_eyes: :tired_face:

Hi, I have same problem as you. I have 10 pieces of wr940-v6.1 With many attempts I flash 6 of them, but now 2 days I trying flash next one. Without success :frowning:

Got it! Problem is that the eth port on notebook was not be able to switch on quickly enough and the router was not start downloading from tftp (on my laptop). The solution is to put a switch between them. Now 100% Success!


Right - 10 months after starting this thread, I can finally report success with this router. I'm afraid it took so long to revisit this project, as it initially absorbed so much of my time that I just couldn't find or justify any more time to spend on it back then. In case it helps others, here are the things which solved it for me:

  1. Getting this router into Failsafe mode can be a pain. The key is to press AND release the Reset button during the brief interval of time (2-3 seconds) when the light is flashing during the boot. The light flashing orange during the boot is the signal from the router that it will accept being placed into Failsafe mode. I was pressing and holding down the Reset button - which doesn't work. The sequence is:
    a. Turn on the router
    b. Blue light about 0.5 seconds
    c. Orange light steady about 8-12 secs
    d. pause 3 seconds
    e. orange flashing - about 3 seconds

When stage 'e' above is reached, with flashing orange light, after the led goes dark, press and release the Reset button, and the router enters Failsafe mode, and the light starts flashing orange quickly. This has worked for me every time during testing.

  1. The second biggest hurdle has been the TFTP server. I initially tried using the in.tftpd software which comes with Linux - which normally works for all sorts of other tasks. I've used it many times in the past. I checked it was listening on the right port and interface, I checked its log, I even had it running in the foreground - it never gave any sign that it has been contacted by the router. I never found out why. This has absorbed another large chunk of my troubleshooting time - as I assumed the router wasn't asking for any file - when in reality in.tftpd wasn't doing its job for some reason. As soon as I switched to using the tftp server built into dnsmasq - things worked straight away. I named the file "wr940nv6_tp_recovery.bin" as per @kretex comment above (thank you!) - and it worked out straight away. I have absolutely no idea why in.tftpd didn't even give a clue that it wasn't working.

So there it is. Finally this router is working. A whole bunch of time down the drain. Thank you very much to everybody who contributed above with suggestions - and I hope at least some of the info in this thread will be useful to some people out there.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.