5003 CM5 Router

来自Mcuzone Wiki

Change the language to English

关键词

树莓派、CM5核心板、WAN、LAN、千兆网络、5G、4G、RPiOS、Ubuntu、USB3.0、路由器、交换机、RTC、PWM、DSI、CSI、HDMI、OTG

一、简介

CM5 Router扩展板是一款基于树莓派CM5核心板,针对多网口应用的扩展板。扩展板具备一路5G接口,预留两路CM4 4G LTE接口(5G除外最多可以内置接3路4G;若接M.2 4G,此板可以内置4路4G LTE)。

板载一路原生千兆网口和四路由交换机芯片扩出来的千兆网口、一路USB3.0、四路USB2.0、一路RTC以及CSI/DSI和HDMI、40Pin GPIO等各种树莓派常规外设。

CM5 Router扩展板的电源采用USB-C口,支持PD和QC供电,PD握手在12V;且板载12V转5V电路,因此如果PD输入为12V3A,则可供电给扩展板在5V5A以上。如果只进行一些常规操作,系统总电流不超3A,也可用5V3A USB-C OTG口供电(此时5G无法使用),两个接口二选一使用。

四个千兆口具有独立IP地址,但位于同一个网段,由上游路由器来分配地址池;这四个千兆网口其中任意一路需连接至上游路由器,即可为剩下的三路网口提供网络接入。若不接上级路由器,则在树莓派系统和Ubuntu系统下将无法获取合法IP地址(会分配到169.254.xx.xx的IP地址,表示仅有物理网线连接但无合法IP地址)。

二、硬件资源

1. 一路USB3.0的M.2 B-KEY接口,用于接5G模组,30*52mm尺寸,也可用于接4G模组;

2. 一路Nano SIM卡座,预留eSIM芯片位置,5*6mm封装;板载4个SMA天线座;

3. 一路原生千兆以太网;

4. 四路千兆以太网,由PCIe通过RTL8111芯片扩展千兆以太网,再用交换机芯片扩展;

5. 一路USB3.0-A HOST;

6. 四路USB2.0 HOST,其中两路为USB-A,两路为1.25mm-4P接口,可用于扩内置4G;

7. 一路标准HDMI接口,支持4K输出;

8. 一路RTC接口,1.25mm-2P;

9. 一组CSI/DSI0组合接口,0.5mm-22P;

10. 四盏LED:电源指示灯、树莓派CM5电源指示灯和ACT灯、5G注网;

11. 两个按键:一个为开关机按键;一个是4路交换机千兆以太网重启按键,适用于开机一段时间后再插入网线获取不到合法IP的情况;

12. 40PIN GPIO,2.54mm-2*20P,完全兼容树莓派5的引脚;

13. 一路TF卡座,用于无eMMC的CM5核心板启动系统(R1.2版本不支持从TF卡启动系统);

14. 一个BOOT跳线,用于烧写带eMMC的CM5核心板用;

15. 一个OTG跳线;

16. 一路USB-C OTG口,eMMC核心板的系统烧写口,此口也可用于5V3A供电;

17. 供电:USB-C,支持PD和QC供电,握手12V;

18. 尺寸:111*135mm;

19. 可选全铝合金外壳,外壳尺寸:128*138(155带支架)*31mm

5003_CM5_Router_66.jpg

(4路千兆复位按键的说明:按下此按钮再松开,可对这4路千兆网口进行复位。如果复位失败(即网络无法重新获取IP),建议按压按钮5秒以上,等系统中的网络图标显示断开后再松开按钮。)

5003_CM5_Router_83.jpg

5003_CM5_Router_84.jpg

三、烧写系统

测试的树莓派系统的版本为2024-11-19-raspios-bookworm-arm64.img.xz,树莓派系统下载地址:

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

带eMMC的核心板,系统烧写在eMMC内;核心板不带eMMC,则系统烧写在TF卡内(注意:R1.2版本仅支持带eMMC核心板)。

使用带eMMC的核心板,将USB-C OTG口接到电脑,板上的BOOT跳线和OTG跳线用短路帽短上,如下图:

5003_CM5_Router_01.jpg

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

烧写方法请参阅:

烧写系统的方法

