Nighthawk X4S R7800: Updating from 23.05.3 to 25.12.5 in steps?

Updating from 23.05.3 to 25.12.5 in steps?

I have a backup-router in case the main router fails and it has a working complex (for me) configuration. I was tested and then never used.

Model Netgear Nighthawk X4S R7800
Architecture ARMv7 Processor rev 0 (v7l)
Target Platform ipq806x/generic
Firmware Version OpenWrt 23.05.3 r23809-234f1a2efa / LuCI openwrt-23.05 branch git-24.086.45142-09d5a38
Kernel Version 5.15.150

My first problem is:

$ scp openwrt-25.12.5-0aa7616abbe3-ipq806x-generic-netgear_r7800-squashfs-sysupgrade.bin ``root@192.168.178.13``:/tmp
** WARNING: connection is not using a post-quantum key exchange algorithm.
** This session may be vulnerable to "store now, decrypt later" attacks.
** The server may need to be upgraded. See ``https://openssh.com/pq.html
ash: /usr/libexec/sftp-server: not found
scp: Connection closed

ssh works.

AFAIR there is a command using ssh instead of scp to copy the bin-file, but I don't remember. The command is somewhere in the docs, I remember.

When I try with luci, I get the message below. Good that I was warned.

Image check failed:
Fri Mar 22 23:13:12 UTC 2024 upgrade: The device is supported, but the config is incompatible to the new image (1.0->1.1). Please upgrade without keeping config (sysupgrade -n). Fri Mar 22 23:13:12 UTC 2024 upgrade: Config cannot be migrated from swconfig to DSA Image check failed.

I try to avoid "sysupgrade -n". The other routers worked upgrading from 24.10 and they were upgraded to 24.10 using sysupgrade without "n".

So should I simply install 24.10 first? Neverthelesse there is always the scp-problem.

I think I have a similiar problem with a Zyxel NBG6817, which is not here at the moment. I assume it has the same old openwrt-version.

scp -O openwrt-25.12.5-0aa7616abbe3-ipq806x-generic-netgear_r7800-squashfs-sysupgrade.bin root@192.168.178.13:/tmp/

It's not optional here.

In theory, yes - in practice it's not necessary.

Same (non-)situation there.

So you mean I have to use "-n" in every case?

Sorry, not sure what you mean? Should I simply flash my file ignoring the warning?

I don't know for sure, if I migrated directly or if I used "-n" for the 24.10 routers and copied parts of the config-file, which worked then.

Going from <= 23.05.x to >=24.10.x crosses the swconfig --> DSA transition, which is where sysupgrade -n is required and non-optional.

You have to use sysupgrade -n anyways (for the DSA transition), so there are no -other- potential config compatibility issues to take care of anyways - and the sysupgrade process itself (WITHOUT retaining or restoring configs!) is compatible between 23.05.x and 25.12.x for the r7800 and nbg6817 (I cannot make grand generalizations for other targets/ devices here).

So yes, the warning is correct - you need to follow the -n advice.
No, you don't need to go 23.05.x --> 24.10.x --> 25.12.x, but can skip 24.10.x for these two devices. Nothing bad will happen if you take the 24.10.x detour, all will be fine if you go straight to 25.12.x - it's your choice. If you like to go by the letter, flash 24.10.x first, won't hurt, takes you <5 minutes more - you have to drop/ redo your old config either way.

Thanks for clarifying this.

The next step is to update the Asus to 25.12.5

Model ASUS TUF-AX6000
Architecture ARMv8 Processor rev 4
Target Platform mediatek/filogic
Firmware Version OpenWrt 24.10.1 r28597-0425664679 / LuCI openwrt-24.10 branch 25.123.45881~e061a5f
Kernel Version 6.6.86

What would be the simplest way to clone the settings from the Asus to the Netgear. The only difference is the IP-address of the routers. The Netgear should be taken if the Asus gets broken and everything should work.

Of course I have to change things with routers which are connected wireless like "option ssid"

For a one-off device swap, there are no shortcuts.

If you wanted to do this more regularly, you could write uci-default[*] preconfigs (scripting uci calls to set configurations however you desire) - but doing that now will take you more time and effort than going through the manual configuration for both devices (especially if both devices are very different in nature, swconfig vs DSA, to name just one of the big differences).

The configs (backups) aren not compatible between different devices, it's not safe trying to restore them on another device (even of the same model, because of MAC addresses and other hardware specific/ unique settings contained in the configs).

--
[*] mastering uci-default scripting and using the imagebuilder to integrate those are great features to unify configuration between devices, to deploy settings to various devices, but it needs quite a lot of preparation, learning and testing to use. If you are up to that, by all means, full steam ahead - just be prepared for a long rainy afternoon/ weekend to get results - and to test with easily recoverable devices (o.k., r7800 and nbg6817 would fall into that category).

I know, I always copy blocks only of the old configuration.

The Netgear has now a "sysupgrade -n" install and runs with 25.12.5. ssh connection works.

