NanoPi R4S-RK3399 is a great new OpenWrt device

Welcome R4S club
R4S OpenWrt official snapshots firmware image

NEWS: NanoPi R76S-RK3576

NanoPi R76S is the successor to R4S
================NanoPi R76S-RK3576_Club==================

====OrangePi R2S RISC-V_Club======================================

====T6_Club The detailed information for NanoPC-T6===============

====RV1103_Club==============================================

12 Likes

This would make an interesting little router.

What performance can we expect from something like this? Gbps NAT?

Any concerns native vs PCIe Gigabit Ethernet?

You'll have to wait for first practical experiences with this device, it's just not possible to estimate this in advance.

In general, assuming the SOC and its PCIe bridge is fast enough, 'any' PCIe card can do 1 GBit/s line speed (I'd be more concerned about the 'native' ethernet card of the SOC).

sad to see that they only make it with gigabit ethernet not 2.5gbps +

Adding support for the R4S to OpenWrt is going to be easy:

1 Like

Thanks for the link. The 1GB RAM model is considerably more expensive than the R2S (US$45 vs US$22). I was guessing it would've been around the $40 mark.
I'm curious about how hot the R4S will run but it looks like another sleek metal case from Friendlyelec.
@mj82 I'll be up for testing in mid-Jan

Nice, i would like to see some SQM and openvpn benchmarks, if you dont mind doing them :slight_smile:

@xiaobo can you try this image in your R4S, I need to know if at least it boot .

Thanks @xiaobo , I have to wait 3 to 4 weeks for the R4S to arrives and do more tests, I added the NanoPi R4S to my sources, maybe you can make some progress .

1 Like

The kernel isn't actually hanged. Serial console output is changed, and hence there is no more output.

mmc bootscript needs some adjustments.

@mj82

In line 3, here: https://github.com/openwrt/openwrt/blob/33c27ccf4aef677d28246d30e815050ead68b434/target/linux/rockchip/image/mmc.bootscript#L3

change: console=ttyS2,1500000 console=tty1 earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=${uuid} rw rootwait

to: console=ttyS2,1500000 earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=${uuid} rw rootwait

tty1 is the console at display output. Changing it to only ttyS2 should be fine.

1 Like

@xiaobo I updated the R4S dts adding the r8169 aliases for eth1, maybe is detected now.

@jayanta525 thanks for your suggestion, I added a boot script for the R4S

I don't think using r8169 driver on NanoPi R4S is a good idea, as you may know it performs really bad.

So I suggest using vendor driver from Realtek and it works well (at least for current):

The correct mainline driver for this hardware is indeed r8169, if that has problems with this specific hardware revision, those need to be fixed - the vendor module has no future in mainline nor OpenWrt. There is no systemic reason why the mainline r8169 module wouldn't work, I'm successfully using it with very good performance results on several different (r8168 based-) devices (x86_64).

See the following link:


However, it fails to boot on 1G RAM (DDR3 800 MHz) version, could you take a look?

Hey guys. I use a 4GB device and it works fine. The LED is not working properly.
Original DTS:

&leds {
	led@2 {
		gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
		label = "lan_led";
	};

	led@3 {
		gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
		label = "wan_led";
	};
};

&leds_gpio {
	rockchip,pins =
		<0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>,
		<1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>,
		<1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
};

But......... patch error - -

How do you add support? I don’t know how to add it into Linux menuconfig so I can compile for it.

Download and apply the patch from my repo:

wget https://patch-diff.githubusercontent.com/raw/mj22226/openwrt/pull/2.patch
git am 2.patch
1 Like

I'm getting some error's. Are you positive that your patch works?

error: patch failed: package/boot/uboot-rockchip/Makefile:38
error: package/boot/uboot-rockchip/Makefile: patch does not apply
Patch failed at 0001 uboot-rockchip: add support for NanoPi R4S
hint: Use 'git am --show-current-patch' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".