Current status

Kernel support

The platform is available upstream as a `MIPS_GENERIC` based MIPS architecture. This allows leveraging existing MIPS, DT,… kernel frameworks. Only some basic CPU peripherals are supported.

OpenWrt

In OpenWrt, the platform is still a custom MIPS architecture. More features are supported, but most code needs to be cleaned up or reworked before it can be submitted upstream. Discussion at https://forum.openwrt.org/t/support-for-rtl838x-based-managed-switches/57875/.

Bugs can be reported on the OpenWrt GitHub

Merged upstream

REALTEK_RTL / Realtek Otto

Generic upstream changes

Under review

Work-in-progress

Help needed

Note, that a lot of merged drivers need some love and some refactoring, both upstream and in the openwrt repositories …

Kernel development setup

OpenWrt

RTL838x: complete

RX/TX by the Ethernet driver works, including QoS and prioritization queues, all L2 functionality is implemented, all PHYs are supported, complete support for SFP cages and LEDs available

RTL839x: mostly complete

RX/TX by the Ethernet driver works, including QoS and prioritization queues, all L2 functionality is implemented. Support for the 10Gig SFP+ modules of the 8396 is not available, LEDs only work when configured by u-boot. Some PHYs not supported (e.g.RTL8214QF is not supported, but GPL-dump is available).

RTL930x: mostly complete

RX/TX by the Ethernet driver works, all L2 functionality is implemented. QoS and Rate control is missing, there is no support for the SFP+ cages. PHY support: RTL8218D works and RTL8266 2.5-gig PHY. The Aquantia multi-gig phys are unsupported (upcoming Zyxel XGS1250-10), but GPL code available. GPIOs and LEDs are supported.

RTL931x: initial support only

The Zyxel XS 1930 boots, but GIC irq is not working, only internal timer IRQs, TX/RX code ported but not tested, some L2 code ported, Aquantia PHYs are unsupported, but GPL code available