Can you please provide a shell command to change the IP address of the router. Earlier I did this changing the network-file with vim. But I am unsure now, what is necessary.

With an old router I have

config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.178.11'
option netmask '255.255.255.0'
option ip6assign '60'
option gateway '192.168.178.1'
list dns '192.168.178.1'

I don't want to forget something and create a soft brick.

So I want to change from 162.168.1.1 to 192.168.178.13

Gateway and DNS is 192.168.178.1 and dhcp-server is 192.168.178.11 for now.

At the moment it is enough to put the Netgear in the network and can access from anywhere in the local net.

You have to be very careful in deed as you now should use cidr notation
You can use the GUI
On the LAN interface where your IP address is first click on the 3 dots right next to the IP address.

This should turn the address in a CIDR /24 address and the netmask setting is removed.

then change the address in 192.168.178.13**/24**
it is the /24 which is important

You can then Save and Apply but using the down arrow next to the Save and Apply button you can Save and Aply without reverting

Just hopping in here - the /24 below was intended to be in bold, but the / escapes the markdown formatting.

With that in mind, the **/24** was not the intended expression here...

It was supposed to be 192.168.178.13/24

You are absolutely correct making it bold was not really working :frowning:

Re: markdown - I actually can't figure out how to the /24 to bold properly without putting in an extra space between the address and the /.

But, I was able to see what you were intending and I thought it important to mention this so that the OP doesn't attempt to use the asterisk characters in this field.

Thanks, but the asterisk didn't confuse me

This is from the new 25.12 installation:

cat /etc/config/network

config interface 'loopback'
option device 'lo'
option proto 'static'
list ipaddr '127.0.0.1/8'

config globals 'globals'
option dhcp_default_duid '00045b229389567748259174dc3d059cb343'
option ula_prefix 'fd0e:c8a6:e4ac::/48'

config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'

config interface 'lan'
option device 'br-lan'
option proto 'static'
list ipaddr '192.168.1.1/24'
option ip6assign '60'

config interface 'wan'
option device 'wan'
option proto 'dhcp'

config interface 'wan6'
option device 'wan'
option proto 'dhcpv6'




I am confused by

list ipaddr '192.168.1.1/24'

If i have a look at luci, I see:

static address

device: br-lan

and then there are 2 fields:

ipv4 address 192.168.1.1/24

and

ipf4 broadcast 192.168.1.255

Since I want to change to 192.168.178.13 I think I have to change the broadcast too?

Every wrong configuration would softbrick the router, so I do it very carefully

So at the end a luci command would be easier. I have to change my routers always to Fritzbox-network. So I need this again and again.

25.12 uses CIDR notation by default instead of the older method of two separate lines for ip address and netmask. /24 is the equivalent of a netmask 255.255.255.0.

Don't touch the broadcast line -- it'll automatically calculate the correct broadcast address based on your new IP address.

When using LuCI's standard "save and apply" option, there is an automatic rollback if you are unable to connect to the router (IIRC it is 90 seconds), so the chances of bricking the router with a single change are usually fairly slim. That said, if you do lock yourself out, you can always use failsafe mode to regain access and fix what is broken.

Unless it is setup as a Bridged AP, the old config might point in that direction?

So I have to change
list ipaddr '192.168.1.1/24'
to
list ipaddr '192.168.178.13/24'
only?

I fear this doesn't work, when the network is changed. At least this was so earlier. So I could use vi with the same risk, if I tell luci to ignore warnings. I have bricked already my similar Zyxel, but could get it work again.

This is the correct change. You need to renew your dhcp lease on your computer right away and then correct to the router at the new address.

One other issue - make sure that the address you choose is outside the dhcp pool if dhcp is active on this device. The router’s address cannot be within the range or the dhcp server may not start. The default range is from 100-249

thank you for mentioning this, I think I have found a mistake in my configuration in my Asus main router

config dhcp 'lan'
option interface 'lan'
option start '50'
option limit '179'
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'
list dhcp_option '3,192.168.178.1'

Shouldn't this mean DHCP range is from 50-179?

I have defined cameras over 200 and it looks like the IPs are assigned correctly.

On the other hand an IP with .13 would be always correct, with default values and my values.

How can I disable DHCP simply in the config file? Don't know how much I will prepare with this backup router. At lease I have to disable DHCP, so there are not 2 DHCP-servers running.

No. The limit is the size of the dhcp pool. The range is

start -to- start+limit-1

Add the ignore line.

What is the purpose of this device on your network?

Sorry, I am a little bit confused at the moment, because I think I have something misconfigured.

Please see at my configuration and tell me know which range will be used with DHCP.

Is 50-230 correct for DHCP?

So a line with

option ignore '1'

Where in the block? At the end?

It should be prepared as replacement when my ASUS TUF-AX6000 fails. It would be a lot work to prepare the Nighthawk. I would like to do only a few things, so I can test the Nighthawk somehow if it generally works.

Any idea what makes sense to configure for a quick testing?

IP-address

name

what else