R7800 OpenWRT 24.10 force upgrade

I have a Linksys R7800 that I have just upgraded successfully to the new 24.10 branch (I build the firmware pulled from github normally).

The upgrade from 23.05 to 24.10 changes the switch device support and configuration completely so it requires a new configuration.
However my router has a complex configuration with a number of vLANs, WiFi APs, PBR, wireguard, openvpn and keepalive that I did not want to rebuild from scratch.

What I did was to upgrade with a full reset first, recreate my network configuration (knowing that was absolutely necessary), save /etc/config/network, revert back to 23.05 with its previous complex configuration and then, just before running a force upgrade to 24.10 for a second time, this time with "Keep settings and retain current configuration" box ticked, I copied in place the /etc/config/network file saved from my previous upgrade to 24.10.

The upgrade went smootly and the router has been running perfectly in 24.10 with just a few configuration tweaks.

Now I have just built the latest 24.10 r28039 from git pull. When I went to upgrade I did not expect to be prompted again with the message

"Image check failed...The device is supported, but the config is incompatible to the new image (1.0->1.1). Please upgrade without keeping config (sysupgrade -n). Mon Nov 25 15:50:57 CET 2024 upgrade: Config cannot be migrated from swconfig to DSA Image check failed. "

Knowing the configuration is correct I ticked "Keep configuration" and "Force Upgrade" and this new upgrade succeeded. The router works fine.

I guess there must be some configuration file left behind that sysuprade or LUCI take as an indication that my router is still on an older configuration.

Please could anyone let me know which file or files I have to tweak to ensure sysupgrade/Luci next time do not give me that warning?

You can not
One reason is flash layout changes
Other is network moving from swconfig to dsa
Neither is handled automatically
In second case you can redo /etc/config/network on new version, then restore backup without that one file.

In practical terms, that should be just what I did, although in a different order, because I replaced /etc/config/network just before clicking on OK for the forced sysupgrade with "Keep configuration". I will try now to reset the configuration and restore from backup.

In worst case type everything back via luci.

Thanks for this I am also in the same boat with my R7800.

Do you have some LAN<>WAN throughput figures with and without offload?

1 Like

I have just tried a full reset to factory defaults and then a restore excluding network as suggested, after the restore when I try an upgrade I still get the warning.

So one or more of the configuration files must include an indication for sysupgrade/luci that the router has a legacy configuration.

Going back to my original question: does anybody know what do sysupgrade and luci check to determine if the configuration is legacy?

Legacy config has eth0.1 and eth1.2 style interfaces while new has lan , br-lan, lan1 and labels printed at ports.

Update: I went to read the sysupgrade script and I tracked the module that checks the image/configuration compatibility here:

/usr/libexec/validate_firmware_image

that in turn calls:

/lib/upgrade/fwtoool.sh

Here i found that the configuration compatibility check is done by getting this parameter:

devicecompat="$(uci -q get system.@system[0].compat_version)"

Thus I found that Linksys R7800 with OpenWRT 24.10 requires the following in /etc/config/system

system
         option compat_version '1.1'

Solved

1 Like

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