Why is OpenWrt booting much slower than v21?

I have noticed that v25 boots significantly slower than that v21.

Ramips based router: wr841n-v13
v21 startsecs='37.07 5.62'
v25 startsecs='128.79 4.60'
In this case v25 takes about 3.5x longer to boot on the same hardware. Note than in both cases there is about 5 seconds of idle time elapsed over that period.

Note: statsecs is the content of cat /proc/uptime when a START=99 task in /etc/init.d/ starts to run. First number is cpu time used, and second number is idle time elapsed.

Another example archer-c7-v5
v21 startsecs='36.43 7.05'
v23 startsecs='45.00 5.02'
v24 startsecs='53.02 6.77'
v25 startsecs='54.27 6.36'

The v21 numbers include loading of additional iptables firewall rules, which in fact slows it down, so v21 is even better than indicated.

Does anyone know where the extra boot time is coming from?

dmesg usually will show what is happening

These are some corresponding points in the boot of the same type of device with different versions of OpenWrt. It is not clearly one program that is slowing down boot of more recent versions.

That said I am not sure exactly what to look for here.

wr841n-v13 with OpenWrt v25
[    4.086372] init: - watchdog -
[    7.700758] init: - preinit -
[   25.781548] procd: - early -
[   28.405227] procd: - init -
[   38.871130] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information
[   80.766234] br-lan: port 1(eth0.1) entered forwarding state

vs

wr841n-v13 with OpenWrt v21
[    1.705444] init: - watchdog -
[    3.156685] init: - preinit -
[   10.325492] procd: - early -
[   11.127473] procd: - init -
[   14.784717] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[   34.013032] br-lan: port 1(eth0.1) entered forwarding state

Was curious and decided to check mine out.
Your times do seem quite long…

[    0.000000] Linux version 6.12.74 (builder@buildhost) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 14.3.0 r32802-f505120278) 14.3.0, GNU ld (GNU Binutils) 2.44) #0 SMP Wed Mar 25 20:09:53 2026
[    0.000000] SoC Type: MediaTek MT7621 ver:1 eco:3
[    5.427443] init: - watchdog -
[    6.041988] init: - preinit -
[   14.187811] procd: - early -
[   14.956978] procd: - init -
[   28.165630] br-lan: port 1(lan2) entered forwarding state

This is with OpenWrt 25.12.2 (r32802-f505120278) running on a TP-Link ER605 v2.

I have something similar for the start of boot for that SoC. But MT7621 is dual core and 50% higher clock-speed than the 841v13, so it is not easy to compare.

[    0.000000] Linux version 6.12.74 (builder@buildhost) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 14.3.0 r32802-f505120278) 14.3.0, GNU ld (GNU Binutils) 2.44) #0 SMP Wed Mar 25 20:09:53 2026
[    0.000000] SoC Type: MediaTek MT7621 ver:1 eco:3
[    4.824665] init: - watchdog -
[    5.935288] init: - preinit -
[   13.402658] procd: - early -
[   14.215005] procd: - init -

Hmm. Looking at the Wiki article for the TL-WR841ND, there is quite confusing information about it. (Edit: Wiki article has been updated to clarify the below findings since posting this.)

This device is NOT RECOMMENDED for future use with OpenWrt due to low flash/ram.
DO NOT BUY DEVICES WITH 4MB FLASH / 32MB RAM if you intend to flash an up-to-date and secure OpenWrt version onto it! See 4/32 warning for details.

1) This device does not have sufficient resources (flash and/or RAM) to provide secure and reliable operation.
This means that even setting a password or changing simple network settings might not be possible any more, rendering the device effectively useless. See OpenWrt on 4/32 devices what you can do now.

2) OpenWrt support for this device has ended in 2022.
19.07.10 was the last official build for 4/32 devices.

Yet, the techdata for TL-WR841N v13 does claim that it supports 25.12.2 and firmware is still being made for it, as seen in the firmware downloader, as it is an 8/64 device, not a 4/32 device.

Regardless, as said on the Supported devices Wiki:

DO NOT BUY DEVICES WITH 8MB FLASH / 64MB RAM if you intend to flash an up-to-date and secure OpenWrt version onto it! See 8/64 warning for details.

8/64 devices do not have sufficient resources (flash and/or RAM) to provide secure and reliable operation. See OpenWrt on 8/64 devices what you can do now.

Based on what I'm seeing, it's not too surprising to see a difference with OpenWrt 21.X and OpenWrt 25.X, with releases four years apart, on a very low spec device. As to why exactly there is a big difference for boot time on that device though, I'm not sure myself.

Perhaps someone else who knows OpenWrt like the back of their hand could chime in, instead.

Side note, the Wiki states that "the TL-WR841NDv13 is leaking LAN traffic through WAN port during boot, due to lack of port isolation". Just relaying that information in case you weren't aware of it and might be of concern.

It is simply suprising that the device is able to run 25.12. Seconding your comment it is obvious to have this result on such a low end device. There is a huge jump from 21 to 25.

The article is a general one about the TL-WR841 line, wherein the v13 is an outlier. Thus the general information first, while specifying “for v13:” below it, when it comes to the warning.

The 8/64 combo is probably not supportable after this release due to kernel size or has to be kept alive with a “Tiny build” (see TP-Link RE355 v1 and RE450 v1/v2 moved to Tiny Builds for example).

My guess regarding the boot speed lies in kernel advancement combined with old hardware components. Even between an Archer C6v3 or AX23v1 and a Cudy WR3000(S) I can observe a significant boot speed difference without ever measuring it, with the latter running v25 vs. v23 and v24 on the others.

this split wasn't there when @anon77706961 posted ,)

I like surprises, this is a nice surprise. Thanks for editing the Wiki!

Not sure the low specs of the 841v13 fully explain it. A higher spec GL.Inet Mango v2 has a start time is almost 3x from v21 to v25

GL-MT300N (Mango) v2 is very similar CPU, but twice the RAM and twice the flash.
CPU: MediaTek MT7628AN
One core, 580 Mhz
Flash MB:16
RAM MB:128

v21 startsecs='38.34 5.76'
v25 startsecs='107.92 4.14'