不久前,友善电子(FriendlyElec)推出了由瑞芯微RK3568处理器驱动的NanoPi R5S迷你路由器,他们也给我寄来了两个样品。此次评测的第一部分,我会先详细查看产品情况、内部设计,以及预装的OpenWrt。然后,使用iperf3运行一些网络基准测试。
NanoPi R5S开箱
开箱后我发现路由器已经都组装好了,他们还附赠了6个橡胶脚垫和一段3M胶带,通过下文大家就会知道,其实这并不是很需要。
NanoPi R5S一侧有一个microSD卡插槽,后面板则带有一个用于供电的 USB-C端口、一个WiFi天线孔(这个天线孔也可以插GPIO、UART console等线缆),两个2.5GbE RJ45 LAN端口、一个千兆以太网WAN端口和HDMI视频输出。
在NanoPi R5S的另一侧我们会找到一个用于固件升级的掩码按钮,前面板上则有四个用于“系统”和以太网端口的LED灯,以及两个USB 3.0端口。
NanoPi R5S拆解
一般想要拆开的原因主要有以下几个::出于好奇、要安装M.2 NVMe SSD、要焊接SPI闪存、需要连接一些GPIO、RTC电池或者要将UART到TTL调试板。想要拆开很简单,松开四个需要松开的螺钉,就可以轻松拆开。
拆开之后可以看到带有M.2 Key M插槽的电路板底部、SPI闪存占用空间(右侧),以及三星KLM8G1GETF-B041 eMMC 5.1闪存8GB的主板。
要从外壳中取出电路板之前,还需要再拧松四个螺钉。
Rayson RS512M32LM4 D2BDS是一个2GB LPDDR4X内存芯片,我在其板子上找到了该产品宣传时提到的RTL8211F(GbE)和2x RTL8125BG(2.5GbE)以太网芯片,以及一个RK809 PMIC。我还在左侧找到了16针SDIO/I2C连接器和2针RTC电池连接器、在右上角找到了4针SWD和3针UART接头(注意,这些都是还未安装的)、在右下角找到GPIO连接器和风扇头。
带有瑞芯微RK3568处理器的NanoPi R5S带有一个与金属外壳直接接触的散热垫,它可以帮助实现最佳冷却效果。
使用2.5GbE USB加密狗和UP Xtreme i11迷你PC进行测试设置
大家可能还记得不久前我在使用RTL8156B USB加密狗时遇到过一些性能问题,但现在这个问题已解决了。因为瑞昱科技( Realtek)给我寄了另一个RTL8156BG,我之前在笔记本电脑上使用iperf3通过TP-Link 2.5GbE交换机从UP Xtreme i11迷你PC传输数据、并进行全双工测试时,它的测试结果是2.34Gbps/2.29Gbps。
我现在也用了相同的设置来进行测试,只不过这次中间的东西换成了NanoPi R5S。
TP-Link交换机在这里的作用只是用来当作千兆以太网交换机,通过小米AX6000路由器将NanoPi R5S路由器的WAN端口连接到互联网,这样可以避免我必须要在设备上安装一些软件包。虽然将NanoPi R5S放在TP-Link开关的顶部能拍出更好的照片,但这两种设备都很热,我不建议这样做。因为我的以太网电缆很短,我就只好把路由器移到桌子上进行测试。
OpenWrt和iperf3基准测试
FriendlyWrt 是已经预装在路由器上的,因此开箱就能使用。也可以使用“root”作为用户和“password”作为密码立即访问LuCI界面或SSH。这确实是很方便,不过不太安全,而且在某些国家可能违反法律。不管怎么说吧,至少第一次使用时最好改一下密码。
FriendlyWrt是基于OpenWrt 22.03.0-rc1和Linux 5.10.66的内核。它在空闲且使用默认设置时使用的RAM不到250MB,由于系统配备的是2GB RAM,因此这些RAM足够使用了。
我还没有连接SSD,所以只挂载了root分区,可用内存有6.7 GB,root分区用了920 KB。所有接口在启动时通过DHCP都能正确地获取到IP地址,局域网上的设备也可以通过<hostname>.lan访问,并获得一些IPv6地址。
从iperf3基准测试开始,我先在NanoPi R5S上运行“iperf3 -s”并在笔记本电脑上运行以下命令:
- 下载:(在NanoPiR5S上查看Rx测试的结果)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
iperf3 -t 60 -c 192.168.2.1 -i 10 Connecting to host 192.168.2.1, port 5201 [ 5] local 192.168.2.130 port 48782 connected to 192.168.2.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 2.23 GBytes 1.92 Gbits/sec 0 1.69 MBytes [ 5] 10.00-20.00 sec 2.02 GBytes 1.74 Gbits/sec 0 1.69 MBytes [ 5] 20.00-30.00 sec 2.33 GBytes 2.00 Gbits/sec 0 2.64 MBytes [ 5] 30.00-40.00 sec 1.66 GBytes 1.42 Gbits/sec 0 2.64 MBytes [ 5] 40.00-50.00 sec 2.62 GBytes 2.25 Gbits/sec 0 2.64 MBytes [ 5] 50.00-60.00 sec 2.01 GBytes 1.73 Gbits/sec 0 2.64 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 12.9 GBytes 1.84 Gbits/sec 0 sender [ 5] 0.00-60.05 sec 12.9 GBytes 1.84 Gbits/sec receiver iperf Done. |
- 上传(在NanoPiR5S上查看Tx测试的结果):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$ iperf3 -t 60 -c 192.168.2.1 -i 10 -R Connecting to host 192.168.2.1, port 5201 Reverse mode, remote host 192.168.2.1 is sending [ 5] local 192.168.2.130 port 48786 connected to 192.168.2.1 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 1.29 GBytes 1.11 Gbits/sec [ 5] 10.00-20.00 sec 1.31 GBytes 1.12 Gbits/sec [ 5] 20.00-30.00 sec 1.33 GBytes 1.14 Gbits/sec [ 5] 30.00-40.00 sec 1.27 GBytes 1.09 Gbits/sec [ 5] 40.00-50.00 sec 1.30 GBytes 1.12 Gbits/sec [ 5] 50.00-60.00 sec 1.30 GBytes 1.12 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.06 sec 7.80 GBytes 1.12 Gbits/sec 0 sender [ 5] 0.00-60.00 sec 7.80 GBytes 1.12 Gbits/sec receiver iperf Done. |
由上可知这并不完全是FriendlyElec宣传时的2.35 Gbps和1.85 Mbps,因为在此配置中我看到的是1.84 Gbps和1.12 Gbps。在查看10秒传输测试报告时,Rx方面也有一些变化。不过好在没有发现重传问题。
现在我们对NanoPi R5S上的另一个WAN端口进行相同的尝试,并从UP Xtreme i11运行命令:
- 下载(Rx):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
devkit@UPX-i11:~$ iperf3 -t 60 -c 192.168.2.1 -i 10 Connecting to host 192.168.2.1, port 5201 [ 5] local 192.168.2.207 port 52052 connected to 192.168.2.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 2.59 GBytes 2.22 Gbits/sec 0 1.67 MBytes [ 5] 10.00-20.00 sec 2.62 GBytes 2.25 Gbits/sec 0 1.93 MBytes [ 5] 20.00-30.00 sec 2.60 GBytes 2.24 Gbits/sec 0 1.93 MBytes [ 5] 30.00-40.00 sec 2.47 GBytes 2.12 Gbits/sec 0 1.93 MBytes [ 5] 40.00-50.00 sec 2.43 GBytes 2.08 Gbits/sec 0 1.93 MBytes [ 5] 50.00-60.00 sec 2.45 GBytes 2.10 Gbits/sec 0 4.90 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 15.2 GBytes 2.17 Gbits/sec 0 sender [ 5] 0.00-60.00 sec 15.1 GBytes 2.17 Gbits/sec receiver iperf Done. |
- 上传(Tx);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
devkit@UPX-i11:~$ iperf3 -t 60 -c 192.168.2.1 -i 10 -R Connecting to host 192.168.2.1, port 5201 Reverse mode, remote host 192.168.2.1 is sending [ 5] local 192.168.2.207 port 52056 connected to 192.168.2.1 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 1.31 GBytes 1.13 Gbits/sec [ 5] 10.00-20.00 sec 1.29 GBytes 1.11 Gbits/sec [ 5] 20.00-30.00 sec 1.32 GBytes 1.14 Gbits/sec [ 5] 30.00-40.00 sec 1.30 GBytes 1.11 Gbits/sec [ 5] 40.00-50.00 sec 1.33 GBytes 1.14 Gbits/sec [ 5] 50.00-60.00 sec 1.27 GBytes 1.09 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 7.82 GBytes 1.12 Gbits/sec 0 sender [ 5] 0.00-60.00 sec 7.82 GBytes 1.12 Gbits/sec receiver iperf Done. |
下载(Rx)时,在2.17 Gbps运行似乎要更好一些;但上传(Tx)时,在1.12 Gbps仍然运行得很慢。
我们一起来看看同时使用两个WAN端口时速度怎样?一个是在UP Xtreme i11上运行“iperf3 -s”,另一个端口则是在笔记本上运行如下命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
jaufranc@cnx-laptop-4:~$ iperf3 -t 60 -c 192.168.2.207 -i 10 Connecting to host 192.168.2.207, port 5201 [ 5] local 192.168.2.130 port 49762 connected to 192.168.2.207 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 1.39 GBytes 1.19 Gbits/sec 0 3.15 MBytes [ 5] 10.00-20.00 sec 1.42 GBytes 1.22 Gbits/sec 0 3.15 MBytes [ 5] 20.00-30.00 sec 1.44 GBytes 1.24 Gbits/sec 0 3.15 MBytes [ 5] 30.00-40.00 sec 1.42 GBytes 1.22 Gbits/sec 0 3.15 MBytes [ 5] 40.00-50.00 sec 1.42 GBytes 1.22 Gbits/sec 0 3.15 MBytes [ 5] 50.00-60.00 sec 1.39 GBytes 1.19 Gbits/sec 0 3.15 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 8.49 GBytes 1.21 Gbits/sec 0 sender [ 5] 0.00-60.05 sec 8.48 GBytes 1.21 Gbits/sec receiver iperf Done. |
这个数据应该是在预期范围之内的,因为我们之前获得上传(Tx)数据都比较较低;在1.21 Gbps时,它仍然比我们只使用上传(Tx)时的1.12 Gbps高了一点。
我们反过来再试一次:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$ iperf3 -t 60 -c 192.168.2.207 -i 10 -R Connecting to host 192.168.2.207, port 5201 Reverse mode, remote host 192.168.2.207 is sending [ 5] local 192.168.2.130 port 49766 connected to 192.168.2.207 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 2.04 GBytes 1.75 Gbits/sec [ 5] 10.00-20.00 sec 2.04 GBytes 1.75 Gbits/sec [ 5] 20.00-30.00 sec 2.04 GBytes 1.75 Gbits/sec [ 5] 30.00-40.00 sec 2.05 GBytes 1.76 Gbits/sec [ 5] 40.00-50.00 sec 2.05 GBytes 1.76 Gbits/sec [ 5] 50.00-60.00 sec 2.05 GBytes 1.76 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.05 sec 12.3 GBytes 1.75 Gbits/sec 0 sender [ 5] 0.00-60.00 sec 12.3 GBytes 1.76 Gbits/sec receiver iperf Done. |
这次是1.75 Gbps,我不知道发生了什么,也不知道这是如何发生的。
接着我使用了全双工,再次进行了600秒的测试,并检查了LuCI中报告的CPU、内存和温度。
由上可看到其CPU负载介于2.0和2.5之间。
CPU #0的利用率相对较低,CPU #1到#3占据了大部分资源。
在环境温度为28°C的房间中,其温度从未超过60°C。
不知道什么原因,1.8GB的可用内存使用量几乎没有改变。全双工测试期间的性能是:1.66 Gbps和736 Mbps。
这个结果有点令人失望,我现在打算切换到FriendlyCore (Ubuntu Core),来检查一下会不会得到类似的结果,然后执行进一步的测试。如果你们想让我评测OpenWrt的其他内容,可以在评论区告诉我。
第二部分评测可以阅读“NanoPi R5S评测(二):Ubuntu 20.04 (FriendlyCore) ”。
文章翻译者:Nicholas,技术支持工程师、瑞科慧联(RAK)高级工程师,深耕嵌入式开发技术、物联网行业多年,拥有丰富的行业经验和新颖独到的眼光!