NanoPi R4S-RK3399 is a great new OpenWrt device

@anaelorlinski Does your build version support Rockchips video hardware acceleration by any chance?

Nope, display support is disabled in my R2S / R4S builds.

1 Like

I'm having issues with my R4S and a USB Ethernet adapter (TP-Link UE300). If the router boots up with the device plugged in, it doesn't work initially, needs to be replugged and then it's all fine. Did anyone face similar issue, any suggestions how could this be solved or a workaround for a soft usb reset? I tried usbreset and unlinking/linking the usb device but without success.

I hope you get an answer that is more specific but I'll mention the following.

I think I recall that the dynamic usb networking setup is initiated as a hotplug event and that you can add or adjust the settings to get specific network settings. Also a delayed startup script can trigger a hotplug event so that the services that are depended on are running before activating the usb adapter. Some ideas to stimulate some searches in the forum and doc wiki.

Good luck.

1 Like

Thanks for the tip. In the end the solution was much simpler, I got the idea from another forum. The issue was caused by a weak power supply. SInce I changed it to a beefier one, the USB Ethernet stick works fine after every reboot.


hi guys,

I am trying to make my modem connected to the WAN port of the R4S work. my ISP requires VLAN 7 to be tagged on the WAN port, so I did just that:

config interface 'wan'
  option proto 'pppoe'
  option ipv6 'auto'
  option pppd_options 'debug'
  option username 'myusername'
  option password 'mypassword'
  option device 'eth0.7'

However, I cannot seem to make it work:

Sun Jul 23 11:38:24 2023 daemon.warn pppd[5844]: Timeout waiting for PADO packets
Sun Jul 23 11:38:24 2023 daemon.err pppd[5844]: Unable to complete PPPoE Discovery

On my R7800, this just works, although there I had some more switch config regarding the VLAN.
I tried every combination, also switching eth0 & eth1 on the R4S, different OpenWRT versions (builds from anaelorlinski), promiscuous mode, etc. Always the same issue.

I hope someone is able to point out what I am doing wrong? would be greatly appreciated!


option ifname 'wan.7'

instead of "option device". You can read it here

I am pretty sure I tried that & at least 23.05 prompted me to change to another syntax where ifname is replaced by "device".
meanwhile though I just made it work using a managed switch & only the eth1 port of the R4S, where my ISP wan connection is now plugged to a trunk port of the switch so the nanopi can use pppoe for dial-in that way.

unfortunately I do not have much understanding about this kind of networking. do I have any disadvantages when everything including wan is routed over the single port on the R4S, in comparison to using both physical interfaces (one for lan, the other for wan)?

Does you tried option mtu '1492' ?

I have cpu core commands in rc.local and enabled sqm but I have to restart sqm process after rebooting to make it work again, is it beacuse of pppoe ? is there a command I can put to restart it in rc ?

You can choose your wan interface for sqm e.g. "pppoe-wan"

1 Like

When I chose pppoe-wan for sqm I only get DL speed around 300 max, but on eth0 I get 800-900 with same config (selected fq codel simplest and overhead 44) I don't know why is that, but I do need to restrart sqm after pppoe session is establised.

did you test it with a bufferbloat test?

Is the R4S able to boot from USB disk?

Not without sd-card. You can try this: booting directly to usb from micro sd bootstrap

The nanopi r4s board always needs to bootstrap from a micro sd card as it contains no embedded flash like a raspberry pi4. The minimum required binary for the micro sd is a special version of uboot which redirects the boot process to an attached usb emmc (nand flash) drive.

I use it to boot debian, never tried with OpenWrt.

1 Like


Has anyone tested EMMC card adaptor on R4S ?

thx !

I lost 16 hours today trying everything I could think of, or find on the net, to solve exactly the same issue with a R4S and an UE300... to no avail :frowning: I tried "unbind"-ing the driver, hub_ctrl, uhubctl, usbreset - nothing worked. I don't have a better PSU at hand to try (this one claims it can deliver 3A). If anybody has any other suggestions I'd be really happy to learn. Cheers!

LE: Ok, so in my case I really don't think the PSU is the issue, it can supply 5V 3A (tested) and I connected it to the R4S via an USB-C power monitor. During boot the R4S draws up to 3.6W, after which it draws only 2.9W when idling (both were measured with the UE300 connected). This is well within the specs of the PSU.

I'm aware that I'm replying to an 20+ month post but I was hoping you see it and maybe provide a reference to the specs where you found these 2 thresholds listed? Cheers

LE: Never mind, I found a couple of good posts on github explaining the thresholds - see edrose's posts here if you're interested:

Bottom line: on Openwrt 22.03.5, as installed on the R4S, the CPU thresholds are indeed 70, 75 and 95 degrees Celsius (check /sys/class/thermal/thermal_zone0/trip_point_*). GPU thresholds are in thermal_zone1 (75 and 95 degrees Celsius).

1 Like

Looks like you already found it, but the thermal trip points are defined in the linux kernel source in rk3399.dtsi (starting around line 857)

Are there any obvious improvements to look forward to with R4S and the upcoming 23.05 version that's in RC?