1
1
openwrt/target/linux
Jonas Jelonek bdddc753c5 realtek: add support for Zyxel XMG1915-10EP
Specifications
==============

- SoC: RTL9302C
- Flash: 32 MiB SPI NOR flash
- RAM: 256 MiB
- Ethernet: 8x 10/100/1000/2500 Mbps (RTL8224)
- PoE: 802.3 af/at/bt on 8x RJ45 ports
    - 60W per port, 130W total budget
- SFP: 2x SFP+ cages
- UART: 1x 4 pins serial header, 115200 bauds, 8n1, 3.3v logic levels,
        pinout: unused (top), TX, RX, GND (bottom)
- Buttons: 1x "Restore" button, 1x "LED mode" button

MAC address
===========

Single MAC address derived from board partition with vendor-specific
format. MAC address is 70:49:a2:xx:xx:xx and applied to all switch
ports.

PoE
===

PoE is supported by realtek-poe package. To make it work, additional
options in the realtek-poe configuration file /etc/config/poe must be
set:

    config globals
            option force_baudrate '115200'
	    option force_dialect 'realtek'

Disclaimer
==========

Flashing OpenWrt will overwrite BootExtension + ZyNOS. BootExtension
functionality is not available anymore then. The U-boot/Bootbase still
has some limited functionality which can be used in emergency cases.

Installation
============

Simple web upgrade:

1. Take the OpenWrt factory.bin image generated by the build.

2. In the ZyNOS web UI, login and go to Maintenance -> Firmware Upgrade.

3. Under "Boot Image", make sure the Config Boot Image is set to 1. In
   other words, make sure the switch booted from firmware image 1 or it
   will do so on next reboot.
   This is crucial, otherwise OpenWrt cannot boot.

4. Below, select and upload the factory.bin image. After clicking
   upgrade, the image will be flashed.

5. After flashing has finished, reboot the switch. It will now boot into
   OpenWrt.

U-Boot
======

This device ships with U-boot masked as Bootbase. After the device is
powered, a DRAM test is performed. Spamming $ during that test will drop
you into a shell after test finished. You'll have a limited command set
at first.

Unlocking the shell with [1] or [2] will give you a normal U-boot
command set. From here, you can perform initramfs boot or recovery.

Initramfs boot:
> loady 0x82000000 + go 0x82000000

Recovery:
> upgradeY image2 0x82000000 115200

Return to stock firmware
========================

1. Download the firmware for the switch from Zyxel website.

2. Unzip the download, there should be a .bin file with a alphanumeric
   name.

3. Upload this file to running OpenWrt.

4. Run (use -F since the image doesn't have image metadata):

   > sysupgrade -F <stock-firmware>.bin

5. Wait for the sysupgrade to succeed and the switch reboot. At the next
   boot, ZyNOS should come up again.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23218
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-05-11 10:34:53 +02:00
..
airoha airoha: disable IPSEC 2026-05-10 23:17:47 +02:00
apm821xx kernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic 2026-04-06 01:38:41 +02:00
armsr kernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic 2026-04-06 01:38:41 +02:00
at91 kernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic 2026-04-06 01:38:41 +02:00
ath79 ath79: convert phy0tpt to led-sources 2026-05-10 23:12:56 +02:00
bcm27xx kernel: bump 6.12 to 6.12.86 2026-05-09 11:01:27 +02:00
bcm47xx kernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic 2026-04-06 01:38:41 +02:00
bcm53xx bcm53xx: add ramdisk to FEATURES 2026-04-29 09:56:37 +02:00
bcm4908 kernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic 2026-04-06 01:38:41 +02:00
bmips treewide: use _scoped for loop 2026-04-16 21:17:43 +02:00
d1 d1: drop support for 6.12 2026-04-21 16:13:37 +02:00
econet econet: en7528: add USB support 2026-05-10 19:44:56 +02:00
gemini gemini/kernel: drop v6.12 and default to v6.18 2026-04-17 18:01:06 +02:00
generic kernel: enable static key 2026-05-09 14:51:01 +02:00
imx imx: cortexa9: ventana, fix profiles names in profiles.json 2026-04-23 01:13:36 +02:00
ipq40xx ipq40xx: enable testing kernel for ipq40xx 2026-05-09 00:23:53 +02:00
ipq806x kernel: bump 6.12 to 6.12.86 2026-05-09 11:01:27 +02:00
ixp4xx ixp4xx/kernel: drop v6.12 and default to v6.18 2026-04-16 08:35:38 +02:00
kirkwood kirkwood: switch to 6.18 kernel 2026-04-27 09:39:21 +02:00
lantiq lantiq: vr200: switch to nvmem eeprom 2026-05-09 14:08:12 +02:00
layerscape kernel: sync target configs after JUMP_LABEL changes 2026-05-11 10:33:46 +02:00
loongarch64 kernel: sync target configs after JUMP_LABEL changes 2026-05-11 10:33:46 +02:00
malta malta: drop 6.12 support 2026-05-07 18:15:54 +02:00
mediatek kernel: sync target configs after JUMP_LABEL changes 2026-05-11 10:33:46 +02:00
microchipsw kernel: sync target configs after JUMP_LABEL changes 2026-05-11 10:33:46 +02:00
mpc85xx mpc85xx: unify wrapper address of simple image devices 2026-05-05 14:09:38 +02:00
mvebu kernel: bump 6.12 to 6.12.86 2026-05-09 11:01:27 +02:00
mxs mxs: drop support for 6.12 2026-04-16 14:55:36 +02:00
octeon octeon: enable 6.18 testing kernel 2026-04-26 10:03:37 +02:00
omap kernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic 2026-04-06 01:38:41 +02:00
pistachio pistachio: drop support for 6.12 2026-04-18 12:02:48 +02:00
qoriq kernel: sync target configs after JUMP_LABEL changes 2026-05-11 10:33:46 +02:00
qualcommax ipq50xx: add label-mac-device to Linksys MX5500 2026-04-29 10:07:09 +02:00
qualcommbe kernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic 2026-04-06 01:38:41 +02:00
ramips ramips: remove mediatek,firmware-eeprom 2026-05-05 13:14:07 +02:00
realtek realtek: add support for Zyxel XMG1915-10EP 2026-05-11 10:34:53 +02:00
rockchip kernel: sync target configs after JUMP_LABEL changes 2026-05-11 10:33:46 +02:00
sifiveu sifiveu: drop support for 6.12 2026-04-19 13:21:21 +02:00
siflower kernel: sync target configs after JUMP_LABEL changes 2026-05-11 10:33:46 +02:00
starfive kernel: sync target configs after JUMP_LABEL changes 2026-05-11 10:33:46 +02:00
stm32 kernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic 2026-04-06 01:38:41 +02:00
sunxi sunxi: add T113-S3 support 2026-05-09 11:19:22 +02:00
tegra kernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic 2026-04-06 01:38:41 +02:00
uml kernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic 2026-04-06 01:38:41 +02:00
x86 x86/base-files: add support for CloudGenix ION 2000 2026-05-11 01:11:25 +02:00
zynq kernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic 2026-04-06 01:38:41 +02:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00