ZyXEL GS1900 dual partitions - how to use it

Hi Everybody,

Can anybody please explain how do dual-partitions work on ZyXEL GS1900?

I read the instructions for

and my assumptions are:

  1. Both partitions have ZyXEL OS and are used when upgrading as failover when the upgrade fails / new version doesn't boot
  2. tftpboot 0x84f00000 ...kernel.bin loads the whole OS into RAM - doesn't touch persistent storage
  3. sysupgrade after booting *kernel.bin re-flashes first partition on the persistent storage

If you can tell me please:

  1. How do I check that my ZyXEL 8/10/24... is a dual partition device?
  2. What would happen if I didn't set setsys bootpartition 0? Would it just possibly boot wrong OS? In this case ZyXEL OS on second partition instead of OpenWrt on first? Or does this setting also specify where sysupgrade writes image?
  3. How do I tell U-Boot to boot second partition when for example OpenWrt on first partition doesn't work?
  4. Is it possible to flash OpenWrt to both partitions and manually select to boot second partition?

Thank you.

All known/ supported gs1900 family members have been dual-firmware so far.
There is no automatic fail-over implemented by ZyXEL, it either needs to fully boot up to toggle it - or serial access to u-boot.
OpenWrt only supports running from the primary partition so far.

In the original ZyXEL firmware, you can select which firmware to boot ("Active" or "Backup").

While OpenWrt can only be installed in the first partition, as already mentioned, you can trigger loading the OEM firmware from the second partition. It's as easy as running:

fw_setsys bootpartition 1

That's the easiest method to return to stock. You can then overwrite OpenWrt with a stock firmware.
You might need kmod-mtd-rw in order to be able to mount the config partition read/write.

The first-time OpenWrt installation can also be performed from the OEM webpage, no need to attach serial (I never attached serial on the five ZyXELs that I own).

2 Likes