Bringing support for realtek-poe to mainline OpenWrt

Yes, that looks like a minor bug in the realtek implementation. It simplifies the logic by using the same parser for both the broadcom (0x23) and realtek (0x41) MCU_GET_POWER_STATS commands. But the reply structures are different so the result is wrong.

consumption is the first 16bit field on broadcom 0x23:

while the realtek 0x41 returns

2 2 1 2 2 1
System Allocated Power System Available Power Bank ID System Current Power Reserved Checksum

according to https://github.com/plappermaul/realtek-doc/blob/main/datasheets/RTL8238B%20Host%20Command%20Guide.pdf

So you need to create a realtek-specific parser for this command, fetching consumption from bytes 7+8 instead of 2+3. And maybe add support for reporting allocated power too, even if it's not available on broadcom?

Can someone provide a summary of the situation in 2026? Is the script still required?

I do see some hard coded assumptions for GS1900-10HP, which probably require some tweaking to work with the GS1900-8HP.

Has someone a working solution for the GS1900-8HP v2?

Have you tried running realtek-poe? If your 1900-8HP uses the -10HPv2 it should work fine when you set baudrate and dialect in UCI.

If it uses the realtek-dialect, you could also give https://github.com/openwrt/openwrt/pull/23222 a try.

I will give it a try. Even more interesting, my GS1900-8HP says Revision B2. Nowhere in the OpenWRT Wiki I can find the B2 revision being mentioned.

According to https://download.zyxel.com/GS1900-8HP/user_guide/GS1900-8HP_V2.90_Ed2.pdf the only differences between the GS1900-8HP B1 and B2 are as follows:

  • B1 has power switch, B2 does not.
  • The Reset to Factory Default Funtion is labeled “RESET” on B1 and “RESTORE” on B2
  • The B1 uses a DC Pin-Type power supply while the B2 uses a DC jack-type.