2009 CM4/CM5 SSD WiFi6

来自Mcuzone Wiki

关键词

树莓派CM4核心板、CM5核心板、千兆以太网、RPiOS、Ubuntu、NVMe SSD、DSI、CSI、抓包、WiFi6

一、简介

CM4_SSD_WiFi6扩展板是一款基于树莓派CM4核心板设计的由一路PCIE扩展出来的两路PCIe的NVME SSD和WiFi6扩展板。

CM4_SSD_WiFi6扩展板具有一路PCIE M.2 M-KEY接口,用于外扩SSD和一路PCIEM.2 A-KEY接口,可安装WiFi6模块。引出了一路原生千兆以太网、一路2-lane DSI0接口、一路4-lane CSl1接口、一路标准尺寸的HDMI接口,支持4K输出及一路TF卡座,且扩展了三路USB2.0主机A口和一路USB主机1.25 4pin接口。此外引出与树莓派4B相同定义的2.54mm 2x20pin的GPIO引脚,用于常规外设扩展。

此扩展板也可以改造成双wifi扩展板,即将NVME接口外接NVME转wifi转接板,即可实现。此扩展板也支持WLANPI OS,实现WiFi抓包,监控等功能。

此扩展板同时也支持树莓派CM5核心板。

二、硬件资源

1. 一路原生千兆以太网接口,采用一体式变压器,电磁性能更好;

2. 一路PCIE M.2 M-KEY NVMe SSD接口,支持2242、2280尺寸规格的固态硬盘;

3. 一路PCIE M.2A-KEY WIFI6接口,支持WiFi6和WiFi6E(可选配AX200/AX210),可选配M.2A转2.5G千兆网卡;

4. 三路USB2.0主机A口,一路USB2.0主机(1.25mm-4PIN),可选配CM4 4G Mini和5G Mini模块;

5. 一路4-lane CS11(22PIN,0.5mm,翻盖下接);

6. 一路2-lane DSl0(22PIN,0.5mm,翻盖下接);

7. 一路标准HDMI接口(分辨率可达4K);

8. 一路TF卡座,仅用于不带eMMC版本的CM4核心板存放系统;

9. 一路USB Type-C供电(5V3A)及烧写接口;

10 一路风扇供电接口5V 2.54mm-2p;

11. 40pin GPIO引脚,与树莓派4B完全兼容;

12. 标配铝合金外壳。

2009_CM4_SSD_WiFi6_68.jpg

2009_CM4_SSD_WiFi6_63.jpg

2009_CM4_SSD_WiFi6_64.jpg

2009_CM4_SSD_WiFi6_69.jpg

三、烧写系统

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

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

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

2. Ubuntu系统的版本为ubuntu-24.10-preinstalled-desktop-arm64+raspi.img.xz,

Ubuntu系统下载地址:

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

对于带eMMC的核心板,系统烧写在eMMC内,若核心板不带eMMC,则系统烧写在TF卡内。

使用带eMMC的核心板,烧写前请将C口接电脑,BOOT跳线短路帽接上:

烧写完成后,短路帽拔掉,重新上电,即可启动系统。

烧写方法请参阅:

烧写系统的方法

四、树莓派OS的操作

4.1 测试USB口

板载3个USB2.0口,分别接了无线键鼠,U盘和USB读卡器,在树莓派终端中执行lsusblsusb -t,显示如下:

2009_CM4_SSD_WiFi6_02.jpg

004是接了无线键鼠;

003是接了USB 读卡器;

007是接了U盘;

识别都正常。若USB无外接设备,则不会出现相应的设备编号。

Bus 01为为USB 2.0接口,480M,工作模式也正常。

4.2 测试SSD硬盘

CM4的PCIe经过switch一扩二以后,板载SSD不支持硬盘启动系统,只能作为数据存储用。

在树莓派终端中执行lspci,查看SSD硬盘信息:

2009_CM4_SSD_WiFi6_03.jpg

执行lsblk,我们可以看到这个SSD分区名为nvme0n1p1:

2009_CM4_SSD_WiFi6_04.jpg

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

sudo apt install hdparm

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

sudo hdparm -t /dev/nvme0n1

因SSD和WiFi6是由一路PCIe通过switch一分为二,所以反映到SSD上就会对速度有所影响,测试结果如下:

2009_CM4_SSD_WiFi6_05.jpg

