openwrt/target/linux
Andreas Böhler 2a55846bf4
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
realtek: add support for ZyXEL GS1920-24HPv1
The GS1920-24HPv1 is a switch with 24 copper ports and 4 combo SFP/copper
ports and PoE on the first 24 ports.

Specifications:
---------------
  * SoC: Realtek RTL8292M
  * Flash: 16 MiB SPI flash
  * RAM: 128 MiB
  * Ethernet: 24x 10/100/1000 Mbps
  * Buttons: 1x "Reset" button
  * UART: 1x serial header, standard DCE pinout (Tx = 2, Rx = 3, Gnd = 5);
          9600 baud, 8n1, +- 5.6V logic levels
  * SFP: 4 combo copper/SFP ports
  * PoE: 24x
  * Fans: ADT7468 fan controller

Works:
------
  - (24) RJ-45 ethernet ports
  - Switch functions
  - Buttons
  - LEDs (partial support, the wrong LEDs light up)
  - Manual fan control

Not yet enabled:
----------------
  - PoE (requires patches to realtek-poe to support i2c)
  - Combo ports (link is up, but no data is transferred)

Fans:
-----
After boot, the fans are running in full speed mode. You can interact
with the fan controller at /sys/class/hwmon/

Installation:
-------------

This device uses ZyNOS instead of Linux, this makes installation a bit
more cumbersome. Serial console is required!

1. Set the switch to boot from the first image. This step is crucial,
   it will fail to boot if this is not set properly.

2. Connect to the switch using serial and interrupt the boot process
   to enter debug/recovery mode.

3. Load the OpenWrt initramfs image via XMODEM. You need to obtain an
   unlock code, based on your MAC address, first. See the excellent write
   up at https://www.ixo.de/info/zyxel_uclinux/ for details. Replace
   unlock_code in the commands below by the code obtained.
   After running ATBA5, the terminal needs to be closed and re-opened
   with 115200 baud. This speeds up the file transfer significantly!
   The file length in bytes need to be given instead of file_length below.
   You also need an XMODEM upload utility like "lrzsz-sx -X" to transfer
   the file. Start the XMODEM upload after running the ATUPxxxx command:

     > ATEN1,unlock_code
     > ATBA5
     > ATUP80100000,file_length
     > ATGO80100000

4. Wait for OpenWrt to boot. Once this is done, transfer the loader binary
   and the sysupgrade image to "/tmp" using scp.

5. Install OpenWrt permanently by running the following two commands on
   the switch (over SSH):

    > mtd write /tmp/loader.bin loader
    > mtd write /tmp/sysupgrade.bin firmware

6. Reboot the switch and enjoy OpenWrt.

NB: You do not need to touch the loader binary unless it's recommended.
    The loader is not part of a regular sysupgrade file and will be left
    untouched. The boot loader only checks if the loader is valid to be
    able to boot.

Recovery/ Return to stock:
--------------------------