四、树莓派系统的使用

4.1 测试USB口

4.1.1 USB口识别测试

在扩展板的USB口插上USB设备,在树莓派终端中执行lsusb,显示如下:

识别都正常。注意,如果扩展板USB口不接设备,那lsusb里是不会出现相应的设备编号的。如Bus 005 Device 006是因为在这里接了无线键鼠才会出现,如果不接设备,就不会出现这个编号。

随后输入lsusb -t查看USB口的工作模式是否正常:

5003_CM5_Router_03.jpg

Bus 02:为USB 3.0接口,5000M;

Bus 04:为USB 3.0接口,5000M;

Bus 05:为USB 2.0接口,480M。

4.1.2 USB3.0速度测试

将一个USB的硬盘盒插入扩展板的USB3.0-A口,启动系统,在这个硬盘与eMMC之间拷贝大文件,文件为单个zip文件,大小为4.22GB,即33.75Gb。测试结果如下:

数据传输方向 耗时 传输速度
硬盘->eMMC 35.50s 0.95Gbps
eMMC->硬盘 23.18s 1.46Gbps

注意:USB3.0接口的读写速度受硬盘质量、接口状态、硬盘上的文件存储情况等多种因素影响,以上测试结果仅供参考,不作为实际产品的最终参数。

4.2 测试以太网

4.2.1 识别以太网测试

将原生千兆网口接上级路由器,再将4路千兆网口中的任意一个口接上级路由器:

5003_CM5_Router_85.jpg

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

4.2.2 以太网口测速

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

Windows版iperf3下载:

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

Linux下iperf3安装:

sudo apt-get install iperf3

对原生千兆网口进行测速:

5003_CM5_Router_86.jpg

client模式为936Mbps左右:

5003_CM5_Router_05.jpg

server模式为948Mbps左右:

5003_CM5_Router_06.jpg

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

四个千兆网口测速

将4路千兆网口中的任意两个网口分别接PC和上级路由器,使用iperf3进行扩展板网口与PC网口之间的测速:

5003_CM5_Router_87.jpg

网口在client模式为939Mbps左右:

5003_CM5_Router_07.jpg

网口在server模式为947Mbps左右:

5003_CM5_Router_08.jpg

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

▶ 4路千兆网口分别接下级设备测速

如下图连接:

5003_CM5_Router_88.jpg

这样PC和树莓派5B都通过以太网口获得上级路由器分配的IP上网。

使用iperf3进行PC与树莓派5B之间的测速,树莓派5B做client,PC做server,为937Mbps左右:

5003_CM5_Router_48.jpg

PC做client,树莓派5B做server,为948Mbps左右:

5003_CM5_Router_49.jpg

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

4.3 5G模组测试

我司配套的5G模组出厂已经配置好,在树莓派官方系统下为免驱免拨号,系统自动识别、即插即用,如果用户自己购买的5G模组,需用户自行配置,否则无法直接使用。

本文档以RM520N-GL模块为例进行测试。

4.3.1 识别5G

我们将原生千兆网口和4路千兆网口的任意一个网口都插到上级路由器,CM5核心板自带的WiFi也连接上级路由器,5G模组安装好,并插上SIM卡:

5003_CM5_Router_89.jpg

然后在树莓派系统终端下执行ifconfig -a,显示结果如下:

可见此时eth0(原生千兆网口)、eth1(4路千兆网口)、usb0(RM520N-GL 5G模块)、wlan0(CM5核心板自带WiFi)都已经正确获得了IP。

执行route,查看路由表,usb0排在第一位(Metric值最小),则系统默认5G优先,此时是通过5G模块上网:

5003_CM5_Router_23.jpg

此时我们ping IP和域名,均成功,说明5G模块工作正常:

5003_CM5_Router_24.jpg

打开https://www.speedtest.cn/进行网速测试,结果如下:

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

4.3.2 网络优先级的修改

上一节我们查看了路由表,默认情况下,优先通过5G网络上网。

如果你不想用5G上网,而要优先通过其他网络(比如原生千兆网口或4路千兆网口或CM5核心板自带wifi)上网的话,可以运行命令:

sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1

这两条命令(以“&&”分隔)的解释:

sudo ip route del default:删除路由表中的默认路由;

sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1:添加上级路由器的网关为新的默认路由(网关地址以实际为准)。

执行完毕后,再执行route,查看路由表,目前的默认路由为上级路由器的网关(按Metric值,eth1排第一位):

5003_CM5_Router_26.jpg

这样网络就默认走上级路由器了,如果需要改回默认走5G网络,请重启系统即可。

注意,重启后路由表还是会恢复原状,所以如果重启后要网络继续默认走上级路由器,需要再执行一次sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1

如果需要需要自定义Metric值,即随意调整各个网络连接的优先级,则需要安装ifmetric软件:

sudo apt install ifmetric

安装完毕后就可以修改网卡的metric值,比如说原先的路由表显示如下:

5003_CM5_Router_23.jpg

此时我们想让wlan0排在路由表的第一位,则可以执行:

sudo ifmetric wlan0 99

99为metric值,可自定义,只要保证是路由表中的所有metric值中最小的即可。

执行完毕后,再执行route,查看路由表,目前的默认路由为无线网络的网关wlan0,即无线网卡排第一位:

5003_CM5_Router_69.jpg

这样就能默认通过无线网络上网了。

注意,重启后路由表还是会恢复原状,所以如果重启后要网络继续默认走无线网络,需要再执行一次sudo ifmetric wlan0 99

4.5.3 AT命令操作

使用lsusb查看USB设备,红框处即为5G模组:

5003_CM5_Router_27.jpg

记下5G模块的ID值:2c7c 0801

使用下列命令打开ttyUSB串口,其中echo后面的值就是上面记录的ID值:

sudo modprobe option

sudo sh -c 'echo 2c7c 0801 > /sys/bus/usb-serial/drivers/option1/new_id'

执行上述两条命令之后执行:

ls /dev/ttyUSB*

此时应该能看到dev设备下有ttyUSB0-3四个设备:

5003_CM5_Router_28.jpg

然后用串口工具打开特定串口(AT命令串口):

安装minicom工具:

sudo apt-get install minicom

通过minicom打开AT命令串口:

sudo minicom -D /dev/ttyUSB2

(注意:使用哪个串口,应以在进入此串口后,可输入运行AT命令,显示不乱码,不乱跳结果为准)

第一次输入AT命令可能没有回显,此时如果输入命令at后回车,有返回OK,就说明工作正常。如果需要查看回显,请键入命令:ate1,然后回车,继续键入其它命令,就可以看到输入。

常用AT命令:

1. 查看回显:

ate1

第一次输入AT命令可能没有回显,此时如果输入命令at后回车,有返回OK,就说明工作正常。如果需要查看回显,请键入命令:ate1,然后回车,继续键入其它命令,就可以看到输入。

2. 检查SIM卡是否识别到:

at+cpin?

返回ready表示卡已识别,返回error要检查硬件

3. 检查天线信号质量:

at+QRSRQ

RSRQ 覆盖强度级别 备注
RSRQ > -10dB 1 信号质量非常好,适用于高速数据传输和高质量的语音通话。
-10dB ≤ RSRQ ≤ -15dB 2 信号质量良好,适用于大多数数据传输和语音通话。
-15dB ≤ RSRQ ≤ -20dB 3 信号质量一般,适用于低速数据传输和低质量的语音通话。
RSRQ < -20dB 4 信号质量非常差,可能会导致数据传输速度变慢或者连接中断。

4. 检查注网情况:

at+cops?

正常应该返回运营商代码和7或者11,7代表4G,11代表5G。

注意,以上命令只有at+QRSRQ不要加问号,另外两条命令需要加问号。

5. 查看5G模块的IMEI码:

at+cgsn

6. 重启5G模块(有时候如果重插SIM卡,热插拔不一定管用,可以用这个reset命令来复位模块):

at+reset

7. 关闭射频:

at+cfun=0

开启射频:

at+cfun=1

上述两条命令成对使用,可以在不重启5G模组的情况下让模组重新注网。

4.4 RTC测试

CM5核心板自带RTC电路,扩展板上需外接电池,可在树莓派系统下直接使用。如下图所示:

5003_CM5_Router_30.jpg

系统启动后,在树莓派终端中运行:

ls /dev/r*

即可看到RTC设备:

5003_CM5_Router_31.jpg

显示当前系统时间的命令是date

将系统时间从RTC读出的命令是sudo hwclock -r

将系统时间写入RTC的命令是sudo hwclock -w

如下图所示:

5003_CM5_Router_32.jpg

如果此时正确接上了RTC电池,则断电后RTC内部的时间仍会正确计时,下一次上电启动后,即使不联网更新,也会保持正确时间。如果未正确接上RTC电池,则断电后将会恢复到默认时间(1970年1月1日)。

4.5 PWM风扇测试

安装监测软件s-tui:

sudo apt install s-tui

然后在树莓派终端中运行s-tui,则可以在监测窗口中看到风扇转速的变化:

5003_CM5_Router_33.jpg

如果需要自定义风扇的转速和运行的温度范围,请打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

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

dtparam=cooling_fan=on

dtparam=fan_temp0=50000,fan_temp0_hyst=5000,fan_temp0_speed=255

其中:

fan_temp0=50000,50000为表示温度,这里是50摄氏度;

fan_temp0_hyst=5000,5000表示迟滞温度,这里是5摄氏度;

fan_temp0_speed=255,255表示风扇转速,最高为255。

可以写入多段温度及相对应的风扇转速,每一段另起一行,使用不同的序号数字来区分,例如:

dtparam=fan_temp1=36000,fan_temp1_hyst=5000,fan_temp1_speed=128

5003_CM5_Router_59.jpg

4.6 DSI测试

树莓派官方两代液晶屏,第一代液晶屏的分辨率为800*480,第二代液晶屏的分辨率为1280*720,两代液晶屏均需独立供电。

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

将屏连接线插入扩展板的CSI/DSI 0上电启动系统,打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

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

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

5003_CM5_Router_34.jpg

保存后重启系统,即可使用树莓派官方7寸触摸屏。显示效果如下所示:

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

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

sudo nano /boot/firmware/config.txt

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

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

2009_CM4_SSD_WiFi6_21.jpg

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

注意事项

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

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

4.7 CSI测试

我们使用的是OV5647摄像头,接口为CSI/DSI 0,系统运行后打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

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

dtoverlay=ov5647,cam0

5003_CM5_Router_37.jpg

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

重启后在终端中输入:

ls /dev/video*

即可看到video0设备:

5003_CM5_Router_38.jpg

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

如果需要拍照,则输入:

libcamera-jpeg -o test.jpg

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

4.8 4G模块测试

4.8.1 联网4G

板载USB口1.25mm-4P,可接我司配套的CM4 4G mini模块:

5003_CM5_Router_71.jpg

这里测试用的是CAT4 4G,在树莓派终端中执行lsusb,显示如下,红框中即为4G:

5003_CM5_Router_41.jpg

执行ifconfig -a,显示如下:

eth2为Cat4 4G,已获取了IP地址。

执行route,可见eth2排在第一位,因此优先通过4G网络上网:

5003_CM5_Router_43.jpg

此时我们ping IP和域名,均成功,说明4G模块工作正常:

5003_CM5_Router_44.jpg

4G的AT命令操作方法与5G模组的操作相同,请参阅4.3节,只是查检查天线信号质量的AT命令不一样,为at+csq,返回值在26-31表示信号OK,信号满格31;返回值在20-25表示信号勉勉强强;返回值在20以下表示信号比较糟糕或者天线没接。

4.8.2 联网其它4G型号

我司高通4G模块,在树莓派系统里自动识别成USB设备,和5G一样。板载的1.25mm-4p USB口接高通4G模块,M.2 B-KEY仍旧接RM520N-GL模组,系统会自动排序,默认5G优先,示例如下:

5003_CM5_Router_72.jpg

执行ifconfig -a,显示如下:

板载1.25mm-4p的USB口接高通4G,M.2 B-KEY接ZTE CAT4 4G模块,示例如下:

5003_CM5_Router_73.jpg

执行ifconfig -a,显示如下:

此扩展板可最多同时接4个4G,示例如下:

5003_CM5_Router_74.jpg

4.8.3 修改4G的IP地址

