Netgear D7800 sysupgrade: image is incompatible for sysupgrade

try to flash the stable version and install the rest after

1 Like

I'll try, thanks. Here is screenshot now (factory built with firmware selector and a couple packages - "nano" and "less" if I remembre correctly)

but if radio is on and you are able to install package via opkg you can leave factory running.

1 Like

Anyway I always used stable versions.. 22.03.3

Yes but since I already know what I need I'd like to squish every package prebuilt in firmware.
I already have a Linksys 1900acs and I did that, maybe it's not possible with this device.

build a factory image with that you need and leave that run if you cannot use sysupgrade.

1 Like

Factory image won't install if it contains more than a couple additional packages. I don't know exactly what's the limit but there is definitely one. So maybe even if flash is 128MB there is a hardware limit..
but I don't know about kernel and partitions..

so maybe is the kernel partition, if so flash stable factory or sysupgrade and install all later.

i do not have this device so my are just options

1 Like

try to install factory default image.
Install via opkg all needed packages + luci-app-attendedsysupgrade
and the use it to get a complete image installed including all needed packages.

1 Like

So, I tftp-ed plain 22.03.2 factory image, then installed all needed packages, went for attended sysupgrade and opted to upgrade to 22.03.3. Browser downloaded image but got stuck at installing sysupgrade. So I switched to command line and I found out install always stops at the same point with various errors each time, like
Message too large (90)
Invalid argument (22)
Broken pipe (32)
https://paste.debian.net/1276079/

Edit:
Sorry, I was trying to upgrade behind the "other" router and their dhcp probably clashed. So I removed the other one and now I constantly get "Invalid argument (22)"

Edit2
This is what I found in /var/log/messages:

OpenWrt upgrade: Saving config files...
OpenWrt upgrade: The device is supported, but this image is incompatible for sysupgrade based on the image version (1.0->2.0).
OpenWrt upgrade: Sysupgrade does not work due to rootfs ubi partition size change. Use factory image with the TFTP recovery flash routine.

Here we go again.. should I
auc -f
If something goes wrong, will tftp still work?

screenshot2

No.
Sysupgrade will not work.

You have finally shown the complete error, which also tells to the reason and the cure.

OpenWrt upgrade: The device is supported, but this image is incompatible for sysupgrade based on the image version (1.0->2.0).
OpenWrt upgrade: Sysupgrade does not work due to rootfs ubi partition size change. Use factory image with the TFTP recovery flash routine.

As the partition sizes have needed to be changed, that has been indicated to you by toggling the compatibility flag from 1.0 to 2.0 and you are given advice.

Any sysupgrade image will not work. (compiled by you, auc, whatever..).

You need to do the initial installation with the factory image. Usually Netgear offer the TFTP routine in u-boot. You should use that.

And once you have used the OpenWrt factory image to get into the new partition scheme, you can sysupgrade to the image (with your packages) that you are now trying the create.

EDIT: After more reading, it sounds like you might just be missing the compatibility value in /etc/config/system

2 Likes

If you have already used the factory image to get over the change, then one possible reason is that you have restored an old backup, which has then overridden the compatibility flag in /etc/config/system and set it back to 1.0 (although it has already been 2.0).

1 Like

The culprit change has actually been already in Feb 2022.

Both 22.03.2 and 22.02.3 should contain the new partition size.
And you mtd sizes look ok when comparing to the current DTS.

1 Like

Thanks for your reply.
indeed I already tftp -ed standard 22.03.2 factory image to device and I didn't restore anything or at least nothing I know of. Also, there's no mention of compatibility flag in system

root@OpenWrt:~# cat /etc/config/system

config system
	option hostname 'OpenWrt'
	option timezone 'UTC'
	option ttylogin '0'
	option log_size '64'
	option urandom_seed '0'

config timeserver 'ntp'
	option enabled '1'
	option enable_server '0'
	list server '0.openwrt.pool.ntp.org'
	list server '1.openwrt.pool.ntp.org'
	list server '2.openwrt.pool.ntp.org'
	list server '3.openwrt.pool.ntp.org'

config led 'led_usb1'
	option name 'USB 1'
	option sysfs 'white:usb1'
	option trigger 'usbport'
	list port 'usb1-port1'
	list port 'usb2-port1'

config led 'led_usb2'
	option name 'USB 2'
	option sysfs 'white:usb2'
	option trigger 'usbport'
	list port 'usb3-port1'
	list port 'usb4-port1'

config led 'led_wan'
	option name 'WAN'
	option sysfs 'white:wan'
	option trigger 'switch0'
	option port_mask '0x20'

config led 'led_esata'
	option name 'eSATA'
	option sysfs 'white:esata'
	option trigger 'disk-activity'

You might try setting in manually to 2.0

uci set system.@system[0].compat_version=2.0
uci commit system

(or edit by hand)

Discussion about similar situation as yours can be found e.g. in discussion here (a few messages before and lots after...)

1 Like

Ok, I get sysupgrade does not work, but does that imply also image-builder made factory images with manually added packages do not work either?
That' what I'm experiencing.
Sorry maybe dumb question.

Read my previous answers. Try setting the value manually to 2.0, and you should be able to sysupgrade normally.

You partition scheme (size 06080000 of ubi) matches the "new" size set by commit a0ad07ea,

reg = <0x1880000 0x6080000>;

EDIT:
your /etc/config/system should have

root@OpenWrt:~# cat /etc/config/system

config system
	option hostname 'OpenWrt'
	option timezone 'UTC'
	option ttylogin '0'
	option log_size '64'
	option urandom_seed '0'
	option compat_version '2.0'
1 Like
Writing to 'openwrt-22.03.3-642180a6a1e7-ipq806x-generic-netgear_d7800-squashfs-sysupgrade.bin'
image verification succeeded
invoking sysupgrade
Connection to 192.168.1.1 closed by remote host.
Connection to 192.168.1.1 closed.

Ohh YES that worked.
Thanks @hnyman

1 Like

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