Zyxel Keenetic Omni crashes randomly on OpenWrt 23.05

Hello, recently installed OpenWrt on my home router, the factory firmware was lacking features and discontinued years ago, and I also wanted to try some interesting things. But I am experiencing a weird problem where the router would randomly crash in the middle of the day (or any time of the day really, doesn't seem like there is a time pattern). It causes it to go into a lengthy reboot, and because the log is kept in RAM the crash logs get lost after a reboot. Having only 2MB of permanent storage is quite limiting. After the last crash I've set it to keep the file in /root/system.log, yet to see the results of that. I also tried to use netcat to capture logs remotely and persistently on my home server on an OrangePi, but it seems the wired network fails before the server manages to catch the logs. I also managed to grab a log via my phone before I got disconnected, and it contains what looks like a system crash log and a stack trace. Some searching found this github issue:

I've posted my stack trace there, but I'll repeat it here as well:

Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.347985] ------------[ cut here ]------------
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.357210] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:477 0x8044be48
Sun Aug 11 22:20:44 2024 kern.info kernel: [21143.371288] NETDEV WATCHDOG: eth0 (mtk_soc_eth): transmit queue 0 timed out
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.385166] Modules linked in: rt2800soc rt2800mmio rt2800lib pppoe ppp_async nft_fib_inet nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet rt2x00soc rt2x00mmio rt2x00lib pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_queue nft_objref nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_counter nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack mac80211 lzo cfg80211 slhc nfnetlink_queue nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 lzo_rle lzo_decompress lzo_compress libcrc32c crc_ccitt compat ledtrig_usbport sha512_generic seqiv jitterentropy_rng drbg hmac cmac crypto_acompress leds_gpio ohci_platform ohci_hcd fsl_mph_dr_of ehci_platform ehci_fsl ehci_hcd gpio_button_hotplug usbcore nls_base usb_common crc32c_generic
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.542032] CPU: 0 PID: 0 Comm: swapper Not tainted 5.15.150 #0
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.553845] Stack : 805cf4c8 00000004 00000000 00000000 00000000 00000000 00000000 00000000
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.570540]         00000000 00000000 00000000 00000000 00000000 00000001 80c0bdb0 a751097e
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.587233]         80c0be48 00000000 00000000 80c0bc50 00000038 802cf184 00000000 ffffffea
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.603930]         00000000 80c0bc5c 0000016e 806942d8 805df218 80c0bd90 00000000 8044be48
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.620626]         00000009 00000000 003b3f3e 80701e34 00000018 8032f018 00000000 80850000
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.637319]         ...
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.642195] Call Trace:
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.642212] [<802cf184>] 0x802cf184
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.654019] [<8044be48>] 0x8044be48
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.660973] [<8032f018>] 0x8032f018
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.667916] [<80006a80>] 0x80006a80
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.674868] [<80006a88>] 0x80006a88
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.681820] [<80025c88>] 0x80025c88
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.688773] [<8044be48>] 0x8044be48
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.695716] [<80025d9c>] 0x80025d9c
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.702670] [<8044be48>] 0x8044be48
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.709636] [<81c62afc>] 0x81c62afc [mac80211@8bfeda9d+0x8b180]
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.721456] [<8003d88c>] 0x8003d88c
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.728408] [<8044bb70>] 0x8044bb70
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.735351] [<800718b8>] 0x800718b8
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.742305] [<80071cbc>] 0x80071cbc
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.749259] [<81bb03a4>] 0x81bb03a4 [rt2x00lib@1f701f04+0x9090]
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.761075] [<819a6640>] 0x819a6640 [rt2800mmio@c2079415+0x1780]
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.773064] [<805c9f24>] 0x805c9f24
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.780017] [<800683f0>] 0x800683f0
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.786961] [<80063278>] 0x80063278
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.793915] [<80720000>] 0x80720000
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.800875] [<80002890>] 0x80002890
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.807819]
Sun Aug 11 22:20:44 2024 kern.warn kernel: [21143.810784] ---[ end trace a869380abce2ac85 ]---

What can I do to alleviate or fix this problem? The time between crashes differs, but usually below 24 hours, so a scheduled reboot is not a solution, as another crash may appear mere hours after one. I've seen a thread based on a search of another non-critical error I've seen in the logs and it was about slow wifi which was caused by wpa3, but disabling it didn't fix the issue. If you know how to fix this, please tell me how to, it would be very welcome.

