NanoPI R2S is a great OpenWrt device

I want to encourage caution with a statement like that. Others will come here, read just that, and then wonder why it’s not shaping their 600mbps connection (arbitrary speed pick) even though that’s <1gbit. For instance, if you look back at some of my prior posts I linked to, you’ll clearly see I was having trouble shaping even my 480/24mbps docsis connection.

I would say this is likely a better device for shaping 400mbps ingress or less, though there might be some gray area between 350-450mbps based on fq_codel vs cake (and other settings therein).

Fair, fixed.

pls add a link to the 2-9 version

Has anyone ever tried this firmware ?

Looks like that is using the friendlyarm code mixed with openwrt-lean and other githubs. Also, seems very recent and it benchmarks 40mbps higher than Jayanta

I'd like to get Jayanta's changes mainlined before using more friendlyarm code I think.

@jayanta525, did you ever get your code mainlined?

1 Like

Hello, @andiohn This thread was created when OpenWrt was initially supported on the board.

The repo is based on friendlywrt kernel, but with mainline OpenWrt. I tried to keep the kernel sources as close to the vendor's kernel to provide maximum compatibility such that users can use this instead of FriendlyWrt which IMO was bloated with unnecessary packages.

As this board is now merged into mainline OpenWrt, the repo is no longer maintained.

1 Like

Awesome! I've been trying to find the images or how to add it. Can you help out at all? I'll type up what I learn and see if I can help out someone like me in the future.

Follow up - switching to a 3A 5V PSU (sold for Raspberry Pi use, had a power button on the cord) and my R2S is happy routing my Gigabit fibre connection.


I assume I can use it with the image builder. There's a lot of old information on the hardware supported table etc. That's mainly why it has been difficult for me.

When i try the snapshot build for R2S i got the single core 100% utilization..
How to fix this? Tried installing irqbalance but no luck
Can you help @jayanta525?!

Thank you.

Most of the common networking tasks are essentially sigle-threaded, that doesn't mean additional cores won't be used, but towards the end of its performance limits, the bulk load (the most stressing tasks) will remain on one core. The good thing about having multiple cores is that even though one of them is tasked to the max, the other cores remain attentive for all the additional things left to do (remaining responsive and snappy) - but you still need a device which can deal with your requirements on a single core.

1 Like

On @jayanta525 build i can get 300mbps+SQM and no single core get full load.
On snapshot, 210mbps+SQM is the max i can get and 100% single core utilization

Where did you find the snapshot build? I've been looking in the releases but I can't seem to find it?

1 Like

Found it:



1 Like

No way to extend th partition of the precompiled image ? I men this one

You can always just modify the partitions with fdisk once you have written it to sdcard.

1 Like

Resizing is easy, but only if you are using the ext4 snapshot.
Just put the sdcard into your desktop/notebook and resize the partitions with a tool like gparted (livecd).
Online resizing is also possible but more complicated.
You have to change partitions size with fdisk/gdisk/sfdisk and resize the filesystem with resize2fs. I did not recommend this way.

1 Like

Actually I'm using an additional partition with ext4 as extroot together with the sqashfs image (compiled by myself). That has the advantage that it is also accesible outside the router if necessary.
For pure data store or docker images I have another 4th partition mounted on /data in order to avoid overlayfs for that.

1 Like