mirror of
https://github.com/openwrt/openwrt.git
synced 2026-10-13 00:17:02 +04:00
The NanoPi R2S Plus is a NanoPi R2S with on-board eMMC added. The device tree (rk3328-nanopi-r2s-plus.dts) is already present in kernel 6.12, and U-Boot support has been present since v2025.01, so neither a kernel DTS backport nor a U-Boot patch is required. Hardware -------- Rockchip RK3328 (4x Cortex-A53, up to 1.4 GHz) 1GB DDR4 RAM 32GB eMMC 5.1 microSD slot (up to 128GB) 1x 1000 Base-T (native, RTL8211F via GMAC) - WAN 1x 1000 Base-T (USB 3.0, RTL8153B) - LAN Optional M.2 SDIO Wi-Fi 2x USB 2.0 Type-A host 1x USB-C (5V power input, USB device for Maskrom update) 1x USB-C (onboard USB-to-UART debug console, 1500000 bps) 1x serial debug header / UART0 (3.3V TTL, 3-pin 2.54mm) 2 Buttons (GPIO key, Maskrom) 3 LEDs (SYS red, WAN green, LAN green) DC 5V/2A power Operating temperature 0 to 70 C The MAC addresses are derived from the eMMC CID, so they are stable regardless of whether the device boots from microSD or eMMC. Installation ------------ On RK3328 the BootROM boots the eMMC before the microSD slot, so the Maskrom button must be held to boot from microSD while stock firmware is still on the eMMC. How to boot from eMMC: 1. Write the uncompressed sysupgrade image to sdcard 2. Hold the "Mask" button while powering on the device 3. Wait until OpenWrt is fully booted 4. Copy the compressed .gz sysupgrade image to the machine's /tmp folder using scp 5. Run: gunzip -c /tmp/openwrt-...-friendlyarm_nanopi-r2s-plus-squashfs-sysupgrade.img.gz | dd of=/dev/mmcblk1 bs=4M conv=fsync 6. Power the device off, remove the sdcard and power it back on Tested: - microSD boot (via Maskrom button) and native eMMC boot - Both Ethernet ports (RTL8211F WAN, RTL8153B LAN) - eMMC-derived MAC addresses Signed-off-by: Grische <github@grische.xyz> Assisted-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Link: https://github.com/openwrt/openwrt/pull/23854 Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>