Rock 5B RK3588 SBC评测:在Debian 11中哪些功能正常、哪些无效

原文链接:Rock 5B RK3588 SBC preview – What works, what doesn’t in Debian 11 由Jean-Luc Aufranc撰写。
本文共计 7812 字,预计阅读 15 分钟

我最近收到了开源硬件研发、设计服务商瑞莎(Radxa)寄给我的早期样品—ROCK5 Model B SBC(简称“ROCK 5B”),它属于开发者版批次,具有 16GB RAM。目前我能够看到的是硬件部分已经完成了,而且用户也可以在板子上成功启动 Debian 11 系统 。

这次评测我将会花更多时间在开发板上,作为“调试活动”的一部分,我测试了其运行Debian 11 时的性能和功能。正如我们所预料的那样,有些功能可以正常工作,但仍然有一些功能需要改进。

Rock 5B 基准测试

现在,我们在该开发板上运行一些基准测试,从 SBC Bench 脚本开始测试其性能和稳定性:


如果仔细查看完整的结果,你们可能会注意到我测试的这块板子上 Cortex-A76 内核的时钟频率只有 2,304 MHz,而不是 2.4GHz,这一点我在关于 PTVM 的帖子中已经研究原因了。所以这只是意味着不同的 RK3588 处理器可能会由于制造过程中发生的正常差异导致频率稍微快一点或慢一点。又或者在批量生产时的主板很可能都被预装了系统,使其系统默认处理器的频率被限制为了最高 2.2 或 2.3 GHz。对了,在基准测试期间该 SBC 的 CPU 温度虽然高达 62.8°C,开发者版板上的散热器和风扇组合还是正常工作的。

树莓派4、Rock 5B、Khadas VIM4、ODROID-N2+基准测试对比

树莓派4Khadas VIM4ODROID-N2+相比,Rock 5B 明显领先于其他 SBC ,尤其是在内存带宽方面。而且瑞芯微 RK3588 的四个 Cortex-A76 和四个 Cortex-A55 内核在进行 7-zip 任务处理时也有很大的帮助。AES-256 的测试结果表明,将 Cortex-A72 或 Cortex-A76 CPU 用于此类工作负载时影响并不大,因为它会随着频率而扩展。这一点对于带有 Armv8 Crypto 扩展的处理器来说是毫无疑问的,不过搭载博通 Broadcom BCM2711 处理器的类似树莓派板上是缺少该功能的。

不过,有一点我们需要注意,在完成测试运行之前,我一直重复尝试启动sbc-bench.sh 测试脚本达四次多。这主要是因为我的板子不像其他 beta 测试员的板子那么稳定,会不定时重启而且不会给我任何警告。原本我想是不是因为负载或空闲的缘故,经过大量测试,它似乎与电源、USB 电缆、CPU 频率或过热都无关。它就真的只是凭空出现了,而且串行控制台中没有输出。

无论如何,我还是尝试安装了 Phoronix 进行测试:


并将其与UP 4000 (Intel N3350) 和树莓派4板进行比较。


这样的测试需要将近两个小时,如果不重新启动,我的主板其实不需要那么长时间的。操作之后,所以我得出了下面这几个结果:


SQLite 可能主要是依赖存储性能。但Rock 5B板的测试结果就是那样,很接近UP 4000。


RAMSpeed 测试结果则证实了我们在 sbc-bench 中看到的是真正高内存的带宽。


瑞芯微 RK3588 开发板在 perf-bench 这项中的测试结果也接近 Intel Celeron N3350 双核“Apollo Lake”板子。


但在 Go 基准测试中则要快得多。这是我能做的最后一个测试了。作为参考,我还尝试了使用其他两种方法限制 Cortex-A76 内核的最大频率,首先是 2.21 GHz:


然后是 2.02 GHz,接着使用用户空间调控器:


操作之后,仍然没有解决稳定性的问题,但发生了一些有趣的事情:


Rock 5B 在 2.02 GHz 状态下使用用户空间调速器比在 2.21 或 2.3 GHz 状态下使用按需调速器的速度要更快。

存储测试和基准

我通过安装iozone3 来测试 16GB eMMC 闪存模块的性能:


结果是205MB/s 的连续读取速度和 40MB/s 的连续写入速度,其随机读写值测试的结果对我来说还算是不错的。

现在我们测试其中一个 USB 3.0 Type-A (5Gbps) 端口与 ORICO USB 3.2 Gen 1 外壳,这里配备的是 Apacer NVMe SSD,读取速度高达 1,800 MB/s、写入速度高达 1,100 MB/s:


375 MB/s 写入和 320 MB/s 读取速度。作为参考,375MB/s 的速度其实等于3 Gbps,因此即使需要考虑到 USB 的一些损耗,仍然还是可以通过一些优化来进一步提升其传输速度的。

现在我们将 M.2 SSD 从 USB 外壳上直接安装到 Rock 5B 板上。我保留了 ORICO 外壳的散热垫和“散热片”。

安装了 NVMe SSD 的 ROCK 5B

糟糕,这样一动,板子就没办法再重新正常启动了,也没有显示输出,而且无法通过网络连上板子了。所以我连接了一个 USB 转串口调试板,这时我还注意到 eMMC 闪存似乎已经损坏了:


由于我没有 USB eMMC 闪存适配器,我就准备自己在 microSD 卡上安装 Debian 11(2022 年 5 月 1 日版本),后来我安装 SSD 时,发现 eMMC 闪存模块还没有牢固地安装到插槽中我就把 eMMC 模块按下去就解决了。所以我现在可以运行 iozone3了:


太好了!2.2GB/s,比 SSD 的理论速度还要快!!!这些显然是涉及到了缓存速率,所以我们再试一次:


它下降了一点,我们还是继续:


最后一次使用,我发现无法放入内存为 100GB 的文件:


这与上次测试的结果是相同的,因此我通过 NVMe/PCIe x4 Gen 3.0 获得的顺序读取速度大约是 1401 MB/s、顺序写入速度 650 MB/s。

在 Rock 5B 上测试 Debian 11

我也想尝试板子对 microSD 卡的支持,但遗憾的是,我随身携带的唯一一块microSD 卡似乎完全坏了。所以我测试的结果就是收到了一堆与 Rock 5B 无关的 I/O 错误。对了,这块 SD 卡是从自树莓派上取下的,所以这块卡之后也没法在树莓派开发板上用了。

视频输出

正如我们在评测的第一部分中看到的那样,USB 端口旁边的 HDMI 端口正常工作,但它旁边的 HDMI 端口却不行。

ROCK 5B 上 Debian 11 的状况

我还尝试连接一个MINIX USB Type-C 扩展坞用来检查 DisplayPort alt 模式是否可以正常工作,结果就是它也不能正常运行。然而比不能正常运行更夸张的是:Debian 11 在所有情况下都只会显示连接到第一个 HDMI 端口显示器。

连接到第一个 HDMI 端口的显示器

网络(WiFi 和 2.5GbE)

Rock 5B SBC 有一个关键的卖点是其网络功能。它带有一个 2.5GbE 端口,可支持 WiFI 6 M.2 卡。

现在我们先用 iperf3 测试一下 2.5GbE 端口。

  • 下载到 Rock 5B:

  • 上传:


双向都是 2.35 Gbps,这是我们通常可以达到的最佳值。因此,现在我打算试一下全双工测试:


结果是 2.34 Gbps 和 2.16 Gbps,这么看来 Rock 5B 处理 2.5GbE 网络真很不错了。

我的主板配备了基于瑞昱 RTL8852BE 的Fn-Link 6252M-PUB WiFi 6 和蓝牙 5.2 模块,现在我要用 WiFi 6 重复这项测试。

  • 下载到 Rock 5B:

  • 上传:


测试结果是 870 Mbps,接近千兆以太网的速度。不过,下载测试方面我还是可以看到很多数值变化和重传情况。作为参考,我把用于测试的小米 Mi AX6000 路由器放在距离板子一米之外,而另一侧则是通过一个瑞昱RTL8156BG 2.5GbE 到 USB 3.0 转接器连到了一台Ubuntu 20.04 笔记本电脑上。

蓝牙

由于该模块应该也支持蓝牙,所以我打算用我的手机测试一下蓝牙。如下所示,默认情况下 Rock 5B 是没有启用蓝牙的。

未找到蓝牙

ROCK 5B 上的 USB

我们已经在存储和显示部分进行了一些 USB 测试,但这是连接 USB 键盘和鼠标以及 MINIX USB-C 扩展坞时的输出结果:


正如我们都知道的,我有一堆 USB 2.0 (480M) 和 USB 3.0 (5000M) 设备,以及鼠标、键盘等速度较慢的 HID 设备。

当我连接 MINIX USB-C 扩展坞时,我得到了很多错误:


而且登录界面并不会出现在显示屏上,只会在屏幕左上方出现一个闪烁的下划线。如果我移除 MINIX USB-C 扩展坞,我就可以再次启动电路板,而且总线 09 和 10 会消失:


