2005 CM4 NAS(三路固态硬盘扩展板)

来自Mcuzone Wiki

关键词

树莓派、CM4核心板、系统烧写、2.5G、SSD、RPiOS、Ubuntu、OpenMediaVault

一、简介

CM4_NAS扩展板基于CM4核心板设计,通过PCIe接口扩展了三路M.2 NVMe固态硬盘,其中一路支持2210尺寸,一路支持2242和2280尺寸,还有一路支持2242和2280以及2210尺寸。同时我们还通过PCIe扩展了一路2.5G以太网,以提高M.2 NVMe固态盘的读写速度(实际无法跑满2.5G,硬盘读写典型速度150MB/s,但仍远高于千兆以太网的110MB/s)。其它为CM4标准资源,包括CSI0、CSI1、DSI1、原生千兆、标准HDMI、启动用TF卡槽、40Pin扩展接口、3.3V和5V风扇插头,以及3路USB2.0-A和1路1.25mm 4pin接口USB用于内部4G设备连接。可通过USB-C接口用于eMMC烧写。扩展板采用DC5.5接口,支持7-24V电压输入。

扩展板可运行树莓派OS、Ubuntu、以及OpenWrt系统。这三个系统下均可正常使用2.5G网络和NVMe固态盘。另外支持基于树莓派OS Lite的OpenMediaVault用做NAS网络硬盘应用。

二、硬件资源

1. 一路原生千兆网口;

2. 一路由PCIE支持的2.5G以太网接口;

3. 一路支持4K分辨率的标准HDMI口;

4. 三路USB2.0主机口;

5. 一路内置USB2.0;

6. 一路USB-C烧写口;

7. 两路CSI(22PIN,0.5mm,翻盖下接);

8. 一路DSI(22PIN,0.5mm,翻盖下接);

9. 三路PCIe M-KEY接口,支持2210尺寸规格的固态硬盘;

10. TF卡座。

40pin引脚定义从左到右依次为:

5V 5V GND G14 G15 G18 GND G23 G24 GND G25 G08 G07 IDSC GND G12 GND G16 G20 G21
3V3 G02 G03 G04 GND G17 G27 G22 3V3 G10 G09 G11 GND IDSD G05 G06 G13 G19 G26 GND

三、系统烧写及设置

3.1 概述

本文档采用树莓派OS和Ubuntu系统进行测试。

1. 树莓派OS的版本为2024-07-04-raspios-bookworm-arm64.img.xz,树莓派OS下载地址:

https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit

2. 另外OpenMediaVault需要在32位的树莓派OS Lite下安装,32位的树莓派OS Lite下载地址:

https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-legacy

3. Ubuntu系统的版本为ubuntu-24.04-preinstalled-desktop-arm64+raspi.img.xz,下载地址:

https://ubuntu.com/download/raspberry-pi

3.2 从TF卡启动

3.2.1 使用树莓派镜像烧录器烧写

首先在Windows端安装树莓派镜像烧录器,下载地址:https://www.raspberrypi.com/software/

安装完毕后将TF卡插入读卡器,读卡器插入PC的USB口,然后打开软件:

Raspberry Pi Device:选择Raspberry Pi 4;

请选择需要写入的操作系统:选择Raspberry Pi OS(64-bit),为从树莓派官网下载系统镜像烧写(需联网);选择Use Custom,则需要自行选择硬盘上已经下载的系统镜像(无需联网);

储存卡:选择所需烧入的TF卡(即插在PC的USB接口的卡);

0005_MPS2242_2280_01.jpg

选择完毕后按“NEXT”,建议点击“编辑设置”,将一些参数预设置进烧写软件,之后在系统启动时就不必再次设置,便于使用。

0005_MPS2242_2280_02.jpg

0005_MPS2242_2280_03.jpg

需要使用预设置的按“是”,不需要使用预设置的按“不”,进入下一页,点击“是”,就开始烧写及验证完整性,烧写完毕后按提示取下卡即可。

0005_MPS2242_2280_04.jpg

以上介绍的是烧写树莓派OS,烧写Ubuntu系统或也是用类似的操作,只是在“请选择需要写入的操作系统”时,需要选择Use Custom,然后选择预先下载的镜像即可。

3.2.2 使用balenaEtcher烧写

首先在Windows端安装balenaEtcher,下载地址:https://etcher.balena.io/#download-etcher

将TF卡插入读卡器,读卡器插入PC的USB口,然后打开软件:

从文件烧录:选择预先下载的树莓派OS或者Ubuntu系统镜像;

选择目标磁盘:选择所需烧入的TF卡(即插在PC的USB接口的卡);

然后点击“现在烧录!”,就开始烧录了,等待烧录完毕即可。

