1. 为什么选择树莓派CM5来打造你的专属软路由?
如果你对家庭网络有点追求,或者是个喜欢折腾的极客,肯定听说过软路由。传统的硬路由功能固定,性能有限,想装个插件、搞个网络加速都得看厂商脸色。而软路由,说白了就是一台运行了路由系统的小电脑,自由度极高,性能上限也高。但传统的小主机软路由,要么体积大、功耗高,要么价格不菲。这时候,树莓派CM5核心板就进入了我的视野。
我当初选它,主要看中三点。第一是性能足够强。CM5用的是博通BCM2712处理器,四核A76架构,性能比前几代树莓派强了一大截。跑OpenWrt这种轻量级路由系统,处理千兆网络转发、跑一些网络服务插件,完全是游刃有余,甚至有点“性能过剩”。第二是接口灵活,扩展性极佳。CM5核心板本身集成了WiFi 6和蓝牙,还通过高速PCIe通道引出了两个USB 3.0接口和一个千兆以太网口。这意味着你可以轻松地给它接上4G模块、2.5G网卡,甚至固态硬盘,玩法非常多。第三点,也是我个人很看重的,就是DIY的乐趣和成本可控。一块CM5核心板加上一个简单的底板,成本远比一台成品的x86软路由要低。而且,你可以根据自己的需求,用3D打印机给它“量身定做”一个外壳,从散热到天线布局,全部自己掌控,这种亲手打造的感觉,是买成品设备无法比拟的。
所以,这篇文章就是把我用树莓派CM5打造一台高性能、支持4G联网的OpenWrt软路由的完整过程分享出来。从硬件怎么选、外壳怎么打,到系统怎么烧、网络怎么配,再到怎么优化散热,我会把每一步的细节和踩过的坑都讲清楚。无论你是想给家里网络升级,还是想在移动场景(比如房车、临时办公点)搞一个稳定可靠的网络中枢,这套方案都值得一试。整个过程就像搭乐高,有清晰的步骤,也有自由发挥的空间,准备好了吗?我们开始吧。
2. 硬件准备与组装:从核心板到定制外壳
工欲善其事,必先利其器。打造一台好用的软路由,硬件是基础。这部分我会详细拆解需要的每一个部件,并解释为什么这么选。
2.1 核心部件选择:CM5核心板与底板
首先当然是主角:树莓派CM5核心板。这里有个关键选择:带WiFi模组的版本是必须的。CM5有带eMMC存储的版本和不带eMMC的Lite版本。对于软路由来说,两者都可以。eMMC版本内置了存储,系统直接烧录进去,更简洁可靠。Lite版本则需要外接一张TF卡作为系统盘,成本更低,但TF卡的读写寿命和稳定性在频繁写入日志的环境下稍逊一筹。我个人更推荐eMMC版本,一劳永逸。
光有核心板还不行,它需要一块底板(Carrier Board) 来提供电源、USB等接口。市面上有几款为CM5设计的微型底板,比如CM5_Tiny。选择时要注意看版本,有些早期版本可能缺少某些功能。我们需要确保底板至少具备:一个USB 2.0 Type-A母口(用于后续连接电脑配置)、一个供电接口(通常是Type-C)、以及引出CM5核心板的PCIe和USB 3.0接口,方便我们接4G模块。我用的就是一块常见的CM5_Tiny底板,尺寸小巧,该有的接口都有。
2.2 网络扩展关键:4G模块与天线
让软路由支持4G上网,是实现移动联网的核心。我们需要一个USB接口的4G上网模块。注意,要选择支持USB NCM(Network Control Model)驱动的型号,这样在OpenWrt系统下才能被直接识别为网卡,配置起来最简单。市面上很多常见的4G模块,比如移远EC20、EC25系列,都符合要求。购买时最好确认一下OpenWrt官方或社区是否支持。
有了模块,天线也不能马虎。4G模块通常需要连接两根天线:主集天线和分集天线,用于提升信号接收质量。我建议购买SMA接口的4G胶棒天线,增益高,效果稳定。为了美观和信号,我们可以把天线贴在设备内部,这就需要外壳有相应的空间和设计。
2.3 散热方案:静音与高效的平衡
树莓派CM5性能强,发热也不小。在长时间高负载的网络转发下,温度积累很快。不加任何散热措施是绝对不行的。基础方案是加装散热片。你可以购买现成的CM5专用散热片,通常是铜质或铝质,通过导热硅胶贴粘在CPU芯片上。实测在轻负载下,温度也能到50-60度,摸上去确实烫手。
如果你追求更低的温度和静音,或者环境通风较差,我强烈推荐主动散热方案:加装一个PWM调速的小风扇。CM5的GPIO引脚可以输出PWM信号来控制风扇转速。我们可以实现“温度高时转快点,温度低时转慢点甚至停转”的智能调速,既保证了散热效果,又避免了持续噪音。风扇的供电可以从底板的GPIO或USB口取电,具体接线后面会讲。
2.4 灵魂所在:3D打印定制外壳
这是DIY最有乐趣的一环!一个设计良好的外壳,不仅仅是保护设备,更是整合散热、优化天线布局的艺术品。你可以去开源模型网站(如Thingiverse)找现成的CM5外壳模型,但我更鼓励自己设计或简单修改。
我用Fusion 360设计了一个两件式外壳。下盖(底座) 负责固定CM5核心板、底板和4G模块。我在内部设计了立柱和卡槽,确保所有板子稳稳固定,不会晃动。关键是在内侧预留了位置,用来粘贴那两根4G天线,让天线竖直向上,信号最好。上盖我直接用了一块定制的铝合金散热片,兼做外壳顶盖。这样,CM5 CPU上的热量通过导热垫直接传导到整个金属上盖,散热面积巨大。同时,我在上盖对应风扇的位置开了进气孔,在侧面开了出气孔,形成风道。
设计时要注意几点:一是所有接口(USB、网口、电源)要开孔精准;二是内部要留够空间,避免元件短路;三是风道设计要合理,空气能顺利流过散热片。把设计好的模型导出为STL文件,就可以用3D打印机(PLA或PETG材料)把底座打出来了。拿到实体零件,组装起来的那一刻,成就感满满。
3. 系统烧录与初始启动:让OpenWrt跑起来
硬件组装完毕,接下来就是给它注入灵魂——安装OpenWrt系统。这个过程比想象中简单,但有几个细节不注意就容易卡住。
3.1 准备工作:驱动与工具
首先,在你的电脑(Windows或Mac)上需要准备两个软件。第一个是 rpi_boot工具。因为CM5核心板进入烧录模式(USB启动模式)后,会被电脑识别为一个特殊的设备,需要这个驱动才能正确挂载。你可以从树莓派相关社区或硬件供应商的网站找到它,下载并安装。
第二个是系统烧录工具。官方推荐的是 Raspberry Pi Imager,它非常方便,自动下载系统镜像。但这里我们用的是定制版的OpenWrt镜像,所以我会更推荐使用 balenaEtcher 或者 Win32DiskImager 这类可以烧录本地镜像文件的工具,通用性更强。
当然,最重要的还是OpenWrt系统镜像文件。你需要寻找为树莓派CM5编译好的OpenWrt固件。可以关注一些活跃的OpenWrt社区或开发者,他们通常会发布适配最新硬件的镜像。下载时确认镜像版本号和支持的硬件列表,确保包含CM5的驱动。
3.2 进入烧录模式与连接
这是关键一步。CM5核心板没有直接的“复位键”或“烧录键”,它通过USB 2.0接口进入烧录模式。具体操作如下:
- 确保CM5没有通电。
- 找到底板上那个USB 2.0接口(通常是Type-A母口)。
- 用一根USB数据线(注意必须是能传输数据的数据线,不是仅充电的线),一端连接这个USB 2.0口,另一端连接你的电脑。
- 在连接电脑之前,你需要让CM5短路进入烧录状态。根据不同版本的底板,方法有二:一是用镊子或导线短接底板上的“OTG”测试点(通常标有OTG字样)两个焊盘;二是如果你的底板是Rev1.2或更新版本,可能会有一个物理的“Boot”按钮,按住这个按钮不放。
- 在保持短接或按住Boot键的状态下,将USB数据线的另一端插入电脑。此时,电脑会发出识别新硬件的提示音。
- 可以松开短接的镊子或Boot键了。
3.3 烧录镜像到eMMC
现在打开电脑的“设备管理器”(Windows)或“系统信息”(Mac),你应该能看到一个名为“BCM2712 Boot”或类似的设备。这说明rpi_boot驱动生效了。
接着,打开你的烧录工具,比如balenaEtcher。
- 点击“Select image”,选择你下载好的CM5专用OpenWrt镜像文件。
- 点击“Select target”,这时软件应该能识别到一个新的可移动磁盘,这个磁盘就是CM5的eMMC存储(或外接的TF卡)。务必看清楚磁盘大小和盘符,别选成你的电脑硬盘了!
- 确认无误后,点击“Flash!”开始烧录。这个过程大概需要几分钟,期间进度条会走动,请保持设备连接稳定,不要拔线。
- 烧录完成后,软件会提示成功。此时,先关闭烧录软件,然后将USB数据线从电脑上拔掉。这个顺序很重要,直接拔线有时会导致磁盘未安全弹出,可能损坏系统。
3.4 首次启动与验证
给CM5接上电源(通过底板的Type-C口),系统就会开始首次启动。启动过程需要一两分钟。如何判断它启动成功了呢?关键看那根连接电脑的USB 2.0数据线。
系统正常启动后,这个USB 2.0接口会扮演一个非常重要的角色:它会被配置为一个USB NCM(Network Control Model)网卡。也就是说,你的电脑会把它识别为一块新的有线网卡。
- 在Windows 11或macOS上:系统通常能自动识别并安装好这块“UsbNcm”网卡驱动,你可以在网络连接里看到一个新的以太网适配器。
- 在Windows 10上:可能需要手动安装一下驱动。你可以使用通用的“USB RNDIS”驱动试试,或者根据OpenWrt镜像提供方的说明来操作。
当你看到电脑识别出了这块新网卡,并且给它自动分配了一个IP地址(通常是169.254.x.x这类链路本地地址),或者它获取到了由CM5分配的IP地址(如192.168.1.x),恭喜你,你的树莓派CM5 OpenWrt系统已经成功跑起来了!下一步,就是登录后台进行详细配置。
4. OpenWrt后台配置:打造双模式智能网关
系统启动后,我们就要进入OpenWrt的“大脑”——LuCI网页管理界面,进行网络配置。我们的目标是实现两种实用的网络模式,满足不同场景。
4.1 登录管理后台与初始设置
首先,我们需要知道OpenWrt后台的IP地址。由于USB NCM网卡连接后,CM5的OpenWrt通常会运行一个DHCP服务器。你可以在电脑上打开命令提示符(CMD)或终端,输入 ipconfig(Windows)或 ifconfig(Mac/Linux),查看那块UsbNcm网卡获取到的IP地址。其“默认网关”一般就是OpenWrt的管理地址,常见的是 192.168.1.1。
在浏览器中输入这个地址(如 http://192.168.1.1),就能看到OpenWrt的登录界面。默认用户名通常是 root,密码初次登录可能为空,或者为 password,具体看镜像的说明。
登录后第一件事,我建议先改一下管理密码(在“系统” -> “管理权”页面),并设置一下时区。然后,我们可以进入“网络” -> “接口”页面,这是配置的核心。
你会看到一个默认的LAN接口,它绑定的设备就是 usb0(即那个USB NCM网卡)。这个接口就是我们电脑连接的管理通道,也是内网的一部分,暂时不用动它。
4.2 模式一:WiFi作WAN,USB有线出(家庭扩展)
这种模式适合大多数家庭环境。让CM5自带的WiFi 6网卡去连接你家里的主路由器(作为WAN,接互联网),然后通过USB NCM网卡为你的电脑提供有线网络(作为LAN)。相当于把CM5变成了一个高性能的无线客户端+有线交换机。
- 配置WiFi为客户端模式:进入“网络” -> “无线”页面。你会看到CM5自带的无线网络(可能是
radio0),默认是“Master(AP)”模式,也就是它自己在发射WiFi信号。我们需要先禁用这个AP。点击“禁用”按钮。 - 扫描并连接上级WiFi:在同一个无线设备(
radio0)下,点击“扫描”按钮,找到你家的主路由器WiFi信号,点击“加入网络”。在弹出页面中,输入你家WiFi的密码,最关键的一步来了:在“创建/分配防火墙区域”下拉菜单中,一定要选择wan。这样,这个无线连接才会被划归到WAN区域,用于上网。 - 保存并应用:点击“提交”,然后“保存&应用”。稍等片刻,CM5就会尝试连接你家路由器。连接成功后,在“网络” -> “接口”页面,你应该能看到多了一个叫
WWAN的接口,并且获取到了IP地址(比如192.168.31.xxx)。 - 测试网络:此时,你的电脑通过USB线连接CM5,应该就能直接上网了。你可以在OpenWrt后台的“状态” -> “实时信息”里看到流量统计,也可以用电脑测个速。我实测下来,通过WiFi 6连接,跑满500Mbps的家庭宽带毫无压力,CPU占用还很低。
注意:在这种模式下,CM5的WiFi被用作客户端(Client)去连接外部网络了,它自己就无法再发射WiFi信号给手机用了。如果你想分享网络给手机,一个变通的办法是利用你电脑的“移动热点”功能,将来自USB NCM网卡的网络共享出去。这样手机连接电脑的热点,也能享受到CM5软路由带来的网络服务。
4.3 模式二:4G模块作WAN,打造移动网络中心
这是本项目的精华所在,让软路由摆脱网线束缚,用4G/5G模块上网。将4G模块作为WAN口,USB NCM网卡作为LAN口,同时CM5自带的WiFi可以设置为AP模式,供无线设备连接。
- 安装4G模块:将4G模块插入底板的USB接口(确保是USB 3.0口以获得更好性能),接好天线。给CM5上电。
- 识别4G模块:进入OpenWrt后台的“网络” -> “接口”页面。点击下方的“添加新接口”。
- 接口名称:可以起名为
4G-WAN。 - 协议:选择“DHCP客户端”(因为4G模块通常从运营商基站获取IP)。
- 包含以下接口:这里需要选择4G模块对应的网络设备。它通常会被识别为
wwan0或usb1等。如果不确定,可以到“系统” -> “内核日志”里查看,或者插拔一下模块看哪个设备出现。 - 防火墙设置:必须分配到
wan区域。
- 接口名称:可以起名为
- 配置AP热点:现在我们可以把CM5自带的WiFi用起来了。回到“网络” -> “无线”页面,启用
radio0,模式选择“Master(AP)”,设置一个SSID和加密密码。这个无线接口默认会桥接到LAN防火墙区域,也就是说,连接这个WiFi的设备,和通过USB线连接的电脑,处于同一个内网。 - 保存与应用:点击“保存&应用”,等待配置生效。这时,你的CM5就变成了一个4G路由器!4G模块负责从移动网络获取互联网连接,然后通过USB有线(LAN1)和自建WiFi(LAN2)分享给所有设备。
- 速度测试与优化:我分别用电脑(USB有线)和手机(连接CM5的WiFi)进行了测速。由于4G网络速度受信号强度影响极大,天线摆放位置至关重要。我的3D打印外壳将天线贴在内壁竖直向上。测试时发现,如果将金属散热片朝上放置(天线在下方),速度一般;而如果把设备“倒过来”,让3D打印的底座朝上(天线在上方),速度会有明显提升。所以,在实际部署时,尽量让4G天线处于高位且无遮挡。
5. 散热优化与长期稳定运行指南
硬件装好了,网络调通了,但想让这台小机器7x24小时稳定工作,散热是必须跨过去的一道坎。我在这上面踩过坑,也总结出一些切实有效的办法。
5.1 监控温度:知己知彼
首先,你得知道它有多“热”。OpenWrt系统本身提供了温度监控。通过SSH登录到CM5(地址就是管理后台IP,用户root),输入命令 sensors。如果提示没有这个命令,可以安装 lm-sensors 和 coreutils 包。安装后运行 sensors,你就能看到CPU的温度读数。
更直观的方法是在LuCI网页后台安装一些状态监控插件,比如 luci-app-statistics,它可以图形化显示CPU温度、负载、网络流量等。看到实时数据,你才能评估散热方案是否有效。
5.2 被动散热:散热片的学问
只靠一个小的铝片散热片,对于持续网络转发的CM5来说是不够的。我的方案是利用整个外壳进行散热。这就是为什么我把上盖直接做成一块大面积的铝合金散热片。CM5核心板CPU芯片通过高品质的导热硅胶垫,紧密贴合在这块金属上盖上。热量直接从CPU传导到整个金属外壳,散热面积增大了几十倍。
在选择导热硅胶垫时,要注意厚度和导热系数。厚度要刚好填满CPU芯片顶盖到金属外壳内壁的距离,确保压紧但没有太大应力。导热系数越高越好,我一般选用6W/mK以上的。安装时,记得把CPU芯片和散热片内壁的灰尘、油渍擦干净。
5.3 主动散热:PWM风扇智能调速
在夏天或者通风不好的柜子里,被动散热可能还是会让温度攀升到70度以上。这时候,安静的主动散热就很有必要了。我加装了一个4010规格(40mm x 40mm x 10mm)的5V PWM风扇。
接线很简单:风扇的红色线(正极)接到底板GPIO或USB口提供的5V电源上,黑色线(负极)接GND地线,而蓝色的PWM控制线,则接到CM5的一个GPIO引脚上(例如GPIO17)。然后在OpenWrt中,我们可以通过安装 kmod-pwm 和配置脚本来实现温控调速。
这里分享一个简单的脚本思路:通过 sensors 命令读取CPU温度,设定几个温度阈值。比如,温度低于50度时,让PWM占空比为0(风扇停转,完全静音);温度在50-60度时,以30%的转速低速运行;温度超过65度,则提高到70%转速;超过70度,则全速运转。这样既能保证散热,绝大部分时间又非常安静。你可以把这个脚本设置为开机自启,让它一直在后台运行。
5.4 系统优化与维护建议
除了硬件散热,系统层面也能做一些优化来降低负载和提升稳定性。
- 精简软件包:OpenWrt非常灵活,但装太多用不到的插件会增加CPU负担和内存占用。只安装你真正需要的功能,比如DDNS、网络唤醒、广告过滤等。像Transmission、Aria2这种下载工具,如果不用就别装。
- 定期更新:关注你使用的OpenWrt固件更新,及时更新可以获得安全补丁和性能优化。但升级前务必做好配置备份。
- 日志管理:系统的日志文件会不断写入存储。对于使用TF卡的Lite版本,频繁写入可能影响寿命。可以在“系统” -> “系统” -> “日志”中,将日志缓冲区大小设小一点,或者关闭一些不必要的调试日志。
- 备份配置:在LuCI的“系统” -> “备份/升级”页面,定期导出一份配置备份。这样无论系统怎么折腾,都能快速恢复到你熟悉的状态。
经过这一套组合拳,我的树莓派CM5软路由在室温25度的环境下,长时间满载运行,CPU温度也能稳稳地压在60度以下,风扇大部分时间处于低速或停转状态,几乎听不到声音。把它放在书房,既是一台性能强大的网络网关,也是一个安静的、充满成就感的DIY作品。


被折叠的 条评论
为什么被折叠?



