Rtl8196e Openwrt
wifi up
| Component | Status & Source |
|------------------|---------------------------------------------------------------------------------|
| Serial | Works (8250 compatible) – ttyS1 at 38400 baud |
| SPI Flash | m25p80 + spi-rt2880 driver (backport from rt288x) |
| Ethernet switch | Requires rtl8366_smi + board-specific init (internal regs) |
| Wi-Fi (USB/SDIO) | Use rtl8xxxu (limited) or vendor 8192cu blob |
| GPIO/LED | gpio-ralink works |
| USB | ehci-platform + ohci-platform (needs clock setup in mach file) |
Patch arch/mips/ralink/mt7620.c (or create rtl8196e.c):
static void __init rtl8196e_setup(void)
// Set PLL for 400 MHz
rt_sysc_w32(0x000c0000, RT_SYSC_REG_SYSCFG1);
// Configure switch internal mapping
rtl8366_smi_init(...);
git clone https://github.com/openwrt-rtl/rtl8196e-patches.git target/linux/ramips/patches-5.4/ rtl8196e openwrt
Target selection (via make menuconfig):
Target System: Ralink RT288X/RT3XXX
Subtarget: RT3x5x/RT5350 (closest MIPS24Kc)
Target Profile: (custom) → set CPU to 4Kc, endian little
Manually override in .config:
CONFIG_LINUX_5_4=y
CONFIG_TARGET_ramips=y
CONFIG_TARGET_ramips_rt305x=y
CONFIG_CPU_MIPS32_R1=y
CONFIG_USE_MIPS16=y
Add DTS file for your board (example: rtl8196e_ap.dts): wifi up | Component | Status & Source
/dts-v1/; /include/ "rt3050.dtsi" / model = "RTL8196E Reference Board"; compatible = "realtek,rtl8196e", "ralink,rt3050-soc";memory@0 device_type = "memory"; reg = <0x0 0x2000000>; // 32 MB ; chosen bootargs = "console=ttyS1,38400"; ;
;
The default firewall uses iptables (legacy). Switch to nftables (lighter) or turn off stateful inspection: git clone https://github
uci set firewall.@defaults[0].flow_offloading=1
uci commit
The RTL8196E is a MIPS-based SoC from Realtek commonly used in low-cost routers and embedded network devices. Running OpenWrt on RTL8196E-based hardware can provide a more flexible, secure, and up-to-date router firmware than vendor-provided images, but support is limited compared with more popular SoCs. This guide covers hardware background, OpenWrt compatibility, obtaining and building firmware, installation methods, common issues, and tips for development and recovery.
The RTL8196E is a MIPS-based network processor (usually 24Kc or similar core) clocked between 350MHz and 400MHz. It integrates:
make kernel_menuconfig