0005_MPS2242_2280_05.jpg

3.2.3 启动系统

将TF卡从读卡器中取下,塞进树莓派开发版的TF卡卡槽,上电后即可进入系统。

3.3. 从eMMC启动

如果核心板具有板载eMMC,则系统将会忽略TF卡,而从eMMC启动。

要烧写系统到eMMC,首先需要在PC上安装驱动包,下载地址:

http://www.mcuzone.com/down/Software.asp?ID=10000623

然后使用跳线帽短接扩展板BOOT脚和GND脚(在CSI1接口旁边)。

使用USB Type C-A数据线将扩展板上的USB OTG接口(即扩展板的USB-C口)连接至电脑。

连接上电脑之后,打开计算机的设备管理器,查看是否有新的USB设备出现。在下图中的是名称为“BCM2711 Boot”的USB设备:

2001_CM4_Ultra_65.jpg

PC的开始菜单的所有程序下,Raspberry Pi下面有个rpiboot:

2001_CM4_Ultra_66.jpg

打开这个软件,计算机会将eMMC或者TF卡格式化并分区:

2001_CM4_Ultra_68.jpg

稍等片刻,在资源管理器中会出现一个分区(本例中的分区名为bootfs,具体名称视实际情况而不同):

2001_CM4_Ultra_67.jpg

接下来我们就可以使用balenaEtcher软件对这个分区进行烧写了。

打开balenaEtcher软件,第一项点击“从文件烧录”,选择你要烧录到eMMC的文件,第二项选择上面的那个bootfs分区,然后点击“现在烧录”,就开始烧录文件了:

2001_CM4_Ultra_69.jpg

2001_CM4_Ultra_70.jpg

等烧写完成后,将之前插上的跳线帽拔下来,然后重新给系统上电,待系统启动即可。

四、树莓派OS下的硬件测试

4.1 原生千兆网口测试

我们将网线插入原生千兆网口,系统会自动获取IP,打开终端,安装测速软件iperf3:

sudo apt-get install iperf3

2001_CM4_Ultra_01.jpg

然后我们使用iperf3进行测试:

原生千兆以太网测速结果,client模式为942Mbps左右:

2005_CM4_NAS_01.jpg

server模式为946Mbps左右:

2005_CM4_NAS_02.jpg

4.2 2.5G网口测试

我们将网线插入2.5G网口,系统会自动获取IP,然后我们使用iperf3进行测试:

2.5G以太网测速结果,client模式为1.84Gbps左右:

2005_CM4_NAS_03.jpg

server模式为946Mbps左右:

2005_CM4_NAS_04.jpg

4.3 单块硬盘测试

4.3.1 硬盘识别测试

经测试,单块硬盘无论插哪个硬盘插槽都能识别,树莓派系统下需要先做授权才能进一步操作:

2005_CM4_NAS_05.jpg

2005_CM4_NAS_06.jpg

4.3.2 硬盘接口速度测试

安装硬盘测速软件hdparm。在树莓派终端下运行:

sudo apt install hdparm

2005_CM4_NAS_07.jpg

在树莓派终端下运行df,查看SSD分区名为nvme0n1:

2005_CM4_NAS_08.jpg

运行命令,可多次运行,测试多次硬盘速度:

sudo hdparm -t /dev/nvme0n1

第一个插槽:

2005_CM4_NAS_09.jpg

第二个插槽:

2005_CM4_NAS_10.jpg

第三个插槽:

2005_CM4_NAS_11.jpg

测试结果:该硬盘在三个插槽中的接口速度均为360MB/s左右。

五、Ubuntu系统下使用演示

5.1 安装2.5G以太网驱动

CM4_NAS扩展板上的2.5G网口在Ubuntu系统下不能即插即用,需要安装RTL8125驱动。

使用网线连接CM4_NAS扩展板上的千兆网口。

Ubuntu系统默认不安装ifconfig工具,所以需要手动安装:

sudo apt install net-tools

0008_MPS2_5G_13.jpg

输入ifconfig -a,可见此时并没有显示2.5G网卡:

2005_CM4_NAS_12.jpg

接下来我们开始安装RTL8125驱动。

首先需要更新系统:

sudo apt-get update

2005_CM4_NAS_13.jpg

接着准备编译环境:

sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential dkms

2005_CM4_NAS_14.jpg

然后安装驱动:

sudo apt-get install r8125-dkms

2005_CM4_NAS_15.jpg

安装完成后输入:

sudo modprobe r8125

2005_CM4_NAS_16.jpg

输入ifconfig -a就可以看到一个enxxx的网卡接口,这样就安装完毕2.5G网卡驱动:

2005_CM4_NAS_17.jpg