There is a thread on Reddit: Bought a 2.5GbE router, got 600 Mbps. Fixed it myself. (NanoPi R76S + FriendlyWrt) : r/openwrt how to tweak NanoPi R76S. I am not sure if this applies also to OpenWRT (probably). Could these scripts (if they are really working) be somehow directly implemented to the OpenWRT image?
You can follow the instructions and perform the steps yourself.
FriendlyWrt is a fork of OpenWrt; the differences lie in the nuances.
The problem I described is a bottleneck, because the higher the load on the Ethernet adaptersāor if USB is used (I haven't checked, but I'm sure the situation would be similar)āall interrupts will be handled by the small core 0, which will become overloaded, leading in turn to a decrease in performance.
But I didn't say that using the device is impossibleāit all depends on the specific tasksāand it's possible that you'll be satisfied with the performance even without optimization.
I just warned potential buyers so they know in advance what they might encounter.
I use the NanoPi R76S together with the SDIO WiFi module (RTL8822CS).
With FriendlyWrt, the WiFi module supports all wireless modes and I was able to use the NanoPi as an access point.
With Vanilla OpenWRT, it is no longer possible to use AP mode.
Wiphy phy0
wiphy index: 0
max # scan SSIDs: 4
max scan IEs length: 323 bytes
max # sched scan SSIDs: 4
max # match sets: 0
Retry short limit: 7
Retry long limit: 4
Coverage class: 0 (up to 0m)
Device supports T-DLS.
Available Antennas: TX 0x3 RX 0x3
Configured Antennas: TX 0x3 RX 0x3
Supported interface modes:
* managed
* monitor
[01.11.2025, 07:52:37 MEZ] daemon.notice: hostapd: Set MLD config: [ ]
[01.11.2025, 07:52:37 MEZ] daemon.notice: hostapd: Reload all interfaces
[01.11.2025, 07:52:37 MEZ] daemon.notice: netifd: radio0 (7818): command failed: Not supported (-95)
[01.11.2025, 07:52:37 MEZ] daemon.notice: wpa_supplicant[1090]: Set new config for phy phy0
[01.11.2025, 07:52:37 MEZ] daemon.notice: hostapd: Set new config for phy phy0: /var/run/hostapd-phy0.conf
[01.11.2025, 07:52:37 MEZ] daemon.notice: hostapd: Restart interface for phy phy0
[01.11.2025, 07:52:37 MEZ] daemon.notice: hostapd: Configuration file: <inline> (phy phy0) --> new PHY
[01.11.2025, 07:52:37 MEZ] daemon.notice: hostapd: Configuration file: Reading configuration file '<inline>'
[01.11.2025, 07:52:37 MEZ] daemon.notice: hostapd: Configuration file: Reading configuration file '<inline>'
[01.11.2025, 07:52:37 MEZ] daemon.err: hostapd: Could not read interface phy0-ap0 flags: No such device
[01.11.2025, 07:52:37 MEZ] daemon.notice: hostapd: nl80211: Driver does not support authentication/association or connect commands
[01.11.2025, 07:52:37 MEZ] daemon.notice: hostapd: nl80211: deinit ifname=phy0-ap0 disabled_11b_rates=0
[01.11.2025, 07:52:37 MEZ] daemon.err: hostapd: Could not read interface phy0-ap0 flags: No such device
[01.11.2025, 07:52:37 MEZ] daemon.err: hostapd: nl80211 driver initialization failed.
[01.11.2025, 07:52:37 MEZ] daemon.notice: hostapd: phy0-ap0: CTRL-EVENT-TERMINATING
[01.11.2025, 07:52:37 MEZ] daemon.err: hostapd: hostapd_free_hapd_data: Interface phy0-ap0 wasn't started
[01.11.2025, 07:52:37 MEZ] daemon.notice: hostapd: hostapd.add_iface failed for phy phy0 ifname=phy0-ap0
[01.11.2025, 07:52:37 MEZ] daemon.notice: netifd: radio0 (7818): wifi-scripts: Configuring 'phy0' txantenna: 4294967295, rxantenna: 4294967295 distance: 0
[01.11.2025, 07:52:37 MEZ] daemon.notice: netifd: radio0 (7818): wifi-scripts: Preparing interface: phy0-ap0 with MAC: 70:68:71:be:c0:da
[01.11.2025, 07:52:37 MEZ] daemon.notice: wpa_supplicant[1090]: Start pending MLD interfaces
Does anyone have any ideas on how to solve this problem?
The problem is that a āstupidā OpenWRT user (like I am) has no way to determine if such scripts are useful and what are the risks associated with running them. So, it would be really good if developers/experienced users can chip in and at least confirm their validity and/or usefulness or, even better, somehow embed them in the OpenWRT image so they are applied by default.
FWIW: progress of upstreaming of the rk3576 SoC can be followed here:
(and ofc the linux-rockchip ML or via lore.kernel.org)
This is not specific to this device, but when SoC functionality isn't available upstream, then (AFAIUI) OpenWrt will not support it (yet).
OpenWRT, like GNU/Linux or BSD, is practically devoid of āone-button magic.ā
Youāll either learn (nowadays itās quite easy with AI) and gain experience, or leave OpenWrt asideāthough thereās nothing wrong with that either.
Will NanoPI M5 (basically the same device except 1gb lan ports, and storage options) get openwrt support as well? I was hoping to get this device for openwrt, but theres 0 info about it, and i thought it would get released along with r76sā¦
This patch was added a few days ago, and now there's a native dts for the nanopi r76s.
Now, as I understand it, we need to build uboot for the Nanopi R76S, not the Generic RK3576.
Then we need to check if this solves the interrupt issue. Interrupts from both network controllers are processed by a single core of the "small" cluster ( core #0).
Is work on our device still ongoing?
Sorry for the Google translation.
Hi,
my firewall (old Linksys) has died so Iāve decided to order the R76S as an upgrade. As it sits in the basement I would like to use the RTL8822CS as an AP for the few ESP32 devices there like I did with the Linksys. Any idea if the RTL8822CS M.2 module from FriendlyELEC works in the recent 25.12 snapshots? I only need the 2.4GHz radio working, nothing fancy, nothing bandwidth intensive.
I do not see any reason why RTL8822CS based M.2 wifi module would not work with R76S. Worst case scenario, you can use USB wifi module instead. I can confirm that MT7921AU based USB wifi module works with R76S. However, you can only choose one transmission band (in your case it would be 2.4 GHz).
Well a bit above user @R41 complains about the RTL8822CS not working (at least it wasnāt working on November 1st). I wonder if thatās still the issue. Sure I can use an USB dongle ![]()
While Realtek wireless has been improving recently, it would not be my first choice for AP usage. Traditionally this has been a hard no-go - and still isn't a priority for the driver developers.
Wifi works with the current snapshot
Official openwrt support R76S that come with 3GB ram ?
Do you get WiFi to work at full speed? Iāve tried a recent snapshot and I canāt get it to use the full bus speedā¦
OpenWrt 25.12 snapshot:
cat /sys/kernel/debug/mmc2/ios
clock: 50000000 Hz
actual clock: 50000000 Hz
FriendlyWrt 24.10.2, r28739-d9340319c6:
cat /sys/kernel/debug/mmc1/ios
clock: 200000000 Hz
actual clock: 198000000 Hz
No, it didn't work for me either.
I sold my R76S.
For reference:
I just received a 3GB, Wifi with 0GB eMMC (intended on booting solely from SD) and I cannot get OpenWRT to boot.
It just powers on with nil initialisation. SYS light remains solid with same symptoms if no SD (normally flashes when booting and running)
Various testing has it working correctly and booting from FriendlyWRT and DietPi but no joy with OpenWRT.
Not sure of what is needed for diagnosis but it looks like a ācant find boot deviceā to me.
It appears the 3Gb version is a new āversion 2ā of R76S and apparently needs different boot packages.
try to apply this patchset to u-boot and see if it helps:
Thanks for the prompt reply, sadly this patchset did not change symptoms and the unit still wont boot.
Red sys light remains on and nil video.