NanoPi R4S rk3399 R6S RK3588S 4G is a great new OpenWrt device

anaelorlinski's build is what i am using. while it is built off snapshot its a recent build and works well. I've added AdGuardHome to do my filtering.

You already bought/ have the r4s, so there's no reason not to give it a ride. You can still always revert to your old router, if you don't like it.

There's no need to be afraid of snapshots, especially on an unbrickable device like the r4s, where you may just waste 15 minutes of your time with a (unlikely) botched upgrade but can't damage the hardware. Just as advice, get yourself a second sdhc card for a fiver (cheap/ low-end will do, doesn't need to be huge) and swap them for upgrading, that way your older/ working snapshot can simply be put back in if you hit any issues.

Disclaimer: I don't own the r4s myself, it's a tempting device - but the current prices and shipping delays are a bit beyond what I'd be willing to pay.

1 Like

I bought mine back in march and it was bit more costly than i wanted but combined with a ubiquiti wifi point? it completely replaced my BT Hub5 (cos its wifi was crap at going throu concrete walls). The R4S barely blips its cpu vs the 2core hub which would lag on updating AGH.

The biggest issue is where to get one. For the 4 GB RAM - Combo with Metal Case :

America - - $82.00
China - - £88

If you use one of the other listed Git builds you can use the 1gb version too. Hopefully we'll get the updated uboot code and both 1gb and 4gb versions will be usable with OpenWrt directly.

1 Like

If anyone in the US is interested in an R4S/R2C maybe we could put a group buy together? China Post (sloooow) is the only shipping option FriendlyArm offers for small orders but if 5 folks would commit to taking at least one unit we could have them shipped DHL which would arrive much sooner and still be considerably cheaper than Amazon pricing.

1 Like

I would be interested!

interesting and potentially cheaper addition but it seems its not supported yet as it is not properly upstreamed.

(edit - OpenWrt support for NanoPi R2C )

I've had major problems with the rtl8152 USB>LAN chips in the R2S. You can see some other reports here: among other places if you google.

The R2C looks like it has an rtl8153 so could be better, but I believe they use the same module. I've had multiple bad experiences with similar Realtek USB chips on Linux (these chips seem to work fine on Windows but will occasionally disconnect under load in Linux) so I personally do not trust them. I'd much rather have the PCI>LAN chip (like the R4S) instead, which have never given me a problem.

The R2S works fine as a router on a stick but the #2 LAN port is wonky for sure so I wouldn't use it in the middle of anything.

My latest builds fix the 1Gb version. I adapted armbian patches over uboot.


I've got my R4S up and running on a snapshot and it's working quite well so far.

I'm trying to figure out the best way to make an image of the install on my SD card so I can have a backup. I have a USB to Micro SD card adapter which is what I used on my Windows PC along with Rufus to install the snapshot onto the card. But now that I have everything pretty well configured I would like to make a backup so I could just swap in another SD card and be back up and running.

My first thought was to just use that same adapter and some Windows utility to make an ISO of the SD card from the NanoPi. But, so far I haven't found a Windows utility that will recognize the card to make a image of it. The drive is visible in Windows Disk Manager.

My other thought was to just plug the USB to SD card adapter right into the NanoPi and then maybe I could just use DD or something right on the device to back it up. But, so far I haven't been able to see the drive on the NanoPi as well. I installed kmod-usb-storage, but the drive is not visible when using fdisk -l or block info.

If you have a good process for backing up your SD card would you please share it?


You always could search for a windows program to do it (e.g. or ) but for me the fastest way is start up a Linux Live (either via a USB Stick boot or a VirtualBox) and use DD to clone the card.

1 Like

You can run clonezilla (or dd in a live distro) in a VM and pass through your source and target devices on any host. If you don't have multiple SD card readers then clonezilla will allow you to image your source, save it locally, and then write it to the target in sequential steps.

1 Like

@faser, I did search and try a lot of them. The one you linked would not recognize the SD card. Sound like clonezilla or dd is the ticket. Thanks @anon_openwrt and @faser.

I compiled a build today from master that includes the SD card reboot fix, 2.2/1.8ghz overclock, and the following packages:

  • curl
  • nano
  • block-mount
  • shadow-utils
  • dnscrypt-proxy2
  • luci-app-adblock
  • luci-app-banip
  • luci-app-ddns
  • luci-app-dockerman
  • luci-app-minidlna
  • luci-app-sqm
  • luci-app-wireguard
  • docker-compose
  • dockerd with ext4 support
  • uxc
  • kmod-fs-ext4
  • kmod-fs-ksmbd
  • 512MB root
  • version string r18468-4a2cca7824

(4GB model only) squashfs:

(4GB model only) ext4:

My R4S is arriving today and I am planning on running this build as my main router + media/file server and trying to run a zoneminder security camera system as a docker container. Might as well put all that ram to good use.


What about 1gb version (is it compatible with your build)?
What is different in your build compared to anaelorlinski?

1 Like

I don't have a 1GB model to test it on, but I compiled from openwrt master which looks like it probably wouldn't work on the 1GB according to recent posts in this thread.

I'm having an issue with the time on my R4S.

After the R4S experiences a power loss and then boots back up the clock is defaulting to 2013. Since OpenWrt believes it's 2013 it won't connect to anything since all the certificates it encounters appear to not be valid yet. Then I have to login to luci and sync the time to the browser to restore connectivity which is obviously sub-optimal.

It has an RTC chip and pins for a battery, but I haven't found a way to fit a battery in the case. Is there any workaround for this in software possibly?

ntpd should sync when it gets a network connection.

anaelorlinski 's builds certainly do which is what i'm using.

in theory its in openwrt... or at least in staging tree. Maybe worth bumping to ask what happened to it.

NTP wasn't running and/or installed. I made the assumption NTP was working since the option was present in Luci and I had enabled it. I'll be more diligent in my troubleshooting next time. I'll probably switch to chrony when I have some time.

Last I read was R4S should be merged next release whenever that might be. It probably wouldn't hurt to ask though.

Thank you

1 Like

if you want some acutal logging btw. make /etc/hotplug.d/ntp/20-ntpd-logger and put the following in it.

[ $ACTION = "step" ]    && logger -t ntpd Time set, stratum=$stratum interval=$poll_interval offset=$offset
[ $ACTION = "stratum" ] && logger -t ntpd Stratum change, stratum=$stratum interval=$poll_interval offset=$offset

Then you get nice little messages like this in your logs.

Wed Jan  5 18:18:54 2022 user.notice ntpd: Stratum change, stratum=2 interval=2048 offset=0.007304
Wed Jan  5 18:18:54 2022 user.notice ntpd: Stratum change, stratum=3 interval=2048 offset=0.009748

Added it to for reference too.