I am on my own custom build of OpenWRT, so it may be a custom configuration I have, but when I try and upgrade with sysupgrade I get the following crash:
I’m not sure where to start troubleshooting this. I suppose I could TFTP recovery back to stock, then install stock and update to see if it’s caused by a change I made, but other than going through those one-by-one, I don’t actually have a good angle.
Does anyone have any tips or has seen this error before?
I was able to update to stock in failsafe mode without mounting root:
root@OpenWrt-failsafe:/# sysupgrade -n /tmp/fw.bin
Thu Jan 1 00:04:40 UTC 1970 upgrade: Commencing upgrade. Closing all shell sessions.
root@OpenWrt-failsafe:/# Watchdog handover: fd=3
watchdog -
Watchdog does not have CARDRESET support
Thu Jan 1 00:04:40 UTC 1970 upgrade: Sending TERM to remaining processes ...
Thu Jan 1 00:04:40 UTC 1970 upgrade: Sending signal TERM to sshd (546)
Thu Jan 1 00:04:44 UTC 1970 upgrade: Sending KILL to remaining processes ...
[ 291.089425] stage2 (1286): drop_caches: 3
Thu Jan 1 00:04:51 UTC 1970 upgrade: Switching to ramdisk...
Thu Jan 1 00:04:54 UTC 1970 upgrade: Performing system upgrade...
[ 294.509666] do_stage2 (1286): drop_caches: 3
Unlocking firmware ...
Writing from to firmware ...
Thu Jan 1 00:05:39 UTC 1970 upgrade: Upgrade completed
Thu Jan 1 00:05:40 UTC 1970 upgrade: Rebooting system...
umount: can't unmount /tmp: Resource busy
umount: can't unmount /dev: Resource [ 341.026318] mt7530-mdio mdio-bus:1f lan: Link is Down
busy
[ 341.037194] mtk_soc_eth 1e100000.ethernet eth0: Link is Down
[ 341.046002] reboot: Restarting system
and when updating on stock (to my build) I had the same error message and a kernel bug, but no panic and the update completed:
root@OpenWrt:~# sysupgrade -n /tmp/squashfs-sysupgrade-DEVICE_ubnt_unifi-6-lite.
new
Mon May 4 22:33:26 GMT 2026 upgrade: Commencing upgrade. Closing all shell sessions.
Watchdog handover: fd=3
- watchdog -
Watchdog does not have CARDRESET support
Mon May 4 22:33:27 GMT 2026 upgrade: Sending TERM to remaining processes ...
Mon May 4 22:33:27 GMT 2026 upgrade: Sending signal TERM to ntpd (2793)
Mon May 4 22:33:27 GMT 2026 upgrade: Sending signal TERM to ntpd (2820)
Mon May 4 22:33:31 GMT 2026 upgrade: Sending KILL to remaining processes ...
Mon May 4 22:33:32 GMT 2026 upgrade: Sending signal KILL to ntpd (2793)
Mon May 4 22:33:34 GMT 2026 upgrade: Sending signal KILL to ntpd (2820)
[ 190.191047] stage2 (3079): drop_caches: 3
Mon May 4 22:33:42 GMT 2026 upgrade: Switching to ramdisk...
mount: mounting /dev/mtdblock9 on /overlay failed: Resource busy
[ 193.340233] ------------[ cut here ]------------
[ 193.344888] WARNING: CPU: 1 PID: 3079 at fs/super.c:650 0x8021e2dc
[ 193.351126] VFS: Busy inodes after unmount of jffs2 (jffs2)
[ 193.351137] Modules linked in: pppoe ppp_async nft_fib_inet nf_flow_table_inet pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota 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_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack mt7915e(O) mt7603e(O) mt76_connac_lib(O) mt76(O) mac80211(O) cfg80211(O) slhc nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c hwmon crc_ccitt compat(O) sha512_generic sha256_generic sha1_generic seqiv sha3_generic jitterentropy_rng drbg md5 crypto_hw_eip93 hmac geniv rng des_generic libdes cmac authencesn authenc leds_gpio gpio_button_hotplug(O) crc32c_generic
[ 193.423068] CPU: 1 UID: 0 PID: 3079 Comm: busybox Tainted: G O 6.12.85 #0
[ 193.423099] Tainted: [O]=OOT_MODULE
[ 193.423104] Hardware name: Ubiquiti UniFi 6 Lite
[ 193.423113] Stack : 00000000 8008dbac 00000114 00000004 00000000 00000000 00000000 00000000
[ 193.423158] 00000000 00000000 00000000 00000000 00000000 00000001 841a3cb0 818aee40
[ 193.423195] 841a3d48 00000000 00000000 841a3b40 00000038 808856c4 809c2b60 00000115
[ 193.423234] 841a3b8c 00000117 809c2b90 fffffff9 808a7058 841a3c90 808a7058 841a3dc8
[ 193.423273] 00000000 8021e2dc 809bb3c0 7f899570 00000003 fffc4633 00000004 80b80004
[ 193.423312] ...
[ 193.423320] Call Trace:
[ 193.423327] [<8008dbac>] 0x8008dbac
[ 193.423433] [<808856c4>] 0x808856c4
[ 193.423500] [<8021e2dc>] 0x8021e2dc
[ 193.423549] [<800073d8>] 0x800073d8
[ 193.423559] [<800073e0>] 0x800073e0
[ 193.423568] [<80859ce4>] 0x80859ce4
[ 193.423579] [<8002b6fc>] 0x8002b6fc
[ 193.423589] [<8021e2dc>] 0x8021e2dc
[ 193.423617] [<8021e2dc>] 0x8021e2dc
[ 193.423626] [<8002b8f4>] 0x8002b8f4
[ 193.423761] [<8383fbf8>] 0x8383fbf8 [cfg80211@dd05c11e+0x4b000]
[ 193.423803] [<8021e2dc>] 0x8021e2dc
[ 193.423944] [<8050b114>] 0x8050b114
[ 193.423963] [<8383fbf8>] 0x8383fbf8 [cfg80211@dd05c11e+0x4b000]
[ 193.424014] [<802d59bc>] 0x802d59bc
[ 193.424052] [<8383fbf8>] 0x8383fbf8 [cfg80211@dd05c11e+0x4b000]
[ 193.424104] [<8021cf54>] 0x8021cf54
[ 193.424132] [<8023b358>] 0x8023b358
[ 193.424198] [<80249338>] 0x80249338
[ 193.424263] [<80888124>] 0x80888124
[ 193.424282] [<8383fbf8>] 0x8383fbf8 [cfg80211@dd05c11e+0x4b000]
[ 193.424352] [<8004fcc8>] 0x8004fcc8
[ 193.424420] [<80006a30>] 0x80006a30
[ 193.424448] [<80224054>] 0x80224054
[ 193.424488] [<8383fbf8>] 0x8383fbf8 [cfg80211@dd05c11e+0x4b000]
[ 193.424521] [<80225530>] 0x80225530
[ 193.424540] [<8383fbf8>] 0x8383fbf8 [cfg80211@dd05c11e+0x4b000]
[ 193.424574] [<80002c30>] 0x80002c30
[ 193.424599] [<8383fbf8>] 0x8383fbf8 [cfg80211@dd05c11e+0x4b000]
[ 193.424639]
[ 193.424644] ---[ end trace 0000000000000000 ]---
Mon May 4 22:33:45 UTC 2026 upgrade: Performing system upgrade...
[ 193.771943] do_stage2 (3079): drop_caches: 3
Unlocking firmware ...
Writing from <stdin> to firmware ...
Mon May 4 22:34:44 UTC 2026 upgrade: Upgrade completed
Mon May 4 22:34:45 UTC 2026 upgrade: Rebooting system...
umount: can't unmount /dev: Resource busy
[ 253.212638] mt7530-mdio mdio-bus:1f lan: Link is Down
[ 253.218372] br-lan: port 1(lan) entered disabled state
[ 253.229541] mtk_soc_eth 1e100000.ethernet eth0: Link is Down
[ 253.240859] reboot: Restarting system
I have CONFIG_BUG_ON_DATA_CORRUPTION=y set in my kernel, so that’s possibly the reason? But the “resource busy” happens on stock too.
Thanks for the reply and for confirming that that was indeed the cause with the source :), much appreciated. Good to know too about the other devices it happens on, I also have an AC Pro, so I’ll drop that from there too, but don’t think it happens on my U6+.
Would be nice to be able to keep it enabled, not sure if anyone’s looked into it or what the status is, but maybe not worth looking into though since it doesn’t break the update process.
A question for you, since you seem to have these update logs readily accessible - is there a good way to view them without having to open them up and attach to the UART, since unmounting everything kills the SSH session?
I keep a permanent uart connection to most of my devices, and log the output using conserver. Some of them are close enough to other devices to be connected by a cable. And I use Bluetooth uarts where cabling is incovenient or ugly, like for the access points. Opened once and then closed
So no, there isn't a good way to view the boot or update logs without console