Try forum search, ensure good ventilation around router.

I've tried forum search, didn't yield anything useful, just posts that lead back to the same github issue. The ventilation around the router is good enough, the errors are consistent with the error messages but the times are not. The router may have 22 hours of uptime when crashing, or just 3, varying greatly. I believe this might be an error in kernel that is being reported but not being fixed. A workaround or a fix would be extremely welcome.

There is corelation between this crash and starving heat dissipation. Not 100% though. Also dozen github reports.

I am currently using 23.05.3 and planning to install .4 during the night. I've seen in the changelog there were some fixes regarding mediatek SOCs. Hopefully it will help. I'll also examine the router to see how I can help heat dissipation. And also buying a new different router is not out of the picture if nothing else helps.

пн, 12 авг. 2024 г., 21:12 Andrispe via OpenWrt Forum <mail@forum.openwrt.org>:

Updated to 23.05.4 and currently I have 1.5 full days of uptime, which is quite promising, maybe it is fixed in the .4!

Now it's 45 hours without any major issues, so this is solved.

Other Mediatek devices - upgrade to 23.05.4, most likely solved on your device as well

Alright, it seems I now know the cause. When I launch my torrent client (deluge) on my pc, load on the router rises and it overloads. If I'm not doing that - it is stable. I don't know how I can throttle router's capabilities, especially since I don't have any thermal readings in the system. So if I want to use the torrent client, I'll have to reduce amount of connections it seems.

To rule out thermal issues place router on a flat surface or attach to a wall so that there is unobstructed air inflow and outflow.
There is nothing CPU-heavy about reaching net.netfilter.contrack_max past that next connections will be dropped.
Can you make it crash running nice nice yes > /dev/null & for each CPU core and then with normal (like in grandmom reading news) load?

I will try these steps and send another reply with results later today. I want to make sure nobody except me is using the network to not disrupt their usage, so I'm waiting until the night comes.

