Support for TL-WR841N v14

This is not possible without bootloader modification.

TP-link build a tiny u-boot to fit in one flash block(64kb). Only this commands are compiled in:

  • erase
  • cp
  • setenv
  • reset
  • tftpboot

For a fully featured u-boot it is necessary to change the flash layout.
It should be possible to add only bootm cmd if you are willing to flash a modified bootloader.

Here are the bootloader files:
Source:

unmodified:
https://github.com/timowi/wr841nv14boot/releases/download/original/uboot-unmodified.bin

64MB Ram version:
https://github.com/timowi/wr841nv14boot/releases/download/mod64M/uboot-mod64M.bin
WARNING: Only flash this image after soldering 64MB ram

2 Likes

support added in my LEDE fork https://github.com/maurerr/openwrt for TL-WR841N v14 see [Testing] lede-17.01 security backports for 4/32 devices

1 Like

Hello.
I want to try to replace the flash chip with 8MB. What do you need in the firmware?
Thanks.

I upgraded my router to 8M flash memory. RAM left 32M, I did not change this chip. Attached a patch for the current snapshoot. I used unmodified u-boot from Timowi (see up)

$ ssh root@OpenWrt                                                                                                            /var/opt/vanessa/router/tp-wr841-v14/timowi/openwrt
root@openwrt's password: 


BusyBox v1.31.1 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r15004-4799810745
 -----------------------------------------------------
root@OpenWrt:~# cat /proc/cpuinfo 
system type             : MediaTek MT7628AN ver:1 eco:2
machine                 : TP-Link TL-WR841N v14 8M
processor               : 0
cpu model               : MIPS 24KEc V5.5
BogoMIPS                : 385.02
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp
Options implemented     : tlb 4kex 4k_cache prefetch mcheck ejtag llsc pindexed_dcache userlocal vint perf_cntr_intr_bit perf
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

root@OpenWrt:~# df -hT
Filesystem           Type            Size      Used Available Use% Mounted on
/dev/root            squashfs        3.5M      3.5M         0 100% /rom
tmpfs                tmpfs          12.9M    304.0K     12.6M   2% /tmp
/dev/mtdblock4       jffs2           2.6M    232.0K      2.4M   9% /overlay
overlayfs:/overlay   overlay         2.6M    232.0K      2.4M   9% /
tmpfs                tmpfs         512.0K         0    512.0K   0% /dev
root@OpenWrt:~# uname -a
Linux OpenWrt 5.4.77 #0 Mon Nov 23 11:52:11 2020 mips GNU/Linux
root@OpenWrt:~# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00010000 00010000 "boot"
mtd1: 007e0000 00010000 "firmware"
mtd2: 001daf47 00010000 "kernel"
mtd3: 006050b8 00010000 "rootfs"
mtd4: 002a0000 00010000 "rootfs_data"
mtd5: 00010000 00010000 "factory"

PS The question is not on the topic: what is the factory partition ?

this upgrade has a problem: the router reboots periodically, about once a day.

Hello maurer,

I've been using your firmware for my v14 but the config isn't kept after a reboot. I've tried several compilations from the source but can't find the right modules to activate. Can you share your parameters for the dnscrypt build?

Unfortunately I don't own a v14 anymore.
To compile stripped down builds just follow https://openwrt.org/docs/guide-user/additional-software/saving_space

Can I use the first one in my tlwr841 v14?

sure, go ahead

1 Like

Hello,

I have seen this thread to support the above router on OpenWrt. I have created my own image (based on official 18.06.9) which includes:

  • PPPoE
  • Luci
  • UPnP
  • opkg
CONFIG_TARGET_ramips=y
CONFIG_TARGET_ramips_mt76x8=y
CONFIG_TARGET_ramips_mt76x8_DEVICE_tplink_tl-wr841n-v14=y
CONFIG_BUSYBOX_CUSTOM=y
CONFIG_BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_IPV6 is not set
# CONFIG_IPV6 is not set
# CONFIG_KERNEL_CRASHLOG is not set
# CONFIG_KERNEL_ELF_CORE is not set
# CONFIG_KERNEL_IPV6 is not set
# CONFIG_KERNEL_PRINTK is not set
CONFIG_LUCI_SRCDIET=y
CONFIG_PACKAGE_cgi-io=y
# CONFIG_PACKAGE_dropbear is not set
CONFIG_PACKAGE_libiwinfo-lua=y
CONFIG_PACKAGE_liblua=y
CONFIG_PACKAGE_liblucihttp=y
CONFIG_PACKAGE_liblucihttp-lua=y
CONFIG_PACKAGE_librt=y
CONFIG_PACKAGE_libubus-lua=y
CONFIG_PACKAGE_libupnp=y
CONFIG_PACKAGE_libuuid=y
CONFIG_PACKAGE_lua=y
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-app-firewall=y
CONFIG_PACKAGE_luci-app-upnp=y
CONFIG_PACKAGE_luci-base=y
CONFIG_PACKAGE_luci-lib-ip=y
CONFIG_PACKAGE_luci-lib-jsonc=y
CONFIG_PACKAGE_luci-lib-nixio=y
CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-proto-ppp=y
CONFIG_PACKAGE_luci-theme-bootstrap=y
CONFIG_PACKAGE_miniupnpd=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-file=y
CONFIG_PACKAGE_rpcd-mod-iwinfo=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
CONFIG_PACKAGE_u2pnpd=y
CONFIG_PACKAGE_uhttpd=y
CONFIG_STRIP_KERNEL_EXPORTS=y
CONFIG_USE_MKLIBS=y
CONFIG_PACKAGE_kmod-nf-ipt6=y
CONFIG_PACKAGE_libip6tc=y

You can get .bin files here:

Screenshot:

Feedback apreciated.

Hello , I had tried your firmware it works but I can't SSH my device
is there a trick for that.
thank you

I thing that is disable, testing now

ssh and tftp services are not functional or disabled

it is no longer possible to update or modify the device

no suggestions please

i don't know how to restore or change firmware without ssh or TFTP

Hi, I am using this, thanks a lot, I am totally new and noob here, can you please give guide for this where I can replace UPnP with openvpn somehow?

Can I get openvpn in this? also .trx?