TP Link TL-WR802N V1.0 flash LEDE failed with Error code: 18005

I have a try to flash lede-17.01.4-ar71xx-generic-tl-wr802n-v1-squashfs-factory.bin for TP Link TL-WR802N V1.0 (CN)

It failed with this error message :

Error code: 18005
Upgrade unsuccessfully because the version of the upgraded file was incorrect.
Please check the file name.

This is the router factory firmware version:

Firmware Version:  1.0.7 Build 150507 Rel.58492n 
Hardware Version:  WR802N v1 00000000


Chinese versions although using same revision number differ heavily than those for EU or UN.
They also use different firmware

See the 4/32 warning on flashing the TL-WR802N...

How is error 18005 related to 4/32MB?

It isn't...

The point being that even if the OP could flash LEDE, the 4/32 warning applies.

So it may not be worth pursuing.

Should have made that more clear.

I could flash LEDE in my old TP TL-WR703N V1.6 router with original 4M.

TP TL-WR802N was a new buy one.

Build request for Tp-link TL-WR802N

Because the web gui will check RSA instead of MD5,Thanks

Is Error code: 18005 error caused by TP Link RSA check ?

Could I flash LEDE by factory web upgrade if it signed with RSA?


It's in the firmware header.

How could I flash LEDE to this TL-WR802N V1.0 ?

Built a custom minimal firmware image to fit its 4M FLASH?

It's not the size of the build that causes the happens on several other TP-Link router models as well.

One thing you can try is using TFTP.

See this post on the TP-Link's for a different router, but the principle is the same.

Rename the LEDE binary to wr802nv1_tp_recovery.bin

@jwoods I have try to flash LEDE by TFTP recovery mode, but i have failed.

TP WR802N boot without any TFTP requests to tftp server.

TFTP server listen port and address :

# netstat -lnup|grep 69
udp        0      0*       1/systemd

My wired eth0 static IP address config :

# ip link set eth0 up

# ip addr add dev eth0

# ip addr show eth0
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 3c:97:0e:9a:ef:46 brd ff:ff:ff:ff:ff:ff
    inet scope global eth0
       valid_lft forever preferred_lft forever

After I rebooted TL-WR802N router, I held its reset button.

Then I try to find TL-WR802N's TFTP request by tcpdump, but there was NO tftp request at all.

# tcpdump -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
23:42:07.511701 IP > BOOTP/DHCP, Request from 50:fa:84:19:cd:2e (oui Unknown), length 548
23:42:11.521802 IP > BOOTP/DHCP, Request from 50:fa:84:19:cd:2e (oui Unknown), length 548
23:42:13.526770 IP > BOOTP/DHCP, Request from 50:fa:84:19:cd:2e (oui Unknown), length 548

TL-WR802N just boot as usual, it only has DHCP request.

The router needs to be powered off.

At the same time, turn on the power and hold the reset button for 10 seconds.

chinese u-boot does not have tftp builtin, so your best chance is to use this web exploit

Don't need an exploit if you set up the TFTP server on the attached computer.

@jwoods I reboot router by unplugging its power line, this should hard reboot it.

I have try a hard reboot with 10s holding reset button. There was still NO any TFTP requests.


I did NOT know how to spilt the kernel and root image from LEDE factory bin file ( dd block size ) . this post was for TL-WR703N with an openwrt image.

yes for wr703 but it had chinese webgui so i tried it on tl-mr22u and tl-mr13u that also have same interface and it worked. only take care if your factory image is close to 8MB in size this could brick the device because of too low RAM (32MB). better use <4MB image for first flashing or make a modified u-boot that is only 128KB in size and will flash without problems

What are you using for the TFTP server on your computer to upload the firmware to the router?

Do you have the IP set to for IPv4 in your network adapter? Subnet No gateway entry?


I have set my eth0 with static IP address : without GATEWAY.

Did you manage in the end to get Lede/OpenWRT flashed on the Chinese version??

Anyway to get it working over a serial connection? I can get the serial partially working (I can read, but not write).

I have the same issues. U-Boot text portion is garbled, but I have clean text once Linux is loaded (which is too late to get alternate firmware loaded).