Hey everyone!
I got a Nano HD flashed with the latest official firmware (24.10.4), but upon booting the device was only showing the LAN devices. Any and all wifI menus and interfaces were completely missing, and it seems like some other stuff (LED controls for example) are also missing. I did see something in the system log about no folder being found for the current kernel version, but I'm unsure how to debug further. Any ideas on things to check?
Do you know last version working to normal usability standards?
I can try installing older images, but I've never seen it work personally.
Here's what I'm seeing in the logs. I'm wondering if there's something about the drivers that aren't compatible with the older kernel. Also a bit confused as to why it's running 5.x rather than 6.x like other devices, but I'm not able to find anything on the wiki as to why
Sun Nov 2 04:02:50 2025 daemon.err modprobe: no module folders for kernel version 5.15.162 found
Sun Nov 2 04:02:50 2025 daemon.err modprobe: no module folders for kernel version 5.15.162 found
Means you have v23 kernel from before upgrade.
Even though I've flashed the sysupgrade image using the webui probably a dozen times as this point? I can't imagine that would keep the kernel from before I flashed the device to openWRT
5.15.162 means it is 23.05.4 , please sysupgrade to that first to get all kmods in sync.
Ok, futher testing has gone as follows:
Downgrading from 24.10.4 to 23.05.4 and NOT keeping config caused the device to boot properly and all functions/devices behaved as expected. Kernel version was the 5.15.162 you mentioned.
However, when I then attempted to upgrade while keeping configuration to 24.10.4 using the sysupgrade image in LuCI, the device rebooted to a semi-broken state. No LED controls, wireless menu showed Unknown devices (see screenshot), and the kernel version was UNCHANGED. It seems like this device is building the older kernel version even in the current official builds. I'm unable to get it to flash with a 6.x kernel using any newer image I've tried (24.10.2, and even one of the RC builds). Also, I saw the same error message about no folder for the kernel version in the logs.
Dont rush. Partitions might be locked read-only
sysupgrade back to 23.05.4 and make partitions writable
install kmod-mtd-rw
load the module "following instructions on the screen"
now sysupgrade to 23.05.6 and check if kmods are OK.
then try 24.10.4 - if it is broke - downgrade to .05.6 and do the mtd trick again.
Hmm. Given the partition map of the NanoHD, if they were R/O wouldn't the upgrade fail? The device has kernel0 and kernel1 partitions and the entire image is flashed to both at least during initial installation
Found mtd block: /dev/mtd0(u-boot)
Found mtd block: /dev/mtd1(u-boot-env)
Found mtd block: /dev/mtd2(Factory)
Found mtd block: /dev/mtd3(EEPROM)
Found mtd block: /dev/mtd4(bs)
Found mtd block: /dev/mtd5(cfg)
Found mtd block: /dev/mtd6(kernel0)
Found mtd block: /dev/mtd7(kernel1)
cat /sys/class/mtd/mtd*[0-9]/flags
write bit is 0x400
Sure enough, both on the new and old images most are set to 0x800. I got the kmod installed, but no instructions showed up when installing on how to load the driver, any pointers there?
modprobe mtd-rw ; dmesg | tail
Ok, that got me what I needed. Here's what I've found.
I was able to load the kmod, but that put all mtd blocks into 0xc00
root@OpenWrt:~# insmod mtd-rw.ko i_want_a_brick=1
root@OpenWrt:~# modprobe mtd-rw
root@OpenWrt:~# dmesg | tail
[ 2186.184264] mtd-rw: must specify i_want_a_brick=1 to continue
[ 2252.728696] mtd-rw: must specify i_want_a_brick=1 to continue
[ 2291.525512] mtd-rw: mtd0: setting writeable flag
[ 2291.530151] mtd-rw: mtd1: setting writeable flag
[ 2291.534860] mtd-rw: mtd2: setting writeable flag
[ 2291.539458] mtd-rw: mtd3: setting writeable flag
[ 2291.544081] mtd-rw: mtd5: setting writeable flag
[ 2291.548678] mtd-rw: mtd7: setting writeable flag
[ 2291.553270] mtd-rw: mtd8: setting writeable flag
[ 2291.557897] mtd-rw: mtd10: setting writeable flag
root@OpenWrt:~# cat /sys/class/mtd/mtd*[0-9]/flags
0xc00
0xc00
0xc00
0xc00
0xc00
0xc00
0xc00
0xc00
0xc00
0xc00
0xc00
root@OpenWrt:~#
I then attempted to upgrade to 23.5.6, which was successful. However, we're now back to the no module folder error:
[ 47.160272] kmodloader: no module folders for kernel version 5.15.162 found
It seems like something broke between these two versions for this device, though I can't quite tell what yet.
What sysupgrade output you get? Like using -v param.
Well, I was using the webui, should I be using the command line version for this?
You dont get much output via web.
Ok, let me revert back to .4 and try via cli
See this https://github.com/openwrt/openwrt/issues/14941 may not be related.
Hmm. Not sure if it's relevant or not, but here's the output from a sysupgrade -v from .4 to .6
BusyBox v1.36.1 (2024-07-15 22:14:18 UTC) built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 23.05.4, r24012-d8dd03c46f
-----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:~# cat /sys/class/mtd/mtd*[0-9]/flags
0x800
0x800
0x800
0x800
0x800
0xc00
0x800
0xc00
0x800
0x800
0xc00
root@OpenWrt:~# opkg install kmod-mtd-rw
Installing kmod-mtd-rw (5.15.162+git-20160214-2) to root...
Downloading https://downloads.openwrt.org/releases/23.05.4/targets/ramips/mt7621/packages/kmod-mtd-rw_5.15.162%2bgit-20160214-2_mipsel_24kc.ipk
Configuring kmod-mtd-rw.
root@OpenWrt:~# insmod mtd-rw.ko i_want_a_brick=1
root@OpenWrt:~# modprobe mtd-rw
root@OpenWrt:~# dmesg | tail
[ 60.833759] br-lan: port 1(lan) entered forwarding state
[ 60.839826] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[ 373.075014] mtd-rw: mtd0: setting writeable flag
[ 373.079660] mtd-rw: mtd1: setting writeable flag
[ 373.084369] mtd-rw: mtd2: setting writeable flag
[ 373.088967] mtd-rw: mtd3: setting writeable flag
[ 373.093596] mtd-rw: mtd5: setting writeable flag
[ 373.098194] mtd-rw: mtd7: setting writeable flag
[ 373.102819] mtd-rw: mtd8: setting writeable flag
[ 373.107417] mtd-rw: mtd10: setting writeable flag
root@OpenWrt:~# cat /sys/class/mtd/mtd*[0-9]/flags
0xc00
0xc00
0xc00
0xc00
0xc00
0xc00
0xc00
0xc00
0xc00
0xc00
0xc00
root@OpenWrt:~# cd /tmp
root@OpenWrt:/tmp# wget https://downloads.openwrt.org/releases/23.05.6/targets/r
amips/mt7621/openwrt-23.05.6-ramips-mt7621-ubnt_unifi-nanohd-squashfs-sysupgrade
.bin
Downloading 'https://downloads.openwrt.org/releases/23.05.6/targets/ramips/mt7621/openwrt-23.05.6-ramips-mt7621-ubnt_unifi-nanohd-squashfs-sysupgrade.bin'
Connecting to 151.101.130.132:443
Writing to 'openwrt-23.05.6-ramips-mt7621-ubnt_unifi-nanohd-squashfs-sysupgrade.bin'
openwrt-23.05.6-rami 100% |*******************************| 6912k 0:00:00 ETA
Download completed (7078482 bytes)
root@OpenWrt:/tmp# sysupgrade -v openwrt-23.05.6-ramips-mt7621-ubnt_unifi-nanohd
-squashfs-sysupgrade.bin
Mon Nov 3 17:42:12 UTC 2025 upgrade: Saving config files...
etc/config/dhcp
etc/config/dropbear
etc/config/firewall
etc/config/luci
etc/config/network
etc/config/rpcd
etc/config/system
etc/config/ucitrack
etc/config/uhttpd
etc/config/wireless
etc/dropbear/dropbear_ed25519_host_key
etc/dropbear/dropbear_rsa_host_key
etc/group
etc/hosts
etc/inittab
etc/luci-uploads/.placeholder
etc/nftables.d/10-custom-filter-chains.nft
etc/nftables.d/README
etc/opkg/keys/b5043e70f9a75cde
etc/passwd
etc/profile
etc/rc.local
etc/shadow
etc/shells
etc/shinit
etc/sysctl.conf
etc/uhttpd.crt
etc/uhttpd.key
Mon Nov 3 17:42:12 UTC 2025 upgrade: Commencing upgrade. Closing all shell sessions.
Command failed: Connection failed
root@OpenWrt:/tmp#
login as: root
BusyBox v1.36.1 (2025-08-14 18:27:40 UTC) built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 23.05.6, r24232-539228933c
-----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:~# uname -a
Linux OpenWrt 5.15.162 #0 SMP Mon Jul 15 22:14:18 2024 mips GNU/Linux
root@OpenWrt:~#
It certainly seems that it's able to write to the flash as the busybox build date and banner are both changing, not sure what else could be going on here
