麦斯科技 · 2023年04月09日 · 四川

NanoPi R6C评测-Ubuntu 22.04,NVMe SSD,USB调试

https://www.cnx-software.com/2023/04/02/nanopi-r6c-review-ubuntu-22-04-nvme-ssd-usb-debug/

作者:Jean-Luc Aufranc 2023年4月2日

FriendlyElec最近发布了NanoPi R6C迷你电脑(https://www.cnx-software.com/2023/03/13/85-nanopi-r6c-2-5gbe-router-and-sbc-gets-m-2-nvme-ssd-socket/),这是Rockchip RK3588S驱动的NanoPi R8S迷你电脑和2.5GbE路由器的变体(https://www.cnx-software.com/2022/10/28/nanopi-r6s-rockchip-rk3588s-router-mini-pc-dual-2-5gbe-gbe-hdmi-2-1/),我们在今年早些时候与FriendlyWrt/OpenWrt(https://www.cnx-software.com/2022/11/12/nanopi-r6s-review-unboxing-teardown-openwrt-22-03-iperf3/)和Ubuntu 22.04(https://www.cnx-software.com/2023/02/28/nanopi-r6s-rk3588s-mini-pc-router-review-part-2-ubuntu-22-04/)一起评测了它,但它只有一个2.5GbE和一个GbE接口,一个内置的M.2 NVMe SSD插槽和USB-C调试UART端口,可以方便地从外部访问串行控制台。

该公司给我发了一个NanoPi R6C样本供评测,但由于我们已经广泛测试了类似的NanoPi R8S,这次我将写一篇小评论,检查硬件,并在运行Ubuntu 22.04时重点测试NVMe SSD和USB调试端口等新功能。

NanoPi R6C开箱

和往常一样,该设备装在一个不起眼的纸板包装中,里面有几个3M橡胶垫。

1.PNG

与NanoPi R6S相比,最明显的变化是NanoPi R6C迷你电脑的所有主端口都移到了后面板上。只能从侧面访问microSD卡、重置按钮和MaskROM针孔。

2.PNG

SSD安装和拆卸

我们需要松开设备底部的四个螺钉,取出底盖,露出M.2 2280 NVMe SSD插槽。

3.PNG

NanoPi R6C评测样品还具有32GB FORESSE FEMDNN332G-A3A55 eMMC 5.1闪存(见PDF手册),读取速度高达270MB/s,“Turbo Write”速度高达200MB/s,以及STM32G030F6P6 Arm Cortex-M0+微控制器,显然用作SWD调试器。

4.PNG

我试图从ORICO NVMe SSD机柜安装NVMe SSD,但冷却板使SSD对底盖来说有点太厚,所以我不得不将其卸下,只留下散热片。

5.PNG

在这个阶段,大多数用户只需将底盖放回原位即可完成。但让我们继续往下看,展示散热设计。与之前的NanoPi R系列设计一样,金属外壳被用作RK3588S处理器上的大型散热器和散热垫,以确保其与外壳接触,从而优化散热。

6.PNG

板上的特写镜头通过两个4GB三星K4UBE3D4AA-MGCL LPDDR4x(https://semiconductor.samsung.com/dram/lpddr/lpddr4x/k4ube3d4aa-mgcl/)芯片、通过Realtek RTL8125BG控制器的2.5GbE和通过通常的Realtek RTL8211 PHY的千兆以太网确认了其余规格的8GB RAM。Rockchip RK806-1 PMIC用于电源管理。我们还可以看到添加到NanoPi R6C中的30针插头,但遗憾的是,一旦SBC装入金属外壳,就无法访问它。

7.PNG

当我把所有东西放在一起时,SSD上的散热片与机箱接触(有利于散热),但USB-PD端口和重置按钮似乎因此向上移动了一点。这不是什么大问题,因为我仍然可以连接USB-C电缆供电,我们将看到下面这样。

8.PNG

我还安装了橡胶垫来覆盖螺孔,但这些并没有真正的用处,因为R6C已经在两侧配备了两个长橡胶垫。

9.PNG

NanoPi R6C上的Ubuntu 22.04

NanoPi R6C附带了FriendlyWrt(OpenWrt),但由于我觉得这个特定型号更适合作为一台具有路由器功能的迷你电脑,我从Wiki中闪现了最新的Ubuntu 22.04 Jammy Desktop映像(rk3588-eflaser-Ubuntu-Jammy Desktop 5.10-arm64-20230317.img)。

更新完成后,我还会将USB-C电缆连接到调试端口,看看它是否能按预期工作。

11.PNG

使用BootTerm(https://www.cnx-software.com/2020/12/14/bootterm-a-developer-friendly-serial-terminal-program/)在我的Ubuntu笔记本电脑中检测到串口为CH341设备:

$ bt -l
 port |  age (sec) | device     | driver           | description          
------+------------+------------+------------------+----------------------
 *  0 |        282 | ttyUSB0    | ch341-uart       | USB Serial

我可以使用FriendlyElec映像中使用的默认1500000 bps波特率运行BootTerm命令:

bt -b 1500000

重新启动系统,它可以开箱即用,而无需在板上安装接头或连接器,也无需使用USB到TTL调试板(https://www.cnx-software.com/2022/12/23/serial-console-nanopi-r6s/):

DDR V1.09 a930779e06 typ 22/11/21-17:50:56
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=2048MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=2048MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=2048MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=2048MB
Manufacturer ID:0x1
CH0 RX Vref:31.7%, TX Vref:21.8%,21.8%
CH1 RX Vref:29.7%, TX Vref:20.8%,19.8%
CH2 RX Vref:30.7%, TX Vref:20.8%,19.8%
CH3 RX Vref:32.7%, TX Vref:20.8%,21.8%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out
U-Boot SPL board init
U-Boot SPL 2017.09-g93ceeb4da7-221107 #root (Feb 21 2023 - 11:20:45)
unknown raw ID 0 0 0
unrecognized JEDEC id bytes: 00, 00, 00
Trying to boot from MMC2
MMC: no card present
mmc_init: -123, time 0
spl: mmc init failed with error: -123
Trying to boot from MMC1
Trying fit image at 0x4000 sector
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(ce2098067b...) + OK
## Checking uboot 0x00200000 ... sha256(b682e92d5f...) + OK
## Checking fdt 0x0032ce10 ... sha256(e936f08b25...) + OK
## Checking atf-2 0x000f0000 ... sha256(ebc45c531e...) + OK
## Checking atf-3 0xff100000 ... sha256(9ded9f3bb5...) + OK
## Checking optee 0x08400000 ... sha256(fde0860845...) + OK
Jumping to U-Boot(0x00200000) via ARM Trusted Firmware(0x00040000)
Total: 116.697 ms
 
INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-444-g1450d21e8:derrick.huang
NOTICE:  BL31: Built : 16:25:50, Oct 12 2022
INFO:    spec: 0x13
INFO:    ext 32k is valid
INFO:    ddr: stride-en 4CH
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    valid_cpu_msk=0xff bcore0_rst = 0x0, bcore1_rst = 0x0
INFO:    system boots from cpu-hwid-0
INFO:    idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001
INFO:    dfs DDR fsp_params[0].freq_mhz= 2112MHz
INFO:    dfs DDR fsp_params[1].freq_mhz= 528MHz
INFO:    dfs DDR fsp_params[2].freq_mhz= 1068MHz
INFO:    dfs DDR fsp_params[3].freq_mhz= 1560MHz
INFO:    BL31: Initialising Exception Handling Framework
INFO:    BL31: Initializing runtime services
INFO:    BL31: Initializing BL32
INFO:    hdmirx_handler: dma not on, ret
I/TC: 
I/TC: OP-TEE version: 3.13.0-652-g4542e1efd #derrick.huang (gcc version 10.2.1 20201103 (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16))) #5 2022年 09月 20日 星期二 09:41:09 CST aarch64
I/TC: Primary CPU initializing
I/TC: Primary CPU switching to normal world boot
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x200000
INFO:    SPSR = 0x3c9

如果你感兴趣,可以查看Ubuntu 22.04的第一次启动日志。

11.PNG

我连接了两根以太网电缆,GbE WAN端口连接到以太网交换机,2.5GbE LAN端口连接到笔记本电脑,还有两个用于USB键盘和鼠标的RF加密狗,一根HDMI电缆连接到显示器,以及一个USB-C PD电源。除了未配置的LAN端口外,其他一切都很好。

因此,就像我在测试NanoPi R5S时所做的那样,我为eth1接口和配置的DHCP服务器设置了192.168.2.0子网,然后配置NAT将数据包从LAN路由到WAN,我可以通过NanoPi R6S从笔记本电脑访问互联网:

jaufranc@cnx-laptop-4:~$ ip addr show enx00e04c68003a
8: enx00e04c68003a: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:e0:4c:68:00:3a brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.100/24 brd 192.168.2.255 scope global dynamic noprefixroute enx00e04c68003a
       valid_lft 352sec preferred_lft 352sec
    inet6 fe80::7e72:c555:b80e:fa73/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
 
jaufranc@cnx-laptop-4:~$ ping cnx-software.com
PING cnx-software.com (104.21.91.125) 56(84) bytes of data.
64 bytes from 104.21.91.125 (104.21.91.125): icmp_seq=1 ttl=53 time=11.2 ms
64 bytes from 104.21.91.125 (104.21.91.125): icmp_seq=2 ttl=53 time=11.0 ms
^C
--- cnx-software.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 11.004/11.080/11.157/0.076 ms

稍后我将快速测试网络的性能。

让我们检查一些系统信息:

pi@NanoPi-R6C:~$ sudo  inxi -Fc0
System:
  Host: NanoPi-R6C Kernel: 5.10.110 aarch64 bits: 64 Console: pty pts/1
    Distro: Ubuntu 22.04.2 LTS (Jammy Jellyfish)
Machine:
  Type: ARM System: FriendlyElec NanoPi R6C details: N/A
    serial: a87f2f04f5d344bb
Battery:
  ID-1: test_battery charge: 100% condition: N/A
CPU:
  Info: 3x 4-core model: N/A variant-1: cortex-a55 variant-2: cortex-a76
    bits: 64 type: MCP AMP cache: L2: 3x 512 KiB (1.5 MiB)
  Speed (MHz): avg: 1578 min/max: 408/1800:2256:2304 cores: 1: 1800 2: 1800
    3: 1800 4: 1800 5: 408 6: 408 7: 2304 8: 2304
Graphics:
  Device-1: display-subsystem driver: rockchip_drm v: N/A
  Device-2: mali-bifrost driver: mali v: N/A
  Device-3: rk3588-dw-hdmi driver: dwhdmi_rockchip v: N/A
  Display: server: X.org v: 1.21.1.3 with: Xwayland v: 22.1.1 driver:
    gpu: rockchip_drm,mali,dwhdmi_rockchip note:  X driver n/a tty: 80x24
  Message: GL data unavailable in console for root.
Audio:
  Device-1: rk3588-dw-hdmi driver: dwhdmi_rockchip
  Device-2: simple-audio-card driver: asoc_simple_card
  Sound Server-1: ALSA v: k5.10.110 running: yes
  Sound Server-2: PulseAudio v: 15.99.1 running: yes
  Sound Server-3: PipeWire v: 0.3.48 running: yes
Network:
  Device-1: Realtek RTL8125 2.5GbE driver: r8125
  IF: eth1 state: up speed: 2500 Mbps duplex: full mac: a2:a6:95:fe:09:78
  Device-2: rk3588-gmac driver: rk_gmac_dwmac
  IF: eth0 state: up speed: 1000 Mbps duplex: full mac: a6:a6:95:fe:09:78
Drives:
  Local Storage: total: 267.38 GiB used: 0 KiB (0.0%)
  ID-1: /dev/mmcblk2 model: A3A551 size: 28.91 GiB
  ID-2: /dev/nvme0n1 vendor: Apacer model: AS2280P4 256GB size: 238.47 GiB
Partition:
  Message: No partition data found.
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 66.5 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 270 Uptime: 18m Memory: 7.73 GiB used: 960.5 MiB (12.1%)
  Init: systemd runlevel: 5 Shell: Sudo inxi: 3.3.13

除了只有一个2.5GbE接口,而且我的NVMe驱动器被检测到之外,一切都和NanoPi R6S上的差不多。

SBC台架试验

现在让我们在“审查模式”下运行SBC-bench.sh,以仔细检查CPU性能并发现潜在问题:

pi@NanoPi-R6C:~$ sudo ./sbc-bench.sh -r
Starting to examine hardware/software for review purposes...
 
Average load and/or CPU utilization too high (too much background activity). Waiting...
 
Too busy for benchmarking: 13:57:49 up  2:59,  3 users,  load average: 0.20, 0.18, 0.08,  cpu: 0%
Too busy for benchmarking: 13:57:54 up  2:59,  3 users,  load average: 0.19, 0.17, 0.08,  cpu: 0%
 
sbc-bench v0.9.39
 
Installing needed tools: apt -f -qq -y install lm-sensors sysstat curl lshw stress-ng smartmontools mmc-utils p7zip, tinymembench, ramlat, mhz, cpuminer. Done.
Checking cpufreq OPP. Done.
Executing tinymembench. Done.
Executing RAM latency tester. Done.
Executing OpenSSL benchmark. Done.
Executing 7-zip benchmark. Done.
Throttling test: heating up the device, 5 more minutes to wait. Done.
Checking cpufreq OPP again. Done (20 minutes elapsed).
 
Results validation:
 
  * Advertised vs. measured max CPU clockspeed: -2.4% before, -3.6% after
  * Background activity (%system) OK
  * Throttling occured
 
Full results uploaded to http://ix.io/4s3x
 
# FriendlyElec NanoPi R6C
 
Tested with sbc-bench v0.9.39 on Tue, 28 Mar 2023 14:19:42 +0000. Full info: [http://ix.io/4s3x](http://ix.io/4s3x)
 
### General information:
 
The CPU features 3 clusters consisting of 2 different core types:
 
    Rockchip RK3588/RK3588s (35880000), Kernel: aarch64, Userland: arm64
    
    CPU sysfs topology (clusters, cpufreq members, clockspeeds)
                     cpufreq   min    max
     CPU    cluster  policy   speed  speed   core type
      0        0        0      408    1800   Cortex-A55 / r2p0
      1        0        0      408    1800   Cortex-A55 / r2p0
      2        0        0      408    1800   Cortex-A55 / r2p0
      3        0        0      408    1800   Cortex-A55 / r2p0
      4        1        4      408    2256   Cortex-A76 / r4p0
      5        1        4      408    2256   Cortex-A76 / r4p0
      6        2        6      408    2304   Cortex-A76 / r4p0
      7        2        6      408    2304   Cortex-A76 / r4p0
 
7924 KB available RAM
 
### Governors/policies (performance vs. idle consumption):
 
Original governor settings:
 
    cpufreq-policy0: ondemand / 1416 MHz (conservative ondemand userspace powersave performance schedutil / 408 600 816 1008 1200 1416 1608 1800)
    cpufreq-policy4: ondemand / 408 MHz (conservative ondemand userspace powersave performance schedutil / 408 600 816 1008 1200 1416 1608 1800 2016 2208 2256)
    cpufreq-policy6: ondemand / 408 MHz (conservative ondemand userspace powersave performance schedutil / 408 600 816 1008 1200 1416 1608 1800 2016 2208 2304)
    dmc: dmc_ondemand / 528 MHz (rknpu_ondemand dmc_ondemand userspace powersave performance simple_ondemand / 528 1068 1560 2112)
    fb000000.gpu: simple_ondemand / 300 MHz (rknpu_ondemand dmc_ondemand userspace powersave performance simple_ondemand / 300 400 500 600 700 800 900 1000)
    fdab0000.npu: rknpu_ondemand / 1000 MHz (rknpu_ondemand dmc_ondemand userspace powersave performance simple_ondemand / 300 400 500 600 700 800 900 1000)
 
Tuned governor settings:
 
    cpufreq-policy0: performance / 1800 MHz
    cpufreq-policy4: performance / 2256 MHz
    cpufreq-policy6: performance / 2304 MHz
    dmc: performance / 2112 MHz
    fb000000.gpu: performance / 1000 MHz
    fdab0000.npu: performance / 1000 MHz
 
Status of performance related policies found below /sys:
 
    /sys/devices/platform/fb000000.gpu/power_policy: [coarse_demand] always_on
    /sys/module/pcie_aspm/parameters/policy: default [performance] powersave powersupersave
 
### Clockspeeds (idle vs. heated up):
 
Before at 49.0°C:
 
    cpu0-cpu3 (Cortex-A55): OPP: 1800, Measured: 1808 
    cpu4-cpu5 (Cortex-A76): OPP: 2256, Measured: 2246 
    cpu6-cpu7 (Cortex-A76): OPP: 2304, Measured: 2249      (-2.4%)
 
After at 84.1°C (throttled):
 
    cpu0-cpu3 (Cortex-A55): OPP: 1800, Measured: 1788 
    cpu4-cpu5 (Cortex-A76): OPP: 2256, Measured: 2217      (-1.7%)
    cpu6-cpu7 (Cortex-A76): OPP: 2304, Measured: 2221      (-3.6%)
 
### Performance baseline
 
  * cpu0 (Cortex-A55): memcpy: 6198.4 MB/s, memchr: 2779.4 MB/s, memset: 21817.0 MB/s
  * cpu4 (Cortex-A76): memcpy: 9884.6 MB/s, memchr: 13958.2 MB/s, memset: 27528.7 MB/s
  * cpu6 (Cortex-A76): memcpy: 10360.2 MB/s, memchr: 14109.2 MB/s, memset: 27629.0 MB/s
  * cpu0 (Cortex-A55) 16M latency: 117.1 117.0 114.7 117.8 113.6 119.6 193.9 345.9 
  * cpu4 (Cortex-A76) 16M latency: 119.7 109.7 119.3 109.1 119.0 113.2 109.5 111.0 
  * cpu6 (Cortex-A76) 16M latency: 128.0 108.9 116.3 106.6 116.0 114.6 111.1 113.9 
  * cpu0 (Cortex-A55) 128M latency: 140.7 141.7 140.5 141.7 139.4 143.3 208.7 370.1 
  * cpu4 (Cortex-A76) 128M latency: 133.0 134.3 132.5 134.1 132.6 129.8 129.4 138.8 
  * cpu6 (Cortex-A76) 128M latency: 132.4 133.4 131.9 133.3 132.1 128.9 128.0 133.4 
  * 7-zip MIPS (3 consecutive runs): 15865, 14907, 14583 (15120 avg), single-threaded: 3072
  * `aes-256-cbc     147721.03k   388181.91k   653222.66k   789570.22k   840581.12k   844748.12k (Cortex-A55)`
  * `aes-256-cbc     573923.91k   981824.94k  1187126.95k  1248965.97k  1272422.40k  1274751.66k (Cortex-A76)`
  * `aes-256-cbc     573877.24k   982838.68k  1188725.50k  1250087.94k  1273673.05k  1276040.53k (Cortex-A76)`
 
### PCIe and storage devices:
 
  * Realtek RTL8125 2.5GbE: Speed 5GT/s (ok), Width x1 (ok), driver in use: r8125
  * 238.5GB "Apacer AS2280P4 256GB" SSD as /dev/nvme0: Speed 5GT/s (downgraded), Width x1 (downgraded), 0% worn out, 21 error log entries, drive temp: 0°C
  * 28.9GB "Foresee A3A551" HS400 Enhanced strobe eMMC 5.1 card as /dev/mmcblk2: date 01/2022, manfid/oemid: 0x0000d6/0x0103, hw/fw rev: 0x0/0x1200000000000000
 
"nvme error-log /dev/nvme0 ; smartctl -x /dev/nvme0" could be used to get further information about the reported issues.
 
### Software versions:
 
  * Ubuntu 22.04.2 LTS
  * Compiler: /usr/bin/gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 / aarch64-linux-gnu
 
### Kernel info:
 
  * `/proc/cmdline: storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal androidboot.dtbo_idx=0 androidboot.verifiedbootstate=orange earlycon=uart8250,mmio32,0xfeb50000 console=ttyFIQ0 coherent_pool=1m irqchip.gicv3_pseudo_nmi=0 rw root=/dev/mmcblk2p8 rootfstype=ext4 rootflags=discard data=/dev/mmcblk2p9 consoleblank=0 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1`
  * Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
  * Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
  * Vulnerability Spectre v2:        Vulnerable: Unprivileged eBPF enabled
  * Kernel 5.10.110 / CONFIG_HZ=300
 
Kernel 5.10.110 is not latest 5.10.176 LTS that was released on 2023-03-22.
 
See https://endoflife.date/linux for details. It is somewhat likely that
a lot of exploitable vulnerabilities exist for this kernel as well as many
unfixed bugs.
 
But this version string doesn't matter since this is not an official LTS Linux
from kernel.org. This device runs a Rockchip vendor/BSP kernel.
 
This kernel is based on a mixture of Android GKI and other sources. Also some
community attempts to do version string cosmetics might have happened, see
https://tinyurl.com/2p8fuubd for example. To examine how far away this 5.10.110
is from an official LTS of same version someone would have to reapply Rockchip's
thousands of patches to a clean 5.10.110 LTS.
 
All known settings adjusted for performance. Device now ready for benchmarking.
Once finished stop with [ctrl]-[c] to get info about throttling, frequency cap
and too high background activity all potentially invalidating benchmark scores.
All changes with storage and PCIe devices as well as suspicious dmesg contents
will be reported too.
 
Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   Temp
14:19:48: 2304/1800MHz  5.16   4%   0%   4%   0%   0%   0%  66.5°C
14:20:48: 2304/1800MHz  1.89   0%   0%   0%   0%   0%   0%  61.0°C
14:21:48: 2304/1800MHz  0.69   0%   0%   0%   0%   0%   0%  61.0°C
14:22:48: 2304/1800MHz  0.25   0%   0%   0%   0%   0%   0%  60.1°C
14:23:48: 2304/1800MHz  0.09   0%   0%   0%   0%   0%   0%  59.2°C

R6C的7-zip分数(平均15118分)高于我的R6S样本(标准模式下sbc工作台的14578分),但分数从第一次运行的15685分下降到第三次运行的14583分,因为CPU温度相当高,并且在7-zip多线程和电容测试期间系统都会节流:

System health while running 7-zip multi core benchmark:
 
Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   Temp
14:11:23: 2304/1800MHz  1.01   1%   0%   0%   0%   0%   0%  70.2°C
14:11:33: 2304/1800MHz  1.77  89%   0%  88%   0%   0%   0%  78.5°C
14:11:43: 2304/1800MHz  2.41  86%   0%  85%   0%   0%   0%  81.3°C
14:11:54: 2208/1608MHz  3.49  90%   0%  89%   0%   0%   0%  85.0°C
14:12:05: 2208/1608MHz  3.89  79%   1%  77%   0%   0%   0%  85.0°C
14:12:15: 2304/1800MHz  4.67  86%   0%  85%   0%   0%   0%  84.1°C
14:12:25: 2304/1800MHz  5.26  93%   0%  92%   0%   0%   0%  84.1°C
14:12:36: 2016/1416MHz  5.54  86%   0%  85%   0%   0%   0%  84.1°C
14:12:48: 2016/1416MHz  5.79  80%   1%  78%   0%   0%   0%  84.1°C
14:12:59: 2208/1608MHz  6.14  77%   1%  75%   0%   0%   0%  84.1°C
14:13:09: 2208/1608MHz  6.57  94%   1%  92%   0%   0%   0%  84.1°C
14:13:22: 2208/1608MHz  6.28  84%   0%  83%   0%   0%   0%  85.0°C
14:13:33: 2016/1416MHz  6.10  84%   0%  83%   0%   0%   0%  84.1°C
14:13:47: 2016/1608MHz  6.54  79%   1%  78%   0%   0%   0%  85.0°C
14:13:57: 2208/1608MHz  7.54  82%   1%  80%   0%   0%   0%  85.0°C
14:14:07: 2208/1608MHz  7.29  91%   1%  89%   0%   0%   0%  84.1°C
 
System health while running cpuminer:
 
Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   Temp
14:14:16: 2016/1416MHz  7.43   2%   0%   2%   0%   0%   0%  84.1°C
14:15:01: 2016/1608MHz  8.15 100%   0%  99%   0%   0%   0%  85.0°C
14:15:45: 2208/1416MHz  8.58 100%   0%  99%   0%   0%   0%  85.0°C
14:16:29: 2208/1416MHz  8.72 100%   0%  99%   0%   0%   0%  85.0°C
14:17:14: 2016/1416MHz  8.78 100%   0%  99%   0%   0%   0%  85.0°C
14:17:57: 2208/1416MHz  8.84 100%   0%  99%   0%   0%   0%  84.1°C
14:18:42: 2016/1416MHz  9.01 100%   0%  99%   0%   0%   0%  85.0°C

CPU频率不会完全崩溃,因此对性能的影响是有限的。请注意,在测试过程中,环境温度约为28-29°C,所以你可能不会注意到在凉爽的房间里有任何减速,但如果你要在没有空调、室外温度为40°C的小屋里使用NanoPi R6C,我预计性能会受到影响。

我在27°C的房间里测试NanoPi R6S,电容器的温度增量超过20°C,这可以从R6S的SBC台架日志中看出:

System health while running 7-zip multi core benchmark:
 
Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   Temp   DC(V)
13:53:45: 2256/1800MHz  1.00   1%   0%   1%   0%   0%   0%  55.5°C  19.82
13:53:55: 2256/1800MHz  1.76  88%   0%  87%   0%   0%   0%  54.5°C  19.82
13:54:05: 2256/1800MHz  2.27  88%   0%  87%   0%   0%   0%  55.5°C  19.83
13:54:18: 2256/1800MHz  3.23  86%   1%  85%   0%   0%   0%  58.2°C  19.81
13:54:28: 2256/1800MHz  3.90  78%   1%  77%   0%   0%   0%  57.3°C  19.83
13:54:39: 2256/1800MHz  4.58  95%   1%  94%   0%   0%   0%  59.2°C  19.80
13:54:51: 2256/1800MHz  5.25  84%   0%  84%   0%   0%   0%  60.1°C  19.81
13:55:02: 2256/1800MHz  5.16  84%   0%  83%   0%   0%   0%  60.1°C  19.83
13:55:16: 2256/1800MHz  5.38  80%   1%  79%   0%   0%   0%  59.2°C  19.82
13:55:26: 2256/1800MHz  5.89  81%   1%  80%   0%   0%   0%  58.2°C  19.83
13:55:37: 2256/1800MHz  6.37  96%   1%  95%   0%   0%   0%  60.1°C  19.81
13:55:48: 2256/1800MHz  6.32  86%   0%  85%   0%   0%   0%  60.1°C  19.80
13:56:00: 2256/1800MHz  6.64  84%   0%  84%   0%   0%   0%  61.0°C  19.81
13:56:14: 2256/1800MHz  6.92  83%   1%  82%   0%   0%   0%  61.0°C  19.80
13:56:24: 2256/1800MHz  7.61  80%   1%  79%   0%   0%   0%  59.2°C  19.83
13:56:34: 2256/1800MHz  7.82  98%   1%  97%   0%   0%   0%  61.0°C  19.81
 
System health while running cpuminer:
 
Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   Temp   DC(V)
13:56:44: 2256/1800MHz  7.91   2%   0%   2%   0%   0%   0%  61.0°C  19.82
13:57:29: 2256/1800MHz  8.00 100%   0%  99%   0%   0%   0%  61.9°C  19.80
13:58:14: 2256/1800MHz  8.04 100%   0%  99%   0%   0%   0%  61.9°C  19.80
13:58:59: 2256/1800MHz  8.06 100%   0%  99%   0%   0%   0%  62.8°C  19.82
13:59:44: 2256/1800MHz  8.07 100%   0%  99%   0%   0%   0%  63.8°C  19.81
14:00:29: 2256/1800MHz  8.07 100%   0%  99%   0%   0%   0%  63.8°C  19.79
14:01:14: 2256/1800MHz  8.07 100%   0%  99%   0%   0%   0%  64.7°C  19.80

这可能是由于硬件设计或壳内的NVMe SSD造成的。sbc-bench.sh配置的性能设置也可能导致了高温,但这并没有影响NanoPi R6S的结果。因此,在测试SSD后,我将其卸下,然后在标准模式下再次运行SBC工作台:

$ sudo ./sbc-bench.sh -c
 
Average load and/or CPU utilization too high (too much background activity). Waiting...
 
Too busy for benchmarking: 13:08:55 up 7 min,  3 users,  load average: 0.11, 0.28, 0.18,  cpu: 6%
Too busy for benchmarking: 13:09:00 up 7 min,  3 users,  load average: 0.10, 0.27, 0.18,  cpu: 0%
Too busy for benchmarking: 13:09:05 up 7 min,  3 users,  load average: 0.09, 0.27, 0.18,  cpu: 0%
 
Status of performance related governors found below /sys (w/o cpufreq):
dmc: dmc_ondemand / 528 MHz (rknpu_ondemand dmc_ondemand userspace powersave performance simple_ondemand / 528 1068 1560 2112)
fb000000.gpu: simple_ondemand / 300 MHz (rknpu_ondemand dmc_ondemand userspace powersave performance simple_ondemand / 300 400 500 600 700 800 900 1000)
fdab0000.npu: rknpu_ondemand / 300 MHz (rknpu_ondemand dmc_ondemand userspace powersave performance simple_ondemand / 300 400 500 600 700 800 900 1000)
 
sbc-bench v0.9.39
 
Installing needed tools: Done.
Checking cpufreq OPP. Done (results will be available in 21-32 minutes).
Executing tinymembench. Done.
Executing RAM latency tester. Done.
Executing OpenSSL benchmark. Done.
Executing 7-zip benchmark. Done.
Executing cpuminer. 5 more minutes to wait. Done.
Checking cpufreq OPP again. Done (23 minutes elapsed).
 
Results validation:
 
  * Advertised vs. measured max CPU clockspeed: -2.3% before, -3.6% after
  * Background activity (%system) OK
  * Throttling occured
 
Memory performance (all 3 CPU clusters measured individually):
memcpy: 6267.4 MB/s (Cortex-A55)
memset: 21801.6 MB/s (Cortex-A55)
memcpy: 10844.7 MB/s (Cortex-A76)
memset: 28092.9 MB/s (Cortex-A76)
memcpy: 9993.2 MB/s (Cortex-A76)
memset: 27620.0 MB/s (Cortex-A76)
 
Cpuminer total scores (5 minutes execution): 21.45,21.43,21.42,21.41,21.40,21.39,21.37,21.36,21.35,21.33,21.32,21.31,21.30,21.28,21.27,21.26,21.25,21.24,21.21,21.20,21.19,21.17,21.16,21.14,21.13,21.12,21.11,21.10,21.08,21.07,21.06,21.05,21.04,21.02,21.01,21.00,20.99 kH/s
 
7-zip total scores (3 consecutive runs): 13968,13497,13244, single-threaded: 2510
 
OpenSSL results (all 3 CPU clusters measured individually):
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-cbc     160034.53k   474207.42k   927109.97k  1227207.34k  1352231.59k  1363083.26k (Cortex-A55)
aes-128-cbc     635771.09k  1265699.31k  1617682.18k  1735219.20k  1779968.68k  1784654.51k (Cortex-A76)
aes-128-cbc     636349.96k  1261267.31k  1616525.99k  1735644.84k  1780345.51k  1785315.33k (Cortex-A76)
aes-192-cbc     152629.75k   422463.34k   757743.96k   944839.68k  1018235.56k  1024737.28k (Cortex-A55)
aes-192-cbc     594155.21k  1106229.97k  1370170.03k  1443830.44k  1484379.48k  1486935.38k (Cortex-A76)
aes-192-cbc     592730.94k  1107228.59k  1371779.93k  1444199.77k  1485004.80k  1488175.10k (Cortex-A76)
aes-256-cbc     147908.70k   388357.03k   651484.33k   789584.55k   840824.15k   844666.20k (Cortex-A55)
aes-256-cbc     573916.15k   983671.17k  1188556.63k  1249724.42k  1273072.30k  1275401.56k (Cortex-A76)
aes-256-cbc     573106.47k   981280.58k  1187538.69k  1249689.26k  1273495.55k  1275860.31k (Cortex-A76)
 
Full results uploaded to http://ix.io/4suM

节流再次发生,7-zip多核的性能较低(平均约13500),这是由于节流,并且系统尚未配置SBC Bench审查模式的优化设置。

System health while running 7-zip multi core benchmark:
 
Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   Temp
13:23:23: 2304/1800MHz  1.00  10%   0%   9%   0%   0%   0%  62.8°C
13:23:33: 2304/1800MHz  1.56  94%   1%  93%   0%   0%   0%  81.3°C
13:23:44: 2208/1800MHz  2.92  88%   1%  86%   0%   0%   0%  84.1°C
13:23:59: 2208/1608MHz  3.29  82%   1%  81%   0%   0%   0%  84.1°C
13:24:09: 2304/1800MHz  4.71  81%   1%  80%   0%   0%   0%  84.1°C
13:24:21: 2208/1608MHz  5.37  96%   1%  95%   0%   0%   0%  85.0°C
13:24:34: 2208/1608MHz  5.48  83%   0%  82%   0%   0%   0%  85.0°C
13:24:46: 2016/1416MHz  6.25  86%   0%  85%   0%   0%   0%  85.0°C
13:25:00: 2208/1608MHz  6.38  81%   1%  79%   0%   0%   0%  84.1°C
13:25:11: 2208/1608MHz  6.60  82%   1%  80%   0%   0%   0%  85.0°C
13:25:23: 2208/1608MHz  7.18  97%   1%  96%   0%   0%   0%  85.0°C
13:25:36: 2016/1608MHz  7.78  85%   0%  84%   0%   0%   0%  85.0°C
13:25:48: 2016/1416MHz  7.74  85%   0%  84%   0%   0%   0%  85.0°C
13:26:03: 2016/1416MHz  8.07  81%   1%  79%   0%   0%   0%  84.1°C
13:26:14: 2016/1608MHz  7.67  81%   1%  80%   0%   0%   0%  84.1°C
13:26:26: 2208/1608MHz  7.87  97%   1%  96%   0%   0%   0%  84.1°C
 
System health while running cpuminer:
 
Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   Temp
13:26:35: 2208/1416MHz  7.64  20%   0%  19%   0%   0%   0%  85.0°C
13:27:20: 2016/1608MHz  7.87 100%   0%  99%   0%   0%   0%  85.0°C
13:28:05: 2016/1416MHz  8.26 100%   0%  99%   0%   0%   0%  85.0°C
13:28:50: 2208/1416MHz  8.32 100%   0%  99%   0%   0%   0%  85.0°C
13:29:35: 2016/1416MHz  8.62 100%   0%  99%   0%   0%   0%  85.0°C
13:30:19: 2208/1416MHz  8.48 100%   0%  99%   0%   0%   0%  85.0°C
13:31:04: 2208/1416MHz  8.36 100%   0%  99%   0%   0%   0%  85.0°C

因此,SSD并不是系统中的一个主要因素,只是NanoPi R6C变得更热了,至少我的样品是这样……所以我再次打开迷你电脑,以确保处理器和外壳之间的接触不是问题所在,在第三次运行基准测试之前,我完全卸下了板并重新组装:

pi@NanoPi-R6C:~$ sudo ./sbc-bench.sh -c
 
Status of performance related governors found below /sys (w/o cpufreq):
dmc: dmc_ondemand / 528 MHz (rknpu_ondemand dmc_ondemand userspace powersave performance simple_ondemand / 528 1068 1560 2112)
fb000000.gpu: simple_ondemand / 300 MHz (rknpu_ondemand dmc_ondemand userspace powersave performance simple_ondemand / 300 400 500 600 700 800 900 1000)
fdab0000.npu: rknpu_ondemand / 1000 MHz (rknpu_ondemand dmc_ondemand userspace powersave performance simple_ondemand / 300 400 500 600 700 800 900 1000)
 
sbc-bench v0.9.39
 
Installing needed tools: Done.
Checking cpufreq OPP. Done (results will be available in 21-32 minutes).
Executing tinymembench. Done.
Executing RAM latency tester. Done.
Executing OpenSSL benchmark. Done.
Executing 7-zip benchmark. Done.
Executing cpuminer. 5 more minutes to wait. Done.
Checking cpufreq OPP again. Done (23 minutes elapsed).
 
Results validation:
 
  * Advertised vs. measured max CPU clockspeed: -1.9% before, -3.5% after
  * Background activity (%system) OK
  * Throttling occured
 
Memory performance (all 3 CPU clusters measured individually):
memcpy: 6243.6 MB/s (Cortex-A55)
memset: 21892.9 MB/s (Cortex-A55)
memcpy: 10863.8 MB/s (Cortex-A76)
memset: 28409.1 MB/s (Cortex-A76)
memcpy: 10797.3 MB/s (Cortex-A76)
memset: 27777.5 MB/s (Cortex-A76)
 
Cpuminer total scores (5 minutes execution): 22.60,22.59,22.30,22.29,22.26,22.25,22.23,22.22,22.20,22.19,22.15,22.14,22.12,22.11,22.09,22.07,22.05,22.04,22.02,22.01,21.99,21.97,21.95,21.92,21.88,21.87,21.86,21.85,21.83,21.82,21.78,21.77,21.76,21.74,21.72,21.71,21.69,21.66,21.65 kH/s
 
7-zip total scores (3 consecutive runs): 14319,14045,13796, single-threaded: 2492
 
OpenSSL results (all 3 CPU clusters measured individually):
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-cbc     160131.91k   475982.21k   929209.86k  1229950.29k  1357621.93k  1368074.92k (Cortex-A55)
aes-128-cbc     639799.29k  1255374.78k  1627063.13k  1741370.71k  1786260.14k  1791060.65k (Cortex-A76)
aes-128-cbc     640122.73k  1256669.50k  1627184.30k  1742381.40k  1787191.30k  1792060.07k (Cortex-A76)
aes-192-cbc     153097.08k   423787.05k   757464.32k   946930.01k  1021168.30k  1027528.02k (Cortex-A55)
aes-192-cbc     597519.43k  1113231.89k  1375599.62k  1448975.02k  1489646.93k  1492631.55k (Cortex-A76)
aes-192-cbc     594056.56k  1115319.30k  1378664.45k  1449382.57k  1490168.49k  1493297.83k (Cortex-A76)
aes-256-cbc     148849.75k   389387.31k   655985.58k   791673.51k   843218.94k   846867.11k (Cortex-A55)
aes-256-cbc     575066.83k   984175.08k  1191490.65k  1253713.92k  1277258.41k  1279612.25k (Cortex-A76)
aes-256-cbc     565959.93k   986128.06k  1191991.72k  1254131.37k  1278069.42k  1280371.37k (Cortex-A76)
 
Full results uploaded to http://ix.io/4sva

这个问题仍然存在,所以谜团依然存在。希望这种情况只发生在我的样本中,或者问题可能发生在拆卸过程中,但这仍然是一些用户可能会做的事情,例如,安装RTC电池。

NVMe SSD测试

我的SSD是APACER AS2280(AP256GAS2280P4-1)PCIe Gen 3.0 x4 SSD,在正确的硬件上可以实现高达1800 MB/s的顺序读取和高达1100 MB/s的连续写入速度。我用pmount安装了EXT-4分区,因为驱动器没有自动安装。

$ sudo pmount /dev/nvme0n1p1
$ mount | grep nvme
/dev/nvme0n1p1 on /media/nvme0n1p1 type ext4 (rw,nosuid,nodev,noexec,relatime,errors=remount-ro,user)

然后我运行了iozon3基准测试:

pi@NanoPi-R6C:/media/nvme0n1p1$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
  Iozone: Performance Test of File I/O
          Version $Revision: 3.489 $
    Compiled for 64 bit mode.
    Build: linux 
 
  Output is in kBytes/sec
  Time Resolution = 0.000001 seconds.
  Processor cache size set to 1024 kBytes.
  Processor cache line size set to 32 bytes.
  File stride size set to 17 * record size.
                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
          102400       4    54883    80553    37893    37925    37777    79934                                                                
          102400      16   129830   171467    97173    97335    96384   170375                                                                
          102400     512   328092   323081   303205   305968   306636   328048                                                                
          102400    1024   348670   347142   331107   330900   328931   349468                                                                
          102400   16384   386447   389623   380769   380970   380790   385342                                                                
 
iozone test complete.

M.2插槽具有与NanoPi R5S相同的PCIe 2.0 x1接口,对于顺序读取和写入速度,结果在380-389 MB/s时大致相同。因此,它如预期的那样工作。

Rockchip RK3588S(R6S)和RK3568(R5S)的lspci输出相同:

pi@NanoPi-R6C:/media/nvme0n1p1$ sudo lspci -v
 
0004:41:00.0 Non-Volatile memory controller: Phison Electronics Corporation PS5013 E13 NVMe Controller (rev 01) (prog-if 02 [NVM Express])
  Subsystem: Phison Electronics Corporation PS5013 E13 NVMe Controller
  Flags: bus master, fast devsel, latency 0, IRQ 106
  Memory at f4200000 (64-bit, non-prefetchable) [size=16K]
  Capabilities: [80] Express Endpoint, MSI 00
  Capabilities: [d0] MSI-X: Enable+ Count=9 Masked-
  Capabilities: [e0] MSI: Enable- Count=1/8 Maskable+ 64bit+
  Capabilities: [f8] Power Management version 3
  Capabilities: [100] Latency Tolerance Reporting
  Capabilities: [110] L1 PM Substates
  Capabilities: [200] Advanced Error Reporting
  Capabilities: [300] Secondary PCI Express
  Kernel driver in use: nvme

SBC工作台检测到一些错误,所以我也运行了smartctl:

pi@NanoPi-R6C:/media/nvme0n1p1$ sudo smartctl -x /dev/nvme0
smartctl 7.2 2020-12-30 r5155 [aarch64-linux-5.10.110] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF INFORMATION SECTION ===
Model Number:                       Apacer AS2280P4 256GB
Serial Number:                      7EA6072114C900114428
Firmware Version:                   APE00PI0
PCI Vendor/Subsystem ID:            0x1987
IEEE OUI Identifier:                0x6479a7
Total NVM Capacity:                 256,060,514,304 [256 GB]
Unallocated NVM Capacity:           0
Controller ID:                      1
NVMe Version:                       1.3
Number of Namespaces:               1
Namespace 1 Size/Capacity:          256,060,514,304 [256 GB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            6479a7 5c80d00f6a
Local Time is:                      Sun Apr  2 10:48:20 2023 UTC
Firmware Updates (0x12):            1 Slot, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x005e):     Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Log Page Attributes (0x0a):         Cmd_Eff_Lg Telmtry_Lg
Maximum Data Transfer Size:         64 Pages
Warning  Comp. Temp. Threshold:     70 Celsius
Critical Comp. Temp. Threshold:     80 Celsius
 
Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     4.50W       -        -    0  0  0  0        0       0
 1 +     2.70W       -        -    1  1  1  1        0       0
 2 +     2.16W       -        -    2  2  2  2        0       0
 3 -   0.0700W       -        -    3  3  3  3     1000    1000
 4 -   0.0050W       -        -    4  4  4  4     5000   50000
 
Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         1
 1 -    4096       0         0
 
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
 
SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        36 Celsius
Available Spare:                    100%
Available Spare Threshold:          5%
Percentage Used:                    0%
Data Units Read:                    1,180,220 [604 GB]
Data Units Written:                 1,860,035 [952 GB]
Host Read Commands:                 12,492,525
Host Write Commands:                11,992,981
Controller Busy Time:               38
Power Cycles:                       356
Power On Hours:                     232
Unsafe Shutdowns:                   208
Media and Data Integrity Errors:    0
Error Information Log Entries:      21
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               52 Celsius
Temperature Sensor 3:               36 Celsius
 
Error Information (NVMe Log 0x01, 16 of 16 entries)
No Errors Logged

但看起来还可以。驱动器的温度只有52°C。我还按照sbc-bench.sh中的建议运行了nvme命令:

sudo apt install nvme-cli
$ sudo nvme error-log /dev/nvme0
Error Log Entries for device:nvme0 entries:16
.................
 Entry[ 0]   
.................
error_count  : 0
sqid    : 0
cmdid    : 0
status_field  : 0(SUCCESS: The command completed successfully)
phase_tag  : 0
parm_err_loc  : 0
lba    : 0
nsid    : 0
vs    : 0
trtype    : The transport type is not indicated or the error is not transport related.
cs    : 0
trtype_spec_info: 0
.................

它有16个类似的条目,但它们似乎没有表明任何具体的问题。

以太网端口上的Iperf3

我还快速检查了从2.5GbE LAN端口开始的网络:

jaufranc@cnx-laptop-4:~$ iperf3 -t 60 -c 192.168.2.1 -i 10
Connecting to host 192.168.2.1, port 5201
[  5] local 192.168.2.100 port 52418 connected to 192.168.2.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-10.00  sec  2.72 GBytes  2.34 Gbits/sec    0   2.39 MBytes       
[  5]  10.00-20.00  sec  2.66 GBytes  2.28 Gbits/sec   66   1.32 MBytes       
[  5]  20.00-30.00  sec  2.73 GBytes  2.34 Gbits/sec    0   2.54 MBytes       
[  5]  30.00-40.00  sec  2.73 GBytes  2.35 Gbits/sec   52   2.57 MBytes       
[  5]  40.00-50.00  sec  2.73 GBytes  2.35 Gbits/sec  176   2.31 MBytes       
[  5]  50.00-60.00  sec  2.73 GBytes  2.35 Gbits/sec    0   2.34 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-60.00  sec  16.3 GBytes  2.33 Gbits/sec  294             sender
[  5]   0.00-60.03  sec  16.3 GBytes  2.33 Gbits/sec                  receiver
 
iperf Done.
jaufranc@cnx-laptop-4:~$ 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.100 port 60386 connected to 192.168.2.1 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  2.74 GBytes  2.35 Gbits/sec                  
[  5]  10.00-20.00  sec  2.74 GBytes  2.35 Gbits/sec                  
[  5]  20.00-30.00  sec  2.74 GBytes  2.35 Gbits/sec                  
[  5]  30.00-40.00  sec  2.74 GBytes  2.35 Gbits/sec                  
[  5]  40.00-50.00  sec  2.74 GBytes  2.35 Gbits/sec                  
[  5]  50.00-60.00  sec  2.74 GBytes  2.35 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-60.05  sec  16.4 GBytes  2.35 Gbits/sec    1             sender
[  5]   0.00-60.00  sec  16.4 GBytes  2.35 Gbits/sec                  receiver
 
iperf Done.

全双工:

jaufranc@cnx-laptop-4:~$ iperf3 -t 60 -c 192.168.2.1 -i 10 --bidir
Connecting to host 192.168.2.1, port 5201
[  5] local 192.168.2.100 port 49872 connected to 192.168.2.1 port 5201
[  7] local 192.168.2.100 port 49884 connected to 192.168.2.1 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-10.00  sec  2.07 GBytes  1.78 Gbits/sec  132   1014 KBytes       
[  7][RX-C]   0.00-10.00  sec  2.41 GBytes  2.07 Gbits/sec                  
[  5][TX-C]  10.00-20.00  sec  2.16 GBytes  1.86 Gbits/sec   34   1.16 MBytes       
[  7][RX-C]  10.00-20.00  sec  2.49 GBytes  2.14 Gbits/sec                  
[  5][TX-C]  20.00-30.00  sec  2.08 GBytes  1.78 Gbits/sec   48   1.51 MBytes       
[  7][RX-C]  20.00-30.00  sec  2.59 GBytes  2.23 Gbits/sec                  
[  5][TX-C]  30.00-40.00  sec  2.15 GBytes  1.85 Gbits/sec   82   1.13 MBytes       
[  7][RX-C]  30.00-40.00  sec  2.60 GBytes  2.24 Gbits/sec                  
[  5][TX-C]  40.00-50.00  sec  2.16 GBytes  1.86 Gbits/sec   90   1.38 MBytes       
[  7][RX-C]  40.00-50.00  sec  2.68 GBytes  2.30 Gbits/sec                  
[  5][TX-C]  50.00-60.00  sec  2.18 GBytes  1.87 Gbits/sec   22   1.42 MBytes       
[  7][RX-C]  50.00-60.00  sec  2.67 GBytes  2.30 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-60.00  sec  12.8 GBytes  1.83 Gbits/sec  408             sender
[  5][TX-C]   0.00-60.03  sec  12.8 GBytes  1.83 Gbits/sec                  receiver
[  7][RX-C]   0.00-60.00  sec  15.5 GBytes  2.21 Gbits/sec   62             sender
[  7][RX-C]   0.00-60.03  sec  15.4 GBytes  2.21 Gbits/sec                  receiver
 
iperf Done.

性能是可以接受的,即使有一些重新传输。

千兆以太网WAN端口即使在全双工模式下也能很好地工作:

jaufranc@cnx-laptop-4:~$ iperf3 -t 60 -c 192.168.31.97 -i 10 --bidir
Connecting to host 192.168.31.97, port 5201
[  5] local 192.168.31.86 port 40994 connected to 192.168.31.97 port 5201
[  7] local 192.168.31.86 port 40996 connected to 192.168.31.97 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-10.00  sec  1.09 GBytes   933 Mbits/sec    0   2.26 MBytes       
[  7][RX-C]   0.00-10.00  sec  1.08 GBytes   929 Mbits/sec                  
[  5][TX-C]  10.00-20.00  sec  1.09 GBytes   932 Mbits/sec    0   2.26 MBytes       
[  7][RX-C]  10.00-20.00  sec  1.08 GBytes   932 Mbits/sec                  
[  5][TX-C]  20.00-30.00  sec  1.09 GBytes   933 Mbits/sec    0   3.40 MBytes       
[  7][RX-C]  20.00-30.00  sec  1.09 GBytes   932 Mbits/sec                  
[  5][TX-C]  30.00-40.00  sec  1.09 GBytes   932 Mbits/sec    0   3.40 MBytes       
[  7][RX-C]  30.00-40.00  sec  1.09 GBytes   932 Mbits/sec                  
[  5][TX-C]  40.00-50.00  sec  1.08 GBytes   928 Mbits/sec    0   3.40 MBytes       
[  7][RX-C]  40.00-50.00  sec  1.08 GBytes   928 Mbits/sec                  
[  5][TX-C]  50.00-60.00  sec  1.09 GBytes   934 Mbits/sec    0   3.40 MBytes       
[  7][RX-C]  50.00-60.00  sec  1.08 GBytes   932 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-60.00  sec  6.51 GBytes   932 Mbits/sec    0             sender
[  5][TX-C]   0.00-60.03  sec  6.51 GBytes   931 Mbits/sec                  receiver
[  7][RX-C]   0.00-60.00  sec  6.51 GBytes   931 Mbits/sec    0             sender
[  7][RX-C]   0.00-60.03  sec  6.50 GBytes   930 Mbits/sec                  receiver
 
iperf Done.

NanoPi R6S功耗

我还用插入式功率计测量了功耗:

.电源关闭–0.3 W(如果我断开USB电源线,仪表显示0.0 W)
.空闲功耗
.仅USB-C电源–1.7瓦(我必须连接HDMI显示器,否则gnome外壳被卡在100%CPU下,功耗为3.5W,并在测量前拔下电缆)
.仅USB-C+NVMe SSD–1.8瓦
.2个以太网、HDMI、2个RF加密狗、NVMe SSD–3.4瓦(默认测试配置)
.NVMe上的iozone3–3.7至4.0瓦(带2个以太网,无显示器,无HID)
.YouTube 4K Chromium–5.8至6W,而硬件解码为720p(见下文注释)
.对所有8个芯进行压力测试(stress -c 8)–9.8瓦

注意:我无法为我测试的任何4K视频选择任何高于720p的内容。它在R6S上起作用,所以我不确定这里发生了什么。Chromium中的硬件解码工作。


pi@NanoPi-R6C:~$ fuser /dev/mpp_service
/dev/mpp_service:     4001

由于我使用的是插入式功率计,因此必须考虑到电源适配器和USB电缆的效率低下。这一次,我使用了一个Khadas VIM4 USB-C电源适配器,它似乎没有我在R6S审查中使用的MINIX 100W USB-PD适配器那么多电流。

结论

NanoPi R6C为那些不需要2.5 GbE路由,但可以使用一个2.5 GbE端口,并且需要通过NVMe SSD进行快速存储的人带来了NanoPi R7S的变体,NVMe SSD的工作速度约为380-400MB/s。USB调试端口是一个很好的补充,可以快速调试潜在问题或在引导加载程序上工作,而无需打开设备焊接插件。

出于某种原因,NanoPi R6C的运行温度比NanoPi R8S高,并且CPU确实会发生节流,尽管对性能的影响有限。我不知道这个问题是我的样品特有的,还是针对所有NanoPi R6C迷你电脑都是一样的,因为我这次只得到了一个样品。我遇到的另一个问题是Chromium中的YouTube分辨率限制在720p,而我在早期的Ubuntu 22.04映像中使用NanoPi R6S没有这样的问题。我认为这是一个暂时的软件问题,很快就会得到解决。

我要感谢FriendlyElec发送NanoPi R6C样品供评测。这里评论的这款机型配有8GB RAM、32GB eMMC闪存和金属外壳,在该公司的商店售价125美元以上(https://www.friendlyelec.com/index.php?route=product/product&path=69&product_id=291),但你也可以在亚马逊(https://amzn.to/40Q2HXO)和速卖通(https://s.click.aliexpress.com/e/_DF5dbCH)上从经销商那里找到。

推荐阅读
关注数
5857
内容数
525
定期发布Arm相关软件信息,微信公众号 ArmSWDevs,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息