NanoPI R2S is a great OpenWrt device

any fix for cpu utilization above 240mbp/s + SQM
I want to do a light build without those chinese bloatware..

Tiago, did you tray enabling Packet Steering and/or flow offloading?

1 Like

i cant find flow offloading in snapshot build. Packet Steering didnt improve..
will try again

just curious... i found something on top of the thread regarding VLAN... but can i do the same thing with PPPOE VLAN Tagging? Will it ever officially support VLAN / setting page?

Hi guys. Sorry if my question is dumb or inappropriate for this forum. I just got the nanopi r2s and I want to install openwrt. I don't intend to use it for anything fancy (at least for now) this would be my first openwrt experience so I just want to keep things simple. My purpose for the device is as a home router. The ISP plan is a 20Mb/s. I also intern to have an openvpn server on the device for when I want to dial home.

What is the most stable image I can download and use.. Or do I just stick to the friendlyelec image?

Friendly Elec is full of bloatware, the snapshot version would be a better starting point if you want to keep things simple,and however you must add luci via ssh.

Thanks. I understand the snap short is in continuous development. Is there a stable branch I can download and use. Or can I just get the latest snapshot release. I also read somewhere that the support for nanopi r2s is not in mainline openwrt. Is there a link where I can download this?

My understanding is that R2S is not yet mainstream, but should be in next major release. Meanwhile the snapshot is most stable for the time being.

Thanks to :

he worked very hard to bring R2S into snapshot development branch.

Maybe I am mistaken, but that's my understanding.

Hello @Bobcat Thanks for the credit, this thread was created when this board initially supported OpenWrt. I tried to keep the sources as close as possible with the sources from vendor FriendlyARM to maintain maximum compatibility and performance.

In the current situation, the board is in mainline OpenWrt, and development snapshots are built daily by build-bots. The commit was authored and commit by David Bauer This repository was no relation to the commit added by him at OpenWrt. Since this board is already available in upstream, this repository is no longer maintained.

The next major OpenWrt release 20.x will fully support this board.


I have been running snapshots for a month now and it runs with anyone issues so far except for upgrade. For some reason during upgrade, it loses the config even after explicitly selecting the option keep settings during upgrade. Also tried using sysupgrade CLI and it made no difference.

Trying to get serial console access with the FriendlyELEC USB To TTL CH340T cable which I bought with the device to see what is going on but haven't had much luck. Nothing gets printed if I map TX/RX to correct pins on the board (next to fan PIN) but gibberish characters if I cross them on one end.

Tried it with 115200 baud rate with 8 bits, no parity & data stop bit of 1. Tried minicom, picocom & screen. Same results with all of them. Also tried with 9600 baud rate as well.

Is there anything special I need to do to get serial console access?

Like most Rockchip SOC based devices the R2S runs the serial at 1500000 baud. So you are not running your serial link fast enough!

As @RaylynnKnight correctly pointed out, the speed is an non-typical 1.5Mbps. Some USB to Serial adapters won’t go that high, though yours likely will.

What is your computer’s OS? I ask because MacOS doesn’t allow speeds greater than 230400 bits/s. It’s a limitation within IOKit (which affects screen and stty) even if the physical adapter supports it. Linux and Windows should be fine at 1.5Mbps. There is a workaround for MacOS if needed.

@RaylynnKnight @_FailSafe Thank you both. Baud rate did the trick.

I was initially trying it with MacOS 10.15 but switched to Linux for this. Can you share the workaround please?

I have been trying to reproduce the issue but look like luci on today's snapshot is broken so couldn't test further. Seeing the following with default settings and luci meta package installed.

/usr/lib/lua/luci/dispatcher.lua:427: /etc/config/luci seems to be corrupt, unable to find section 'main'

The main section does exist in the config. Will try again tomorrow when the new snapshot comes through.

Also, during CLI sysupgrade saw these errors. Not sure if this is something to be concerned about.

zcat: write error: Broken pipe
zcat: write: Broken pipe
Full Upgrade log

root@OpenWrt:/tmp# sysupgrade /tmp/openwrt-rockchip-armv8-friendlyarm_nanopi-r2s-ext4-sysupgrade.img.gz
Reading partition table from bootdisk...
zcat: write error: Broken pipe
zcat: write: Broken pipe
Reading partition table from image...
Saving config files...
Commencing upgrade. Closing all shell sessions.
killall: telnetd: no process killed
Sending TERM to remaining processes ... ntpd ubusd urngd logd netifd odhcpd dnsmasq
Sending KILL to remaining processes ...
Switching to ramdisk...
[ 251.952436] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Performing system upgrade...
Reading partition table from bootdisk...
0+1 records in
0+1 records out
zcat: write error: Broken pipe
zcat: write: Broken pipe
Reading partition table from image...
Writing image to /dev/mmcblk0p1...
zcat: write error: Broken pipe
zcat: write: Broken pipe
32768+0 records in
16+0 records out
Writing image to /dev/mmcblk0p2...
212992+0 records in
104+0 records out
Writing new UUID to /dev/mmcblk0...
4+0 records in
4+0 records out
zcat: write: Broken pipe
[ 269.267237] EXT4-fs (mmcblk0p1): mounted filesystem without journal. Opts: (null)
Upgrade completed
Rebooting system...
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp: Resource busy
[ 270.330517] reboot: Restarting system

Does it matter if I use the ext4 instead of squashfs image?

thats been pretty normal on master for a while... no ill effects...

I noticed the same error when using todays snapshot on a Raspberry Pi 4.

/usr/lib/lua/luci/dispatcher.lua:427: /etc/config/luci seems to be corrupt, unable to find section 'main'

I built one with the 18th snapshot and it all worked fine.

Just downloaded snapshot now :

/usr/lib/lua/luci/dispatcher.lua:427: /etc/config/luci seems to be corrupt, unable to find section 'main'

Happened after :
opkg update && opkg install luci
I tried to access via http://....
Any clue how to fix ?

Looks like luci issue is fixed. Works for me on today's build

Hi Guys

Recently bought this board and I did setup jayanta525's build (2.01v)...Everything seems to work fine however I can't even reach the speeds with CAKE SQM you guys mentioned (my net is around 500mbit). As soon as I select cake(layer or piece) it stops around 300mbps with 100 cpu % usage on 1 core. As I read the posts above I should be able to achieve at least 400mbps (FQ_Codel works fine I'm hitting max bandwith). Am I missing some patch or smth?

Hello, I would like to install OpenWRT on NanoPI R2S (I am currently using FriendlyWRT), but I am not sure how to do it. Can I write one of the file from on SDCard (the same procedure as for FriendlyWRT)? Which file should I write on SDCard? Or is there some other procedure?

Thank you for replies!

Yes. If you want to resize the image afterwards you should use the ext4 image.
Just write the image to SDCard (i.e. with dd on linux). Same way as with the FriendlyWRT image.
When done resize it with gparted to your needs. Thats all.
After booting the new system install all packages/modules from the same snapshot revision you will need in future. Modules from other snapshots revision my not work...