Help debugging openwrt 24.10 for om2p-hs

Openwrt 23.05 works very well on Openmesh om2p-hs v1 and v2 hotspots. However, 24.10 builds do not persist any config past reboots. Sadly this also is the case with 25.12.0-rc2 otherwise I would just use the latest release. I’m looking for help where to start debugging these as they are very useful small, low power PoE routers. I’m very comfortable with linux and working in the terminal but don’t know enough about the architecture of openwrt to know the best way to start debugging this problem.

thanks for any help

Joel

Not saving config usually means /overlay is full or there was no space for it on flash or somehow you used initramfs in place of sysupgrade....

(just template, there are no secrets in requested info)

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 (red circle; this works best in the 'Markdown' composer view in the blue oval):

Screenshot 2025-10-20 at 8.14.14 PM

Remember to redact passwords, VPN keys, MAC addresses and any public IP addresses you may have:

ubus call system board
mount -v
df -k
du -sk /*

Thanks for the reply and help. This is with a fresh install of openmesh_om2p-hs-v1-squashfs-sysupgrade.bin (version 25.12.0-rc2) from the main openwrt pre-built release repository. When I flashed this firmware I did not preserve old settings so everything should be default. Here are the results of those commands in the order you sent them:

{
	"kernel": "6.12.63",
	"hostname": "OpenWrt",
	"system": "Atheros AR9341 rev 1",
	"model": "OpenMesh OM2P-HS v1",
	"board_name": "openmesh,om2p-hs-v1",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "25.12.0-rc2",
		"firmware_url": "https://downloads.openwrt.org/",
		"revision": "r32429-d76c64ad00",
		"target": "ath79/generic",
		"description": "OpenWrt 25.12.0-rc2 r32429-d76c64ad00",
		"builddate": "1767653330"
	}
}

/dev/root on /rom type squashfs (ro,relatime,errors=continue)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
tmpfs on /tmp/root type tmpfs (rw,noatime,mode=755)
overlayfs:/tmp/root on / type overlay (rw,noatime,lowerdir=/,upperdir=/tmp/root/upper,workdir=/tmp/root/work,uuid=on)
tmpfs on /dev type tmpfs (rw,nosuid,noexec,noatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,noatime,mode=600,ptmxmode=000)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,noatime)
bpffs on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,noatime,mode=700)

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                 4096      4096         0 100% /rom
tmpfs                    27928       328     27600   1% /tmp
tmpfs                    27928        72     27856   0% /tmp/root
overlayfs:/tmp/root      27928        72     27856   0% /
tmpfs                      512         0       512   0% /dev

465	/bin
0	/dev
506	/etc
4699	/lib
0	/mnt
0	/overlay
0	/proc
15921	/rom
0	/root
0	/run
1511	/sbin
0	/sys
288	/tmp
7471	/usr
0	/var
1312	/www

Your helpful pointers led me to this message in dmesg output:

[ 14.232844] mount_root: jffs2 not ready yet, using temporary tmpfs overlay

Obviously that is the problem but I'm not sure how to debug it or fix it.

Sysupgrade using standard sysupgrade image clearing configs, there should be some overlay space
Show cat /proc/mtd after. rootfs data must be at least half meg to survive initial hw detection.

dev:    size   erasesize  name
mtd0: 00040000 00040000 "u-boot"
mtd1: 00040000 00040000 "u-boot-env"
mtd2: 00140000 00040000 "custom"
mtd3: 00700000 00040000 "inactive"
mtd4: 002c0000 00040000 "kernel"
mtd5: 00440000 00040000 "rootfs"
mtd6: 00040000 00040000 "rootfs_data"
mtd7: 00040000 00040000 "ART"

For comparison I flashed a working openwrt 23 build on the exact same device and this is the result of cat /proc/mtd:

dev:    size   erasesize  name
mtd0: 00040000 00040000 "u-boot"
mtd1: 00040000 00040000 "u-boot-env"
mtd2: 00140000 00040000 "custom"
mtd3: 00240000 00040000 "kernel"
mtd4: 004c0000 00040000 "rootfs"
mtd5: 00140000 00040000 "rootfs_data"
mtd6: 00700000 00040000 "inactive"
mtd7: 00040000 00040000 "ART"

As you suspected, the rootfs_data is less than 0.5 MiB. I'm not sure exactly why. The flash layout is defined here:

However, the flash partition sizes match /proc/mtd for the non-working firmware but not for the working one.

Probably fill a bug report in github, looks like A/B boot has to be abandoned on this device (ie "inactive" becomes rather big rootfs_data extension)

Thanks for the help on this. It was an education.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.