Installing on TP-Link TL-WR841N V13

Both of these conditions sound like interference or a congested band...also, did you try setting "force 40 MHz" and/or tweaking the distance and CTS/RTS?

The 40 MHz setting is a new option on the web GUI under Advanced.

Hello lleachii.

I did not use the Luci GUI to configure the router, i did everything by editing the files present at /etc/config via SSH.

Even using the option "HT20" the devices will lose signal and stop working properly frequently. This agravates the more time the router is turned on for some reason.

I did some further testing and on my laptop, sitting very close to the router, pinging the router sometimes will give a Timeout. Again, the further away the router is the more timeouts it gives.

I can share the configurations i used if needed.

1 Like

Installed official 18.06.0 (thx Yankes for the link) through the GUI and the install went very smooth. As far as wifi goes.. I never liked the wifi signal even back on stock ES (spanish) firmware. But I really only use the built in wifi for my two wifi security cameras and use a E3000 (linksys) router for my main wifi connection to all my other devices. I will do more testing with this latest "official" build with my Laptop and iPad and LG G5 and will report back on my findings but so far with my security cameras it seems to be working just fine.

1 Like

Confirming everything of @blacklionpt report.
In my env only one wirerless network configured using WPA and all configurations was made via web gui.

So, after ~5 days of wireless drops inside ~70 sq.m. apartments I try to change the Transmit Power setting for Wireless config to maximum value 20 dbm (was auto) and set a Channel config to Mode: N, Channel: 7 (was auto, just select 7 to not interference with neighborhood points), Width: 20 MHz (was 40). Average signal power measured by wireless monitor on my laptop and smartphone was increased from -54dbm to -41dbm (routhly).

As result -- one day of "almost stable" WIFI connection (working whole day via RDP and everything goes quite good in compare with prev days).

1 Like

Well I have been using for over a month and while it works it is not perfect... Something locks up and the router has to be rebooted.... not sure if it is hardware on the ES version here in Colombia... but that is what I am leaning towards.... I can power cycle the router and everything comes back online just fine... but it is kind of a pain... I think it is time to retire this router and buy something a little more stable.

1 Like

I do not find this router reliable enough to use with OpenWRT. There is a full thread about this at TL-WR841N v13 WiFi not stable?

Using new image custom-built from trunk last week, I have been testing it since then. No lucy, opkg, etc. Seems to be quite usable now. Fancy things not tested, but basic functions work quite well. Neither linux-based laptop nor android cell phone got stuck as before.

Openwrt 18.06.2 builds just released, its looking more stable, but I need to test a bit more.

openwrt-18.06.2-ramips-mt76x8-tl-wr841n-v13-squashfs-tftp-recovery.bin (release date Thu Jan 31 02:55:15 2019)

openwrt-18.06.2-ramips-mt76x8-tl-wr841n-v13-squashfs-sysupgrade.bin (release date Thu Jan 31 02:55:15 2019)

1 Like

@ralaud
I just installed

And my dell laptop can connect easily to the router. All my device can connect successfully. Also I can browse from my rooftop with my android. Now lets see how is it working with my devices.

Thanks to the developers.

Has this been fixed by TP-Link now, or is it still the only possibility to install LEDE?

Also, could one circumvent this with using a device specific image that contains more than one header?

Hey! Can you help me, I want to delete header of original tp link firmware as you did for TL-WR841N, but I want RU version, which can be downloaded here TL-WR841N v13 RU I dont know how to make STRIPPED version...

By the way, i think you use dd if=orig.bin of=stripped.bin skip=1 bs=512
is it correct?
I compare two files, the original

TL-WR841Nv13_EU_0.9.1_4.16_up_boot[180119-rel65243].bin

and yours

tp_recovery(TL-WR841N(EU)_V13_STRIPPED).bin