我之前曾经使用过 Khadas VIM4 板的 5V/3A 电源了,所以我决定换 100W  的 GAN USB-C 电源适配器试试,以防 480GB SSD 耗电过多。换了之后我发现,虽然我在启动时会发现一些错误,但它可以正常启动:



因此虽然 USB 2.0/3.0 Type-A 端口正常运行,但 USB-C 端口可能还是存在一些问题。

GPIO 测试

瑞芯微 RK3588 应该有五个 GPIO bank,编号从 GPIO0 到 GPIO4,但我在 Debian 镜像中看到六个:


瑞莎 Wiki 中提供了引脚排列,而且解释了如何计算 GPIO 引脚号。

我们可以尝试上拉和下拉GPIO4_C6(40针头上的第27针),如下所示:


我还得知 Rock 5B 板可以支持 libmraa GPIO 库,不过目前还没有相关文档。

Debian 11 中未启用 GPU 3D 加速

这里是 glxinfo 的完整输出,重要的部分如下所示:


llvmpipe 表示的是软件渲染。其内核输出中有一些“mali”字符串:


所以在这个时间点来看 GPU 3D 加速功能还是有点问题。

VPU(视频处理单元)

我找不到在 Linux 中使用硬件视频解码播放视频工具的任何文档,所以我没有测试它。对了,Rock 5B Android 12 播放 4K 视频效果还是很好的,除了在 AV1 上遇到了一些问题。顺带说明一下,Rock 5B  的处理器足够强大,应该可以使用软件解码播放 1080p 视频。

NPU/AI 加速器

虽然现在可以看到 6.0 TOPS NPU 的信息,但还是有很多错误:


关于NPU 目前没有很好的文档记录,错误消息的提示看起来也不是很乐观,所以我暂时就没有再测试它了,一旦我能让它正常运行,我会单独写一篇文章来详细阐述。注意,适用于 RK3588 和其他较新瑞芯微处理器(比如 RK3566/68)的 NPU SDK 与适用于 RK1808 或 RK3399Pro 不同,RK3588 现在是可以在RKNPU2 代码仓中找到的。

Rock 5B 上的 HDMI 输入

遗憾的是,我没有 micro HDMI 线,所以我无法对其进行详细测试。不过根据Firefly wiki的信息来看,HDMI 输入也可以在 Linux 中工作,而且在 Rock 5B 中也可以正确检测到:


对了,HDMI 输入音频也显示出来了:


所以看起来一切还是可以正常工作的。其实拥有一个全尺寸的 HDMI 端口真的很不错,但我知道这种类型的电路板空间有限,是放不下全尺寸端口的。

能量消耗

下面是一些功耗数字,仅供参考:

  • 使用风扇关闭电源 – 1.5 w
  • 无风扇关机 – 0.6 w
  • 带风扇的 Ilde – 5 w
  • 无风扇空闲 – 4.2 w
  • 对 8 个带风扇的内核进行压力测试,连接 NVMe SSD – 11.3 w

该开发者版的开发板目前使用了一个耗电约 1 w的小风扇。不过我觉得,它应该是可以使用无风扇解决方案的,就像Mekotronics R58 迷你PC

概括

以下是开发板随附的 Debian 11 镜像中哪些功能可以正常运行、哪些功能有问题的概括表格,以及由于各种原因我无法测试的部分功能。

特征评测
储存NVME OK 性能良好
eMMC 闪存 OK
microSD 卡(没有可以正常工作的microSD卡,未测试)
视频输出HDMI(在 USB 端口旁边) - 正常
其他 HDMI 端口和 USB-C Displayport Alt 模式 - 失败
HDMI输入检测到(视频和音频)但由于缺少线缆而未测试
联网2.5GbE OK,性能很好
WiFi 6 OK,高达 870 Mbps,但吞吐量差异很大
蓝牙不工作/未启用
USBUSB 2.0 和 USB 3.0 Type-A 端口 - 好的
USB Type-C 端口与 MINIX USB-C 坞站有问题
通用输入输出接口正常,用 sysfs 测试过
图形处理器仅软件渲染
VPU(视频处理单元)未测试,不确定使用哪些工具来播放硬件视频
NPU出现在内核中,但有很多错误
MIPI CSI未经测试,无硬件

如果你们需要快速的网络和存储,我觉得这个板已经很棒了。不过,当然还有许多部分需要处理或提供相应的文档。我们可以先看看该产品接下来会如何发展,我可能也会试试调查一下为什么我的板子会毫无提示地就重新启动了。

分享这篇文章
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论