Upgrade NGB6716 from 21.02.3 (r16554-1d4dea6d4f) to 4M-Kernel


I'd like to upgrade my Zyxel NBG6716 device to 4M kernel.

It is currently running 21.02.3 (r16554-1d4dea6d4f).
When I try to sysupgrade to the 4M kernel firmware (openwrt-21.02.3-ath79-nand-zyxel_nbg6716-squashfs-sysupgrade-4M-Kernel.bin) I get the following error message:

Image check failed:

Tue Aug 2 13:47:35 CEST 2022 upgrade: Image metadata not present Tue Aug 2 13:47:35 CEST 2022 upgrade: Use sysupgrade -F to override this check when downgrading or flashing to vendor firmware Image check failed.

Can I safely force the upgrade or is there a special method to switch to the new 4M kernel firmware?

Thank you for the help.

Version 21.02.3 already has 4MB kernel. Use sysupgrade.

Thank you for the feedback.

On the firmware-selector.openwrt.org there are 2 sysupgrade images for NGB6716:

  • sysupgrade-4m-kernel and
  • sysupgrade

I've managed to do the sysupgrade with the "sysupgrade" image, my device is already @ version 21.02.3.

You're right, if I check dmesg on my device, it says kernel space is 4 Mb.

root@OpenWrt:~$ dmesg | grep kernel

[    0.479877] 0x000000500000-0x000000900000 : "kernel"

However if I try to sysupgrade my device with sysupgrade-4m-kernel firmware then I get the error message "Image check failed".

What is the use case for this sysupgrade-4m-kernel then? Why there are 2 types of firmwares for my device?

If I remember correctly, the kernel size was increased in version 19.07, since then there are 4m kernel versions. You're right, it's unnecessary in current versions. But if 4mb kernel size is insufficient again in the future, you can see it as 5 or 6mb kernel again. Someone needs to edit and remove it, but I guess no one is bothering.

Beware, since few versions there is a bug in firmware and bricks the device...

Still unresolved, just tried latest -rc and bootloop.

Yes, I remember having experienced boot loop about 1 year ago with another ath79 firmware for my device which I forced with sysupgrade. I needed to use the tftp recovery. Thanks for the warning.

TFTP recovery worked well (with factory image) :slight_smile:

I use
(there is no files at)

I using
OpenWrt 19.07.9, r11405-2a3558b0de

kernel still say
[ 0.000000] Kernel command line: board=NBG6716 console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(env)ro,64k(RFdata)ro,-(nbu);ar934x-nfc:2048k(zyxel_rfsd),2048k(romd),1024k(header),2048k(kernel),-(ubi)

[ 1.122468] 0x000000500000-0x000000700000 : "kernel"
the ubi allocatation is after this.. but I don't undersntad how the 4m image works.. there is no info on it anywhere (the git commit, etc)

mtd7: 00200000 00020000 "kernel"
mtd8: 07900000 00020000 "ubi"

where is the snapsnot dir ? thx

I tried running (I guess.. because luci would only run sysupgrade and not mtd..)

zcat openwrt-21.02.0-ath79-nand-zyxel_nbg6716-squashfs-sysupgrade-4M-Kernel.bin mtd -r -e ubi write - firmware; reboot -f

Could not open mtd device: firmware
Can't open device for writing!

what is "firmware" in mtd ??
its not found on the
https://openwrt.org/toh/zyxel/nbg6716#installation guides (the retail and the openwrt boot logs)

any ideas? thx

Well, you can use Firmware selector to locate firmware files, I think it is easier than browsing the downloads.openwrt.org.

Here you can find 21.02.3 for the Zyxel NBG6716:

Be careful, do not force sysupgrade from ar71xx to ath79 because it will brick your router (you can recover with the tftp method, but still don't do it).

Your current kernel is 2M (0x700000-0x500000 = 0x200000 = 2097152 bytes).
The only info I could locate about upgrading from this firmware is under https://openwrt.org/toh/zyxel/nbg6716#installation

" If you upgrade from version 19.07 or earlier (arx71xx) to 21.0 or later (ath79) be aware of a Kernel change described here"

zcat openwrt-ath79-nand-zyxel_nbg6716-squashfs-sysupgrade-4M-Kernel.bin | mtd -r -e ubi write - firmware; reboot -f

But this didn't work for me either in the past, if I remember correctly this gave me the same error you got when you tried it.

What worked is to set up a TFTP server described in the openwrt toh page for zyxel, rename your FACTORY ath79 OpenWrt firmware file to ras.bin and reboot your router while holding the WPS button. For the specifics please look up the instructions. This maybe needs confirmation from others because I did this 2 years ago (with the v19 ath79 image) so my memory is not so fresh about it but I think that was the method I used back then. You can also unbrick your router using this TFTP method btw.

I have checked this yesterday and it works for flashing my device with the Factory OpenWrt image (which uses 4M kernel) :slight_smile:

ok I got it to work with the wps button at front and ras.bin tftp method.. thank you