次数 传输速度MB/s 传输速度Gbps
1 375.85 3.01
2 374.47 3.00
3 378.77 3.03
4 376.61 3.01
5 375.08 3.00
平均 376.16 3.01

4.3 测试WiFi6(AX210)

对于树莓派CM4核心板自带WiFi和扩展板外扩的WiFi,树莓派OS只支持外扩或自带的WiFi中的其中一种,因此若想用WiFi6,建议选不带WiFi的CM4核心板。若使用带WiFi功能的树莓派CM4核心板,在安装WiFi6驱动后,核心板自带的WiFi模块将自动关闭,无法使用。

我们测试用的是AX210,同时也适用于AX200。启动系统后,树莓派终端中执行lspci,即可看到:

2009_CM4_SSD_WiFi6_06.jpg

4.3.1 安装驱动

在树莓派终端下更新头文件:

sudo apt install -y raspberrypi-kernel-headers firmware-iwlwifi flex yacc

5001_CM5_WiFi7-PoE_19.jpg

然后下载源码:

【请购买开发板的用户联系我们获取源码!】

准备编译环境:

sudo make defconfig-iwlwifi-public

sudo sed -i 's/CPTCFG_IWLMVM_VENDOR_CMDS=y/# CPTCFG_IWLMVM_VENDOR_CMDS is not set/' .config

5001_CM5_WiFi7-PoE_21.jpg

编译源码:

sudo make -j 4

sudo make install

注意,编译时如果使用-j 4出现死机或者报错,请使用-j 2或者-j 1进行编译。

5001_CM5_WiFi7-PoE_22.jpg

5001_CM5_WiFi7-PoE_23.jpg

安装完成后提示重启系统,请重启:

sudo reboot

4.3.2 测试WiFi6

重启系统后,我们就可以在网络连接里面使用WiFi6模块连接无线AP了:

5001_CM5_WiFi7-PoE_25.jpg

注意,此时核心板自带的WiFi模块已自动关闭,被WiFi6模块所取代。

点击桌面右上角网络图标 - Advanced Options - Connection Information...

2009_CM4_SSD_WiFi6_07.jpg

在网络连接的信息中,我们也可以看到这个驱动为iwlwifi的网络连接(如果是核心板自带的无线网卡,驱动会显示为brcmfmac):2009_CM4_SSD_WiFi6_08.jpg

在树莓派终端中执行ifconfig -a,结果如下:

2009_CM4_SSD_WiFi6_09.jpg

这里的wlan0为WiFi6模块。

我们使用网速测试软件iperf3进行测速。

Windows版iperf3下载:

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

Linux下iperf3安装:

sudo apt-get install iperf3

测速所使用的硬件设备:

路由器为小米BE6500 Pro(WiFi6/7+四口2.5G路由器),扩展板距离路由器约1米。

扩展板的AX210连接WiFi6无线网络(5G热点),与同一路由器下的Windows系统进行iperf3测速。

扩展板作为client,单线程测速:

2009_CM4_SSD_WiFi6_10.jpg

速度为为505Mbps左右。

30个线程测速:

2009_CM4_SSD_WiFi6_11.jpg

速度为为1.31Gbps左右。

扩展板作为server,单线程测速:

2009_CM4_SSD_WiFi6_12.jpg

速度为为557Mbps左右。

30个线程测速:

扩展板作为server,单线程测速:

2009_CM4_SSD_WiFi6_13.jpg

速度为为1.97Gbps左右。

单线程(Mbps) 30线程(Gbps)
Client 505 1.31
Server 557 1.97

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

4.3.3 双无线网卡测试

4.3.3.1 双WiFi6测试

此扩展板可以改造成双WiFi6扩展板,将NVMe接口配一个我司配套的NVMe转WiFi6转接板,即可实现双无线网卡:

驱动安装完成后,网络连接显示如下:

2009_CM4_SSD_WiFi6_14.jpg

AX200网络详情(接在WiFi6接口上,为主网卡,wlan0):

2009_CM4_SSD_WiFi6_15.jpg

AX210网络详情(接在NVMe转WiFi6转接板上,为副网卡,wlan1):

2009_CM4_SSD_WiFi6_16.jpg

在树莓派终端中执行ifconfig -a,结果如下:

2009_CM4_SSD_WiFi6_17.jpg

我们使用网速测试软件iperf3进行测速,结果如下:

单线程(Mbps) 30线程(Gbps)
AX200 Client 403 0.57
AX200 Server 457 1.05
AX210 Client 521 1.40
AX210 Server 564 1.72

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

4.3.3.2 WiFi6和WiFi7测试

此扩展板可以改造成一路WiFi6和一路WiFi7的双WiFi扩展板,将NVMe接口配一个我司配套的NVMe转WiFi7转接板,即可实现双无线网卡:

为BE200安装固件:

在树莓派OS下,安装好驱动后,BE200需要安装固件,AX200/210不需要。安装BE200的固件后,不影响AX200/210的使用。

在树莓派终端下执行:

cd ..

cd Downloads

wget http://www.mcuzone.com/wiki/0011_MPW7/firmware_wifi7.zip

unzip firmware_wifi7.zip

sudo cp iwlwifi-gl-c0-fm-c0-86.ucode /lib/firmware

sudo cp iwlwifi-gl-c0-fm-c0.pnvm /lib/firmware

2004_CM4_WiFi7_06.jpg

然后重启系统:

sudo reboot

重启后,我们就可以在网络连接里面使用两个模块连接无线AP了,方法同WiFi6.

网络连接显示如下:

2009_CM4_SSD_WiFi6_55.jpg

AX210网络详情(接在WiFi6接口上,为主网卡,wlan0):

2009_CM4_SSD_WiFi6_56.jpg

BE200网络详情(接在NVMe转WiFi7转接板上,为副网卡,wlan1):

2009_CM4_SSD_WiFi6_57.jpg

在树莓派终端中执行ifconfig -a,结果如下:

2009_CM4_SSD_WiFi6_58.jpg

4.4 测试以太网口

将网口接上级路由器,树莓派OS终端执行ifconfig -a,显示eth0即为网口:

2009_CM4_SSD_WiFi6_18.jpg

使用iperf3对千兆网口进行测速:

client模式为943Mbps左右:

2009_CM4_SSD_WiFi6_19.jpg

server模式为949Mbps左右:

2009_CM4_SSD_WiFi6_20.jpg

注意:原生千兆网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

4.5 测试DSI

4.5.1 树莓派官方第一代液晶屏

这里使用的是树莓派官方第一代液晶屏进行测试,液晶屏需要独立供电。

连接好硬件后,给扩展板上电。等待系统运行后打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtoverlay=vc4-kms-dsi-7inch,dsi0

5001_CM5_WiFi7-PoE_33.jpg

保存后重启系统,即可使用树莓派官方7寸触摸屏。

4.5.2 树莓派官方第二代液晶屏

这里使用的是树莓派官方第二代液晶屏进行测试,液晶屏需要独立供电。

连接好硬件后,给扩展板上电。等待系统运行后打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtoverlay=vc4-kms-dsi-ili9881-7inch,dsi0

2009_CM4_SSD_WiFi6_21.jpg

保存后重启系统,即可使用树莓派官方二代7寸触摸屏。

4.5.3 注意事项

注意1:如果同时插HDMI显示器和7寸触摸屏,7寸触摸屏有可能变成副屏,只要关机后将HDMI显示器拔掉,再启动系统,7寸触摸屏就会成为主屏。

注意2:添加的语句实际上开启了第二块显示屏,即双屏显示,无论第二块屏的硬件是否安装,系统都有可能认为存在双屏,如果使用PrtScn截图,也会截到双屏的图。甚至还有可能造成系统无法启动。因此如果不需要使用这块屏,建议在config.txt中把这条语句去掉或者注释掉。

4.6 测试CSI

这里测试用的摄像头是OV5647,摄像头连接好后,给板子上电。等待系统运行后打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtoverlay=ov5647,cam0

5001_CM5_WiFi7-PoE_35.jpg

在实际使用中根据自己的型号进行添加,保存后重启系统,即可使用OV5647摄像头。

重启后在终端中输入:

ls /dev/video*

即可看到video0设备:

2009_CM4_SSD_WiFi6_22.jpg

在终端中输入libcamera-hello --camera 0即可打开对应的摄像头浏览:

2009_CM4_SSD_WiFi6_23.jpg

如果需要拍照,则输入:

libcamera-jpeg -o test.jpg

照片保存在/home/mcuzone目录下(即用户主目录),照片效果如下:

2009_CM4_SSD_WiFi6_24.jpg

五、Ubuntu OS的操作

5.1 测试USB口

扩展板上的3个USB口,分别接U盘,USB读卡器和无线键鼠,在Ubuntu终端中执行lsusblsusb -t,显示如下:

2009_CM4_SSD_WiFi6_25.jpg

Decice 003是接无线键鼠、004是接U盘、005是接USB读卡器,识别都正常;如果USB没有外接设备,则lsusb后只出现Hub,不会出现设备号。

Bus 001为USB 2.0接口,480M,工作模式也正常。

5.2 测试SSD硬盘

在终端中执行lspci,查看SSD硬盘信息:

2009_CM4_SSD_WiFi6_26.jpg

执行lsblk,我们可以看到这个SSD分区名为nvme0n1p1:

2009_CM4_SSD_WiFi6_27.jpg

安装硬盘测速软件hdparm,在Ubuntu终端下运行:

sudo apt install hdparm

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

sudo hdparm -t /dev/nvme0n1

因SSD和WiFi6是由一路PCIe通过switch一分为二,这样反映到SSD上就会对速度有所影响,测试结果如下:

2009_CM4_SSD_WiFi6_28.jpg

次数 传输速度MB/s
1 332.30
2 295.68
3 331.57
4 337.63
5 327.38
6 317.33
7 336.66
8 335.89
平均 326.81

5.3 测试WiFi6

Ubuntu系统默认不带ifconfig命令,所以需要事先安装net-tools,才可以使用ifconfig命令:

sudo apt install net-tools

5.3.1 单无线网卡测试

在Ubuntu系统下,AX200及AX210无线模组免驱,即插即用。

扩展板上插AX210,启动系统后在树莓派终端中执行lspci,即可看到:

2009_CM4_SSD_WiFi6_32.jpg

点击桌面右上角图标,可见WiFi已经激活,点击WiFi图标旁的箭头,可以选择热点进行连接:

2009_CM4_SSD_WiFi6_33.jpg

2009_CM4_SSD_WiFi6_34.jpg

输入热点密码,连接成功后,在终端中执行ifconfig -a,结果如下:

2009_CM4_SSD_WiFi6_35.jpg

这里的wlp3s0为WiFi6模块。

我们使用网速测试软件iperf3进行测速。

测速所使用的硬件设备:

路由器为小米BE6500 Pro(WiFi6/7+四口2.5G路由器),扩展板距离路由器约1米。

扩展板的AX210连接WiFi6无线网络(5G热点),与同一路由器下的Windows系统进行iperf3测速。

测试结果如下:

单线程(Mbps) 30线程(Gbps)
AX210 Client 491.00 1.80
AX210 Server 493.00 1.66

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

5.3.2 双无线网卡测试

5.3.2.1 双wifi6

此扩展板可改造为双WiFi扩展板,即通过NVME接口,配一个我司配套的NVME转WiFi6转接板,即可实现双无线网卡,如下图:

网络连接显示如下:

2009_CM4_SSD_WiFi6_36.jpg

上图已经连接热点的网卡为原AX210网卡,未连接热点的网卡为新加的AX200网卡,将AX200网卡也连接上热点,在终端中执行ifconfig -a,结果如下:

2009_CM4_SSD_WiFi6_37.jpg

这里的wlp3s0为AX210模块,wlp4s0为AX200模块。

我们使用网速测试软件iperf3进行测速。测试结果如下:

单线程(Mbps) 30线程(Gbps)
AX200 Client 492.00 1.80
AX200 Server 537.00 1.63
AX210 Client 487.00 1.58
AX210 Server 503.00 1.53

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

5.3.2.2 wifi6和CM4核心板自带WiFi

经测试,在Ubuntu系统下,如果CM4核心板自带WiFi模块,是可以与WiFi6接口的无线网卡共同使用的。

在WiFi6接口插入一块AX200网卡,使用自带WiFi模块的CM4核心板启动Ubuntu系统,可见两个无线网卡均可连接无线网络:

2009_CM4_SSD_WiFi6_59.jpg

在终端中执行ifconfig -a,结果如下:

这里的wlan0为CM4核心板自带WiFi模块,wlp3s0为AX200模块。

5.4 测试以太网口

将网口接上级路由器,终端执行ifconfig -a,显示如下:

2009_CM4_SSD_WiFi6_29.jpg

这里的eth0为板载千兆网卡。

使用iperf3对千兆网口进行测速:

client模式为936Mbps左右:

2009_CM4_SSD_WiFi6_30.jpg

server模式为938Mbps左右:

2009_CM4_SSD_WiFi6_31.jpg

注意:原生千兆网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

5.5 测试DSI

5.5.1 树莓派第一代液晶屏

这里使用的是树莓派官方第一代液晶屏进行测试,液晶屏需要独立供电。

连接好硬件后,给扩展板上电。等待系统运行后打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtoverlay=vc4-kms-dsi-7inch,dsi0

2009_CM4_SSD_WiFi6_38.jpg

保存并退出后,重启系统,即可使用树莓派官方7寸触摸屏。

5.5.2 树莓派第二代液晶屏

这里使用的是树莓派官方第二代液晶屏进行测试,液晶屏需要独立供电。

连接好硬件后,给扩展板上电。等待系统运行后打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtoverlay=vc4-kms-dsi-ili9881-7inch,dsi0

保存后重启系统,即可使用树莓派官方二代7寸触摸屏。

5.5.3 注意事项

注意1:如果同时插HDMI显示器和7寸触摸屏,7寸触摸屏有可能变成副屏,只要关机后将HDMI显示器拔掉,再启动系统,7寸触摸屏就会成为主屏。

注意2:添加的语句实际上开启了第二块显示屏,即双屏显示,无论第二块屏的硬件是否安装,系统都有可能认为存在双屏,如果使用PrtScn截图,也会截到双屏的图。甚至还有可能造成系统无法启动。因此如果不需要使用这块屏,建议在config.txt中把这条语句去掉或者注释掉。

六、CM5核心板兼容性测试

启动 仅支持eMMC版本的CM5核心板,不带eMMC的CM5核心板无法从TF卡启动
SSD启动 CM4核心板不支持SSD启动系统,CM5(无eMMC)核心板支持SSD启动。
外设名称 HDMI输出 USB2.0-A接口 SSD 千兆以太网 核心板WiFi
是否兼容
外设名称 DSI CSI 单WiFi6 双WiFi6
是否兼容 √(不支持从SSD启动时使用) ×
注:√表示兼容,×表示不兼容

七、WLAN Pi系统的使用

我们测试的WLAN Pi系统版本为:wlanpi-os_v3.3.0-2025-02-17.zip;

WLAN Pi下载地址:https://www.wlanpi.com/downloads

7.1 WLAN Pi系统下使用单无线模块

经测试,适配WLAN Pi的无线模块有:

WiFi6:AX200、AX210;

WiFi7:BE200(需NVME转WiFi7转接板配套使用)。

单无线模块下使用WLAN Pi系统的操作参考我司CM4 WIFi6扩展板,链接如下:

单无线模块下使用WLAN Pi系统

无线模块无论插在原生WiFi6接口,还是通过转接板插在SSD接口皆可使用,且不需要做额外的设置。

7.2 WLAN Pi系统下使用双无线模块

在WLAN Pi系统下,无线模块的作用是在PROFILER中作为抓包工具使用,PROFILER默认使用wlan0作为抓包工具;原WiFi6接口的模块(AX210)为wlan0,NVME转WiFI6转接板上的模块(AX200)为wlan1。

在COCKPIT的终端中运行ifconfig -a,如下图所示:

2009_CM4_SSD_WiFi6_39.jpg

此时我们运行:

wifichannel 6

sudo profiler -c 12

结果如下:

2009_CM4_SSD_WiFi6_40.jpg

从MAC地址可以得知,此时的抓包是通过AX210,即wlan0进行的。

如果需要用AX200进行抓包,我们需要运行下列命令,将wlan0和wlan1交换:

sudo ip link set wlan0 name wlan2

sudo ip link set wlan1 name wlan0

sudo ip link set wlan2 name wlan1

然后运行ifconfig -a,如下图所示:

2009_CM4_SSD_WiFi6_41.jpg

从MAC地址可以得知,此时wlan0为AX200,运行:

wifichannel 6

sudo profiler -c 12

结果如下:

2009_CM4_SSD_WiFi6_42.jpg

从MAC地址可以得知,此时的抓包是通过AX200,即wlan0进行的。

如果需要恢复默认状态(即通过AX210进行抓包),只需重启系统即可。

联系我们

4f7e81daf8791971.jpg 79c020da7ad0af9b.jpg 2851e01a0549e6f7.gif 0003_bb.jpg 0005_qq.jpg QQ:8204136

邮件:mcuzone@vip.qq.com

电话:13957118045

如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!

Copyright 2004-2025 野芯科技