There seems to be a bug in the gs1900-48 image definition, which declares AAHO (gs1900-48hp) for this device, although AAHN (gs1900-48) would be needed - the DTS itself seems to be for the PoE-less gs1900-48/ AAHN…
This will need checking by someone with this hardware, but you should be able to test is by tftbooting the initramfs image via serial console as well. Technically, it would also be possible to 'fix' the ZYXEL_VERS in target/linux/realtek/image/rtl839x.mk to AAHN (ideally by building from source, but the imagebuilder should also be able to do this), but doing that blindly without supervision from the serial console could be risky.
@slh, @nonalcoholic If you would like those Reported-by and Suggested-by tags to be kept, I'll need a real name and email address (PM is OK). Otherwise I'll change it to a non-standard form as part of the commit message text.
Tested on my own GS1900-48 and flashing works as expected now.
However, there are still some other issues. With SMP (both on 5.10 and 5.15) that causes the kernel to hang on boot. Even with SMP disabled, the device still doesn't boot because the kernel cannot find the root partition. There are at least issues with the DT partition definition, but fixing those doesn't resolve the issue yet.
I will hold off with the image generator patch until I'm a bit more confident this device can actually be cold booted into OpenWrt...
Pushed a few fixes to master, but please do not flash your device yet. There are still some SMP issues on RTL839x devices (like the GS1900-48), causing it to stall somewhere in the boot process.
Turns out there were multiple other issues:
The install instruction in the commit message are wrong. You're supposed to flash an initramfs image like for the other GS1900 devices. Since you were getting the ID warning, it appears you were doing this correctly though.
The WebUI (at least on V2.70) however, will gladly eat a squashfs image without the ZyXEL-specific image trailer. It will then silently discard the rootfs part of that image, leaving you in bootloop.
A recent commit accidentally broke default image generation, resulting in broken sysupgrades (with more bootloops).