Just spam the "u" key during (or "z" for 9600 baud) during memory testing
to trigger a recovery XMODEM upload at 115200 baud. A standard OEM upgrade
image works properly.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
Link: https://github.com/openwrt/openwrt/pull/20439
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-01-10 22:30:56 +01:00
..
airoha airoha: an7581: correct led nodename 2026-01-05 01:00:25 +01:00
apm821xx kernel: disable non layout u-boot,env 2025-11-28 01:20:33 +01:00
armsr kernel: drop CONFIG_ARM64_CONTPTE from target configs 2025-11-26 21:08:34 +02:00
at91 treewide: fix coccinelle checks 2025-12-02 23:32:42 +01:00
ath79 treewide: replace remove_new with remove 2026-01-03 17:27:25 +01:00
bcm27xx kernel: as21xxx: backport patch improve PHY HW reset 2026-01-04 16:41:29 +01:00
bcm47xx bcm47xx: Fix lzma-loader compilation 2025-12-04 21:41:40 +01:00
bcm53xx bcm53xx: add support for ASUS RT-AC3200 and ASUS RT-AC5300 2025-12-18 18:18:48 +00:00
bcm4908 kernel: disable non layout u-boot,env 2025-11-28 01:20:33 +01:00
bmips kernel: refresh upstreamed patches 2026-01-04 16:41:28 +01:00
d1 kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
econet kernel: bump 6.12 to 6.12.62 2025-12-17 00:27:21 +01:00
gemini gemini: Add module for VSC73xx switches 2025-09-15 23:12:56 +02:00
generic kernel: move patch from mpc85xx to pending 2026-01-09 18:45:02 +02:00
imx imx: drop support for kernel 6.6 2025-11-22 10:11:52 +01:00
ipq40xx kernel: as21xxx: backport patch improve PHY HW reset 2026-01-04 16:41:29 +01:00
ipq806x Revert "treewide: fixup ath10k nodes" 2025-11-29 17:56:11 +01:00
ixp4xx ixp4xx: fix bug in Actiontec DTS file 2026-01-04 16:51:31 +01:00
kirkwood kirkwood: add aliases and new partition for support D-Link DNS-325 A1 2025-11-25 15:41:38 +01:00
lantiq treewide: dts: update rtl836x switch sck/sda gpio properties 2025-12-23 18:22:02 +01:00
layerscape kernel: phylink: disable autoneg for interfaces that have no inband 2026-01-04 16:41:30 +01:00
loongarch64 loongarch64: Disable strict alignment to fix BPF program failures 2025-12-10 19:10:30 +01:00
malta malta: drop 6.6 support 2025-07-20 23:37:37 +02:00
mediatek kernel: net: phy: mxl-gpy: replace downstream SGMII AN hack 2026-01-09 16:09:56 +00:00
microchipsw microchipsw: drop source-only 2026-01-09 18:53:32 +01:00
mpc85xx mpc85xx: p2020: add support for WatchGuard XTM330 (NC5AE7) 2026-01-10 21:30:58 +01:00
mvebu kernel: as21xxx: backport patch improve PHY HW reset 2026-01-04 16:41:29 +01:00
mxs mxs: drop 6.6 support 2025-05-24 16:15:53 +02:00
octeon treewide: replace numbers with GPIO_ACTIVE 2025-10-08 14:26:24 +02:00
omap omap: drop support for kernel 6.6 2025-11-22 10:16:35 +01:00
pistachio kernel: bump 6.12 to 6.12.62 2025-12-17 00:27:21 +01:00
qoriq qoriq: kernel: refresh config 2026-01-09 18:45:02 +02:00
qualcommax qualcommax: ipq50xx: Correct USB DWC3 wrapper interrupts 2026-01-08 18:38:51 +01:00
qualcommbe qualcommbe: update ipq9574 PCS driver 2025-11-30 16:51:12 +01:00
ramips kernel: phylink: disable autoneg for interfaces that have no inband 2026-01-04 16:41:30 +01:00
realtek realtek: add support for ZyXEL GS1920-24HPv1 2026-01-10 22:30:56 +01:00
rockchip rockchip: fix kernel tag for backported patches 2026-01-07 10:44:11 +01:00
sifiveu kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
siflower kernel: bump 6.12 to 6.12.63 2025-12-31 17:55:44 +01:00
starfive kernel: as21xxx: backport patch improve PHY HW reset 2026-01-04 16:41:29 +01:00
stm32 stm32: drop kernel 6.6 support 2025-10-22 14:56:15 +02:00
sunxi sunxi: image: sync target profiles names with DT compatible 2025-12-16 01:44:34 +01:00
tegra tegra: promote kernel 6.12 as default 2025-11-11 21:23:14 +01:00
uml kernel: bump 6.12 to 6.12.33 2025-06-12 12:42:15 +02:00
x86 x86: switch from CONFIG_HZ_PERIODIC to CONFIG_NO_HZ_IDLE 2026-01-09 16:35:34 +01:00
zynq zynq: drop support for kernel 6.6 2025-11-25 17:27:24 +01:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00