Cmon, they `re already used to sudden crashes.

Well, I pulled the web router out of the space between ceiling and floor of the next floor. Hung it on the wall using a screw (the screw slot is positioned horribly for that by the way, ethernet ports go down and all the indicators point to the ceiling). Anyway, ran nice nice yes > /dev/null & remotely while also watching a twitch stream. The single core is loaded at 100% with the yes command using about 85%-87%. The system load is shown to be at around 1.1-1.5. Turning on deluge on my pc increases the system load, but I don't think there is any left over CPU time not used by yes. 25-30 minutes so far without it crashing.
Also, the sudden crashes are quite irritating. I don't want users of my local network (people who I live with, e.g. my family) to be irritated by it or have their communication get suddenly interrupted. I take this stuff seriously.

1 Like

Lets see if there is "something wrong" first

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall

ubus call system board:

{
	"kernel": "5.15.162",
	"hostname": "OpenWrt",
	"system": "MediaTek MT7620N ver:2 eco:3",
	"model": "ZyXEL Keenetic Omni",
	"board_name": "zyxel,keenetic-omni",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "23.05.4",
		"revision": "r24012-d8dd03c46f",
		"target": "ramips/mt7620",
		"description": "OpenWrt 23.05.4 r24012-d8dd03c46f"
	}
}

cat /etc/config/network:

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fd11:ff5e:5aab::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0.1'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config device
	option name 'eth0.2'
	option macaddr '<redacted>'

config interface 'wan'
	option device 'eth0.2'
	option proto 'dhcp'
	option hostname '*'

config interface 'wan6'
	option device 'eth0.2'
	option proto 'dhcpv6'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '0 1 2 3 6t'

config switch_vlan
	option device 'switch0'
	option vlan '2'
	option ports '4 6t'

cat /etc/config/wireless:

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'platform/10180000.wmac'
	option channel 'auto'
	option band '2g'
	option htmode 'HT20'
	option cell_density '0'
	option country 'RU'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid '<REDACTED>'
	option encryption 'psk2'
	option key '<REDACTED>'

cat /etc/config/dhcp:


config dnsmasq
	option domainneeded '1'
	option boguspriv '1'
	option filterwin2k '0'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option nonegcache '0'
	option cachesize '1000'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
	option nonwildcard '1'
	option localservice '1'
	option ednspacket_max '1232'
	option filter_aaaa '0'
	option filter_a '0'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv4 'server'
	option dhcpv6 'server'
	option ra 'server'
	option ra_slaac '1'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'

config host
	option name '<MY PC>'
	list mac '<redacted>'
	option ip '192.168.1.29'
	option leasetime 'infinite'
	option duid '<redacted>'

config host
	option name '<Pi Home Server>'
	option ip '192.168.1.28'
	option leasetime 'infinite'
	option duid '<redacted>'
	option hostid '28'
	list mac '<redacted>'

cat /etc/config/firewall:

config defaults
	option syn_flood '1'
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'

config zone
	option name 'lan'
	list network 'lan'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'

config zone
	option name 'wan'
	list network 'wan'
	list network 'wan6'
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option masq '1'
	option mtu_fix '1'

config forwarding
	option src 'lan'
	option dest 'wan'

config rule
	option name 'Allow-DHCP-Renew'
	option src 'wan'
	option proto 'udp'
	option dest_port '68'
	option target 'ACCEPT'
	option family 'ipv4'

config rule
	option name 'Allow-Ping'
	option src 'wan'
	option proto 'icmp'
	option icmp_type 'echo-request'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-IGMP'
	option src 'wan'
	option proto 'igmp'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-DHCPv6'
	option src 'wan'
	option proto 'udp'
	option dest_port '546'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-MLD'
	option src 'wan'
	option proto 'icmp'
	option src_ip 'fe80::/10'
	list icmp_type '130/0'
	list icmp_type '131/0'
	list icmp_type '132/0'
	list icmp_type '143/0'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Input'
	option src 'wan'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	list icmp_type 'router-solicitation'
	list icmp_type 'neighbour-solicitation'
	list icmp_type 'router-advertisement'
	list icmp_type 'neighbour-advertisement'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Forward'
	option src 'wan'
	option dest '*'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-IPSec-ESP'
	option src 'wan'
	option dest 'lan'
	option proto 'esp'
	option target 'ACCEPT'

config rule
	option name 'Allow-ISAKMP'
	option src 'wan'
	option dest 'lan'
	option dest_port '500'
	option proto 'udp'
	option target 'ACCEPT'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name '<my pc> ssh'
	option src 'wan'
	option src_dport '<redacted>'
	option dest_ip '192.168.1.29'
	option dest_port '<redacted>'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name '<pi server> ssh'
	option src 'wan'
	option src_dport '<redacted>'
	option dest_ip '192.168.1.28'
	option dest_port '<redacted>'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name '<Inactive server> ssh'
	option src 'wan'
	option src_dport '<redacted>'
	option dest_ip '192.168.1.xxx'
	option dest_port '<redacted>'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name 'Web Server HTTP'
	option src 'wan'
	option src_dport '80'
	option dest_ip '192.168.1.28'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name 'Web Server HTTPS'
	option src 'wan'
	option src_dport '443'
	option dest_ip '192.168.1.28'

config rule
	option name '<pi web server> HTTP IPv6'
	option family 'ipv6'
	list proto 'tcp'
	option src 'wan'
	option dest 'lan'
	list dest_ip '<pi web server ipv6>'
	option target 'ACCEPT'
	option dest_port '80'

config rule
	option name '<pi web server> HTTPS IPv6'
	option family 'ipv6'
	list proto 'tcp'
	option src 'wan'
	list dest_ip '<pi web server ipv6>'
	option dest_port '443'
	option target 'ACCEPT'
	option dest 'lan'

No mistake in your configs.
This issue is unsolved, see eg dozen reports on same on github.

Just put some load by downloading a bunch of torrents and the router crashed and rebooted... So yeah, I have to make sure I don't too often. Not sure which part kills it - upload or download. But it is most likely the P2P nature and the amount of connections being made and dropped and made again.

You have default 32k connection limit. Even if whole household runs torrents nothing will happen.

Try to save syslog somewhere , maybe last messages before crash tell something.

Well, the wired network seems to go down before openwrt can send the crash logs (which makes sense), so can't use my server for that. Using a file on non-volatile storage (flash) seems to overwrite the log after it boots back up.

Also, I've noticed this error in my pc's dmesg as well:

[43604.178922] ------------[ cut here ]------------
[43604.178928] NETDEV WATCHDOG: enp42s0 (r8169): transmit queue 0 timed out 8190 ms
[43604.178938] WARNING: CPU: 3 PID: 0 at net/sched/sch_generic.c:525 dev_watchdog+0x232/0x240
[43604.178945] Modules linked in: xone_gip_gamepad(O) ff_memless xone_wired(O) xone_gip(O) snd_seq_dummy snd_hrtimer snd_seq xt_nat veth xt_conntrack xt_MASQUERADE nf_conntrack_netlink iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xt_addrtype iptable_filter ip_tables br_netfilter bridge stp llc overlay snd_hda_codec_realtek intel_rapl_msr snd_hda_codec_generic intel_rapl_common ledtrig_audio amdgpu edac_mce_amd snd_hda_codec_hdmi amdxcp gpu_sched kvm_amd i2c_algo_bit snd_hda_intel drm_suballoc_helper snd_usb_audio drm_ttm_helper snd_usbmidi_lib kvm snd_intel_dspcfg irqbypass snd_intel_sdw_acpi ttm nls_iso8859_1 snd_ump snd_hda_codec drm_exec iwlmvm vfat snd_rawmidi snd_hda_core snd_seq_device fat drm_display_helper mc rapl snd_hwdep cec snd_pcm mac80211 btusb wmi_bmof libarc4 btrtl drm_buddy snd_timer btintel btbcm btmtk snd video pcspkr acpi_cpufreq iwlwifi soundcore r8169 k10temp i2c_piix4 bluetooth gpio_amdpt gpio_generic joydev cfg80211 rfkill loop fuse nfnetlink crct10dif_pclmul crc32_pclmul
[43604.179019]  crc32c_intel polyval_clmulni polyval_generic ghash_clmulni_intel sha512_ssse3 sha256_ssse3 sha1_ssse3 nvme sp5100_tco ccp nvme_core nvme_common wmi nct6687(O)
[43604.179033] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G           O       6.6.35-gentoo-dist #1
[43604.179036] Hardware name: Micro-Star International Co., Ltd. MS-7C95/B550M PRO-VDH WIFI (MS-7C95), BIOS 2.E0 03/06/2023
[43604.179038] RIP: 0010:dev_watchdog+0x232/0x240
[43604.179041] Code: ff ff ff 48 89 df c6 05 c2 fa 22 01 01 e8 b6 06 fa ff 45 89 f8 44 89 f1 48 89 de 48 89 c2 48 c7 c7 08 04 bd 98 e8 2e e8 23 ff <0f> 0b e9 2d ff ff ff 0f 1f 80 00 00 00 00 90 90 90 90 90 90 90 90
[43604.179043] RSP: 0018:ffffc90000328e70 EFLAGS: 00010286
[43604.179046] RAX: 0000000000000000 RBX: ffff888117698000 RCX: 0000000000000027
[43604.179048] RDX: ffff88880eae1588 RSI: 0000000000000001 RDI: ffff88880eae1580
[43604.179049] RBP: ffff8881176984c8 R08: 0000000000000000 R09: ffffc90000328cf8
[43604.179051] R10: 0000000000000003 R11: ffffffff98f46328 R12: ffff888102bd0400
[43604.179052] R13: ffff88811769841c R14: 0000000000000000 R15: 0000000000001ffe
[43604.179054] FS:  0000000000000000(0000) GS:ffff88880eac0000(0000) knlGS:0000000000000000
[43604.179056] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[43604.179058] CR2: 00007f72a2c3d190 CR3: 00000006fba3e000 CR4: 0000000000f50ee0
[43604.179060] PKRU: 55555554
[43604.179061] Call Trace:
[43604.179063]  <IRQ>
[43604.179065]  ? dev_watchdog+0x232/0x240
[43604.179067]  ? __warn+0x81/0x130
[43604.179072]  ? dev_watchdog+0x232/0x240
[43604.179075]  ? report_bug+0x171/0x1a0
[43604.179079]  ? srso_alias_return_thunk+0x5/0xfbef5
[43604.179083]  ? console_unlock+0x78/0x120
[43604.179087]  ? handle_bug+0x3c/0x80
[43604.179091]  ? exc_invalid_op+0x17/0x70
[43604.179094]  ? asm_exc_invalid_op+0x1a/0x20
[43604.179099]  ? dev_watchdog+0x232/0x240
[43604.179102]  ? __pfx_dev_watchdog+0x10/0x10
[43604.179105]  call_timer_fn+0x27/0x130
[43604.179109]  ? __pfx_dev_watchdog+0x10/0x10
[43604.179112]  __run_timers+0x222/0x2c0
[43604.179117]  run_timer_softirq+0x1d/0x40
[43604.179120]  handle_softirqs+0xe5/0x2e0
[43604.179125]  __irq_exit_rcu+0xa8/0xd0
[43604.179128]  sysvec_apic_timer_interrupt+0x72/0x90
[43604.179131]  </IRQ>
[43604.179133]  <TASK>
[43604.179134]  asm_sysvec_apic_timer_interrupt+0x1a/0x20
[43604.179137] RIP: 0010:cpuidle_enter_state+0xcc/0x440
[43604.179140] Code: 5a ef 0a ff e8 c5 f3 ff ff 8b 53 04 49 89 c5 0f 1f 44 00 00 31 ff e8 93 f6 09 ff 45 84 ff 0f 85 56 02 00 00 fb 0f 1f 44 00 00 <45> 85 f6 0f 88 85 01 00 00 49 63 d6 48 8d 04 52 48 8d 04 82 49 8d
[43604.179142] RSP: 0018:ffffc900001a7e90 EFLAGS: 00000246
[43604.179145] RAX: ffff88880eaf3e40 RBX: ffff888104c15000 RCX: 000000000000001f
[43604.179146] RDX: 0000000000000003 RSI: 0000000025a5a65f RDI: 0000000000000000
[43604.179148] RBP: 0000000000000002 R08: 0000000000000002 R09: 00000000000007f8
[43604.179149] R10: 0000000000000001 R11: ffff88880eaf27a4 R12: ffffffff99077de0
[43604.179151] R13: 000027a863985611 R14: 0000000000000002 R15: 0000000000000000
[43604.179157]  cpuidle_enter+0x2d/0x40
[43604.179161]  do_idle+0x1d8/0x230
[43604.179166]  cpu_startup_entry+0x2a/0x30
[43604.179168]  start_secondary+0x11e/0x140
[43604.179172]  secondary_startup_64_no_verify+0x18f/0x19b
[43604.179179]  </TASK>
[43604.179180] ---[ end trace 0000000000000000 ]---
[43604.179199] r8169 0000:2a:00.0 enp42s0: ASPM disabled on Tx timeout
[43604.191013] r8169 0000:2a:00.0 enp42s0: rtl_txcfg_empty_cond == 0 (loop: 42, delay: 100).
[43604.199756] r8169 0000:2a:00.0 enp42s0: rtl_rxtx_empty_cond == 0 (loop: 42, delay: 100).
[43639.177755] r8169 0000:2a:00.0 enp42s0: rtl_txcfg_empty_cond == 0 (loop: 42, delay: 100).
[43639.186460] r8169 0000:2a:00.0 enp42s0: rtl_rxtx_empty_cond == 0 (loop: 42, delay: 100).
[43649.204734] r8169 0000:2a:00.0 enp42s0: rtl_txcfg_empty_cond == 0 (loop: 42, delay: 100).
[43649.213469] r8169 0000:2a:00.0 enp42s0: rtl_rxtx_empty_cond == 0 (loop: 42, delay: 100).
[43699.125328] r8169 0000:2a:00.0 enp42s0: rtl_txcfg_empty_cond == 0 (loop: 42, delay: 100).
[43699.134036] r8169 0000:2a:00.0 enp42s0: rtl_rxtx_empty_cond == 0 (loop: 42, delay: 100).
[43709.151372] r8169 0000:2a:00.0 enp42s0: rtl_txcfg_empty_cond == 0 (loop: 42, delay: 100).
[43709.160107] r8169 0000:2a:00.0 enp42s0: rtl_rxtx_empty_cond == 0 (loop: 42, delay: 100).

Which might probably be just network errors on the other side of the connection and not related to the cause of my router crashing...

Smells featuritis, you should not mix xt with nft or install ton of surplus usb drivers.
Best would be to reset to clean sysupgrade, carefully preinstall ??tables-nft, then follow each major package dependencies avoiding iptables-zz-legacy at all costs.
Dictionary:
https://wiki.nftables.org/wiki-nftables/index.php/Supported_features_compared_to_xtables

I don't run openwrt on my pc. This dmesg log is from my pc's kernel. On the router, I use nft. You can check the trace in the first message of the thread.