NanoPi R5C - Rockchip RK3568B2 - 2 PCIe 2.5Gbps

Yeah as far as I know video out isn’t supported. I’ve seen it mentioned on here before.

I’ll probably get an image together after work today and give the snapshot a try and report back.

FWIW: I am currently running the AO build (https://github.com/anaelorlinski/OpenWrt-NanoPi-R5S-Builds) which supports HDMI out just fine. Can't remember which kmods had to be included for that, or if it required building a kernel with appropriate options.

Snapshot installed and so far seems to be working fine. I run pretty barebones with just irqbalance, luci, and attended-sysupgrade and didn't run into any errors.

Quick wired Speedtest got me: 926Mb download and 20Mb upload on an 800/20 connection.

I was going to build an image but firmware selector gave me an unsupported profile error so I'm guessing it'll take a bit to get caught up.

1 Like

Did you have to do anything specific to get WIFI going?
On my R5C lspci only shows

0000:00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor (rev 01)
0001:10:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor (rev 01)
0001:11:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
0002:20:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor (rev 01)
0002:21:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)

kmod-rtw88 is installed along with rtl8822ce firmware.

everything in the Snapshot is preinstalled to get work rtl8822ce.
But i had to switch the channel from auto to 1 on 2,4ghz and after that reboot the device.
also when you power off the device and again power on, after that you need always once to reboot the device to enable Wifi.

so my settings: Mode:N, Band: 2,4 Ghz, Channel: 1 (2412 Mhz), Width: 20 MHz

keep enabled wifi and reboot in luci. after that Led should be green like on my device.

5GHZ works aswell. just don't let anything on auto i guess and don't forget to reboot if you power on the first time.

1 Like

How would you verify that the wifi device is available?
Installed the squashfs image from yesterday, luci network -> interfaces -> devices will not let me add the wifi device. lspci is equally silent about 8822ce devices.

As you mention, the image comes preinstalled with the drivers:
Package kmod-rtw88-8822ce (6.1.64+6.5-1) installed in root is up to date.
Package rtl8822ce-firmware (20230804-1) installed in root is up to date.

All i need to do after a fresh upgrade is:

go to 1. Network -> Wireless -> Enable
2. System -> reboot -> perform reboot

after that it also appears in luci network -> interfaces -> devices as phy0-ap0 . i don't need to add the wifi device. it shows automatic.

i bought in march 23 my 4gb R5C without wifi module and antennas, because the wifi version was not available as 4gb. i bought seperate my rtl8822ce wifi modul with antennas. and i'm using the raspberry pi usb c 5.1v adapter.

BTW does anyone know how to expand the storage in the eMMC drive to have at least 300mb space like in ImmortalWRT ?

don't buy realtek craps, better choice is mt7921/mt7922

I'm new here and I don't understand the release cycle. When will the openwrt stable release have support for the R5C?

snapshots, right now (support merged 3 weeks ago).
The next major release, as in 24.xy.0 to be released (hopefully-) sometime in mid- to end 2024 will support it as well; the current 23.05.x stable release series will not.

Is anyone else getting 100M on the WAN port instead of 1GbE?

[  151.811773] RTL8226B_RTL8221B 2.5Gbps PHY r8169-2-100:00: Downshift occurred from negotiated speed 1Gbps to actual speed 100Mbps, check cabling!
[  151.813068] r8169 0002:01:00.0 eth1: Link is Up - 100Mbps/Full (downshifted) - flow control off
[  151.813981] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready

I have tried with 2 different devices and 2 different cables. Either my nanopi r5c has a bad wan port or there is a software issue.

Mine has been steady at 2.5G in the UI. I haven’t checked in dmesg or ethtool to confirm it though.

There have been issues with the r8169 drivers earlier this year (posted in this thread a while back too) and I’m not sure how stable those are. You could try installing the r8125 drivers and removing the 8169 and see if it’s improved.

Can OpenWrt be flashed on the onboard emmc or do you need to use a microsd card?

You can flash it to eMMC. FrendlyElec has a few ways to do it on their wiki: https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R5C#Install_OS_to_eMMC

I used an SD Card with FriendlyWRT on it and use the web page to flash the image to eMMC.

You might also be able to boot to the FriendlyWrt preinstalled on the eMMC and just flash the OpenWrt image there like a normal sysupgrade. Just don't keep settings.

Thanks, I can confirm flashing it from the FriendlyWrt UI works

1 Like

My first experience with OpenWrt. Using this device as non-wifi router because of the 2.5g ports:

Flashed a snapshot from FriendlyWrt UI without any issues. Enabled software offloading and packet steering to speed up the connection and getting full 2.5g from PC to the device (iperf) and 2g from the device to ISP (speedtest-netperf) on a 10g connection. Overall speed test is showing 2g as well.

Without software offloading speed was around 1.1g. No SQM installed/enabled.

So far it has been stable and I haven't noticed any issues with ping. If anyone has a recommendation for increasing the throughout to full 2.3g the device should be capable of, I am all ears, but I am pleasantly surprised by the lack of major problems

Yeah it's a pretty nice device and easy to recover from a bad flash too.

I ran some speed tests on my 1000/1000 service and didn't see any differences enabling software offloading, hardware offloading or packet steering. Are you seeing much lower CPU utilization with them enabled?

Yeah, I do. I specifically started looking into it because I was only getting 1.1g with high utilization on one of the cores while the others were near 0. Software offloading boosted it up to 1.5g and packet steering to 1.9g from there. It is still getting higher utilization one of the cores but now it is more like 80/20/20/20 vs 100/0/0/0 it was before. I think it is safe to say that it will handle 1000/1000 without any of those features but I don't think there is much downside to packet steering enabled at least.

Only issue I noticed is that irqbalance doesn't seem to effect anything despite being enabled in Luci and there is some imbalance in the interrupts I can see but I am not knowledgeable enough to fix it yet

I did some testing while trying to get the best SQM performance, you can check out the thread here Need help load balancing SQM on NanoPi R5c

It's not exactly relevant to what you're trying to achieve but it gives you some idea on how to manually balance load on different cores

A lot of the info I found was from others trying to get better performance out of the R4S which has a heterogeneous core layout so they were trying to pin the SQM queues on the faster cores. This wiki has some good information on load balancing in general https://openwrt.org/docs/guide-user/advanced/load_balancing_-_tuning_smp_irq

I just did some more testing and I think the interrupts for each network interface is single threaded so I doubt you'll be able to get more performance than what you're seeing unfortunately. With SQM it was at least possible to keep the network queues on the underutilized cores.

1 Like

Did you try installing and enabling irqbalance?