the only difference is first 512 bytes (from the beginning of the original file till 0x00200).
So that makes sense: for new releases of firmware for WR841N V13 we should use next command for wiping the header of the original firmware
dd if=orig.bin of=stripped.bin skip=1 bs=512

and thanks mk24 for pointing out my mistake with the code

P.S. after using OpenWRT on my WR841NV13 for about 2 weeks I realized that wifi is so unstable, sometimes it just shut down...
P.S2. so I back to original firmware with TFTP method with the STRIPPED firmware by ralaud and the device works fine.
P.S3 I've found out how many bytes have to be removed from the original file for flashing using TFTP method (remember, if you use tftp method with original tplink firmware you get loop boot). And i remove that 512 bytes from original RU firmware for this router, but i'm scared for trying it. Can that be hardly bricked if I was not right about that 512 bytes?

Input File is if= not in=.

Also i've found a discussion here about revert to stock firmware
openwrt_forum

Install Kali Linux. Easiest to do on Windows 10 Microsoft Store. From Windows command line enter 'kali' this will take you to Kali Linux shell. Windows C drive is mounted as C. Type cd /mnt/C and you will be in Windows C drive. Enter binwalk firmware.bin and this will give you the partition layout. Then look for the value next to 0x20400 LZMA. This will be the number you need for skip. Divide this by 512 and that will be your skip value.

This will be the likely trim:

The following method applies for the V1, V3, V5, V7, V8, V9 and V10 since the bootloader is the same size.

An example of an image file with the word “boot” in it is wr841nv9_en_3_14_4_up_boot(131129).bin .

Cut the first 0x20200 (that is 131,584 = 257*512) Bytes from original firmware:

dd if=orig.bin of=tplink.bin skip=257 bs=512

Here is what i get with binwalk of firmware i needed to edit:

binwalk TL-WR841Nv13_RU_0.9.1_4.16_up_boot[191015-rel65109].bin

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
82592         0x142A0         U-Boot version string, "U-Boot 1.1.3 (Oct 15 2019 - 17:55:20)"
132096        0x20400         LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 3286220 bytes
1442304       0x160200        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 4544848 bytes, 685 inodes, blocksize: 131072 bytes, created: 2019-10-15 10:05:11

meaning that i have to skip 256 * 512 bytes?
so the code will be:

dd if=orig.bin of=stripped.bin skip=256 bs=512

but then the next question. I used STRIPPED version of V13 (tp_recovery(TL-WR841N(EU)_V13_STRIPPED).bin) firmware for my router that i grabbed from this thread and that works fine! And I checked for sure that the difference between the original EU firmware and stripped version is just 512 bytes, here is what i get with binwalk

binwalk TL-WR841Nv13_EU_0.9.1_4.16_up_boot[180119-rel65243].bin

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
82464         0x14220         U-Boot version string, "U-Boot 1.1.3 (Jan 19 2018 - 17:59:01)"
132096        0x20400         LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 3101556 bytes
1442304       0x160200        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 3435831 bytes, 651 inodes, blocksize: 131072 bytes, created: 2018-01-19 10:07:34

so compare that with the stripped firmware I got from this thread

binwalk tp_recovery(TL-WR841N(EU)_V13_STRIPPED).bin

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
81952         0x14020         U-Boot version string, "U-Boot 1.1.3 (Jan 19 2018 - 17:59:01)"
131584        0x20200         LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 3101556 bytes
1441792       0x160000        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 3435831 bytes, 651 inodes, blocksize: 131072 bytes, created: 2018-01-19 10:07:34

the stripped version is just without first 512 bytes from the beginning. Its not cut until LZMA compressed data as you said...

Be aware if the original firmware does not include the word "boot" it does not require stripping:

  • in case the file name of this firmware file does not contain the word “boot” in it, you can simply revert back to original firmware

  • in case the file name of this firmware file does contain the word “boot” in it, you need to cut off parts of the image file before flashing it:

It does contain the word "boot", all of them..

that means that all of them have to be modified with dd command