NanoPi R4S-RK3399 is a great new OpenWrt device

Looks like NanoPi R4S OpenWrt support is back with LAN initialization fix:

PR 20406 merged in main

PR 20418 pending in 24.10

I can confirm the dead LAN fix works in current main snapshot. I just updated an R4S gateway that previously needed a cold start for the LAN to come up and all is working well. Update was performed remotely.

I can also confirm the Snapshot firmware has also fixed the LAN issue for me as well! :grinning_face:

Does the Snapshot firmware also address the issue where the R4S CPU’s are on the lowest ones and not the faster cores? I haven't had time to check as of yet but because Im planning on using SQM just thought I'll ask?

Confirmed in my NanoPi R5S.

Packet steering MUST be disabled as a service at startup to avoid override "40-net-smp-affinity" particular settings from FriendlyWRT (24.10.2 r28739-d9340319c6).

System --> Startup: Mark "packet_steering" as DISABLED then reboot.
Captura de pantalla 2025-10-22 182307

More details here: https://forum.openwrt.org/t/netgear-r6220-sqm-results-downstream-cut-in-half-and-my-optimal-settings/114301/2?u=mikeruni

I updated to 24.10.4 using Attended Sysupgrade and it went perfectly.

@anaelorlinski What is the easiest way to update AdGuard Home from your installation (as it is newer than packages available for OpenWRT) ?

I started the build of a new image with latest adguardhome. You could also replace the binary directly with the one from adguardhome builds.
Note that in my image I use the premade binaries from AdguardHome and is not built from source with the OpenWrt receipe (because of nodeJS and golang dependencies that takes forever to build).

Thx, I do understand this and know how to update image (forked your repo and change hash), but I don’t want to re-install everything just for AdGuard. Is there any easy way to update it after installation of image?

Do we need to do any “fixes“ in v24 ? I remember before this should be 3f
cat /sys/class/net/eth0/queues/rx-0/rps_cpus → 01

cat /sys/class/net/eth1/queues/rx-0/rps_cpus → 04

No, I don’t think OpenWRT uses RPS‑based packet steering anymore. IRQ affinity is now handled correctly by the built‑in SMP‑affinity scripts, which pin the NIC interrupts to the big A72 cores.

This is MUST patch for latest version (I’ve tested v24 and I always got ERROR, after patch → OK)

You can fix it in the build or after (/www/luci-static/resources/luci.js)

more about this -> https://github.com/openwrt/luci/issues/7698

Is this still relevant for OpenWrt-25.12?

Did anyone go through with Attended Sysupgrade from 24.10.5 to 25.12.0 with/without keeping settings?
Any cause for concern, maybe based on how Attended Sysupgrade was for the earlier builds?

yes with keeping settings. no problem here.

edit: If anyone asks, cake_mq isnt available for R4S

Most likely yes, as far as i am aware the packet steering script hasn’t changed.

Yes with settings kept, no issues.
I always used owut to do upgrades. Don’t forget to take a backup first.

Thank you for your replies!
I can now also confirm that Attended Sysupgrade worked like a charm with settings preserved. It's been almost 48 hours and no issues at all.

I was only caught by surprise by the change in the logic for AdBlock/DNS-forcing/firewall, but I guess I should have read the documentation.

I was experiencing throttling and thermal protection shutdowns (95C) when using Wireguard+SQM, so I 3D printed a fan shroud + Noctua NF-A6x15 fan and dropped the temp by 30C. Also, no more Kentucky fried fingers when touching the R4S under load.

can you share the 3d modell prinitng scheme?

Works great, it snaps onto the R4S aluminum case and then you just need to drill some holes for the fan screws.