如果出厂默认的4G IP地址和用户使用的IP地址有冲突,或有修改IP地址的需求,可按照下列步骤进行修改:

CAT4 4G模块:

执行AT命令:

AT+ROUTEIP=<newip>

注意,只支持192.168.x.1这样格式的地址,如果设置了AT+ROUTEIP=192.168.3.1,最终获得的IP为192.168.3.100,修改完后需断电重启系统。

查询当前IP:AT+ROUTEIP?,返回两个值,前一个为旧IP,后一个为新IP。

测试命令:AT+ROUTEIP=?

高通4G模块:

将4G模块的IP改为直接获取公网IP即可,请执行AT命令:

设置IP为公网:AT+GTIPPASS=1

设置IP为内网:AT+GTIPPASS=0

查询当前IP为公网还是内网:AT+GTIPPASS?

修改IP完毕后需要断电重启才能生效。

4.9 开关机按键测试

CM5 Router扩展板带有一个开关机按键,开机状态下,按一下按键,弹出关机菜单:

5001_CM5_WiFi7-PoE_47.jpg

再按一下按键,直接关机;

关机状态下(需接电源)按一下按键,上电开机。

注意:按键开关机功能需要系统软件支持,树莓派系统和Ubuntu系统默认已支持,当前版本OpenWrt系统暂不支持开关机功能。

五、OpenWrt系统的使用

本文档测试采用的OpenWrt系统是经Mcuzone所编译的,版本为:openwrt-bcm27xx-bcm2712-rpi-5-squashfs-sysupgrade-linux-6.6.67-20250105.img.gz。

本文档以RM520N-GL模块为例。默认状态下,系统将5G模块配置为WAN口,扩展板上的原生千兆网口被配置成LAN口,4个千兆网口未配置。

此外也可以使用istoreos系统。

版本为:istoreos-24.10.1-2025052311-raspberrypi-rpi5-squashfs.img.gz

下载地址:

https://fw.koolcenter.com/iStoreOS/rpi5/

5.1 登录系统

将原生千兆网口插在PC上,系统启动后,我们在Windows设置中找到网络和Internet,在以太网中打开连接的网络查看默认网关的IP地址,这个地址就是OpenWrt系统的后台配置页面地址,如图所示,本文测试的地址为192.168.1.1:

然后打开网页浏览器输入192.168.1.1,进入OpenWrt系统。默认用户名为root,默认密码为password

5.2 配置LAN口和有线WAN口

现在我们需要将4路千兆网口配置成LAN口,而将原生千兆网口配置成WAN口。

点击“服务 - 终端”,登录OpenWrt的终端,用户名为root,密码为OpenWrt的“路由器密码”(默认无密码):

执行ifconfig -a,结果如下:

进入“网络 - 接口 -设备”,点击“br-lan”后面的“配置”:

点开“网桥端口”后面的下拉菜单,将eth0前面的勾去掉,将eth2前面的勾打上,然后点击“保存”:

点击顶部栏目的“接口”:

点击“添加新接口...”

按下图进行配置(“名称”可以自定义),设备选择“eth0”,然后点击“创建接口”:

点击“防火墙设置”,在“创建/分配防火墙区域”中,选择wan,然后点击“保存”:

这样我们就把原生千兆网口配置成了WAN口,4路千兆网口配置成了LAN口,同时5G模组默认就配置成了WAN口。

点击“保存并应用”:

稍等片刻后将原生千兆接上级路由器,4千兆的任何一个网口接PC,重启系统。

重新登录OpenWrt系统的管理页面,进入“网络 - 接口”:

此时LAN口为br-lan,即4路千兆网口(eth2);

有线WAN口为原生千兆网口(eth0);

5G模组(eth1)默认配置成为WAN口。

5.3 测试5G网络

5.3.1 5G网络稳定性测试

我们在PC端测试5G网络的稳定性,执行ping www.mcuzone.com共计60925次,仅丢失一次,平均往返行程时间47ms,结果非常稳定:

5.3.2 5G网络速度测试

我们在PC端测试5G网络的速度,打开https://test.ustc.edu.cn/进行网速测试,结果如下:

联系我们

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

邮件:mcuzone@vip.qq.com

电话:13957118045

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

Copyright 2004-2025 野芯科技