商品图#
各大购物平台上随便一搜,CNC 的小体积外观还是很扎眼的,在能自选模块的 CPE 品类里面,能选的本身也不多。买之前还挣扎了一会鲲鹏 C2000 MAX,但是塑料壳以及塑料壳的散热不太讨喜,最后还是选了 H5000M,凑了一些购物平台的图。老板还是很有趣的,可惜我比较讨厌,老板不是很喜欢和我讲话。

拆解与安装#
手很痒,到手第一件事是先拆开,顺便买了一块能给我提供很大安慰作用的紫铜散热片,给 MT5700M 准备的。其实感觉买铝的散热片即可,铜的会太重了,而且本身模块就有屏蔽罩,带来的提升并不大。 刚拆开时可以看到主板的正反面,散热片的做工也很好,可见 MT7987、MT7991、MT7976。这三个芯片上有导热膏,如果打算拆开的话记得准备硅脂,我在粘回去的时候又上了一些 TF7。
供电的话走 PD 即可,2.5G 网口做工也不错,作为便携路由器也不会一闪一闪地刺眼,白色的状态灯也比彩灯要好看一些。
模块与主板#





配置#
dae 蛮适合单独创建一个 proxylan 语义的网桥,并单独桥接到一个 AP、一个网口上,然后配置 dae 单独代理这个桥接接口。这样能做到左侧网口直连,右侧网口代理,第一个 AP 直连,第二个 AP 代理,切换起来很方便,日常使用几乎无感。
MT5700M WebUI 实现的 AT 很完整,可根据实际情况绑定小区或者锁频。可惜我在写这篇 Blog 时,5G 信号不太好,所以没测速了,预期是有 500 Mbps 以上的。


构建环境#
$ fastfetch --logo none --pipe --structure 'OS:Kernel:CPU:Memory:Disk'
OS: Fedora Linux 44 (KDE Plasma Desktop Edition) x86_64
Kernel: Linux 7.1.6-201.fc44.x86_64
CPU: AMD Ryzen 9 9950X (32) @ 5.76 GHz
Memory: 18.04 GiB / 91.95 GiB (20%)
Disk (/): 1.11 TiB / 1.82 TiB (61%) - btrfs
| 项目 | 版本或配置 |
|---|---|
| 源码 | ImmortalWrt openwrt-25.12 |
| 基础提交 | b4efc93f5b40 |
| 目标 | mediatek / filogic / hiveton_h5000m |
| Podman | 5.8.4 |
| 构建镜像 | ghcr.io/openwrt/buildbot/buildworker-v3.8.0 |
| 镜像摘要 | sha256:e3f4d838dfe65906af93923a7902e56e2ed861b8debffcca3d0db89c580905ae |
| 下载并发 | make download -j4 |
| 编译并发 | make -j32 V=sc |
构建使用官方 Buildbot 容器,源码目录挂载为 /builder。下载阶段使用 4 路并发,依赖进入 dl/ 缓存后,再使用 32 路并行完成编译和镜像打包。
podman run --rm --network=host \
--entrypoint /bin/bash \
-e 'CURL_OPTIONS=-4 --connect-timeout 20' \
-v "$PWD:/builder:rw,Z" \
-w /builder \
ghcr.io/openwrt/buildbot/buildworker-v3.8.0@sha256:e3f4d838dfe65906af93923a7902e56e2ed861b8debffcca3d0db89c580905ae \
-lc 'make download -j4 && make -j32 V=sc'本机运行的 daed 绑定了物理网卡,Podman 默认网络下的容器访问镜像源会出现连接超时。具体 CN 环境下,网络参数与实际环境有关。
外部软件包#
MT5700M 的 AT 服务与 LuCI 管理页面来自下面的独立仓库,不属于 ImmortalWrt 默认源码。本次构建没有选择 QModem 等通用 modem server,只保留了针对 MT5700M 的 at-webserver,避免多个服务竞争 AT 串口。
构建时将仓库中的 at-webserver 和 luci-app-at-webserver 放入源码树的 package/mt5700webui-openwrt-server/,在 menuconfig 中选中 luci-app-at-webserver;它会自动选择后端服务及 Python 依赖。执行整机编译时会一并打包,也可以单独构建:
$ make package/at-webserver/compile V=sc
$ make package/luci-app-at-webserver/compile V=sc
本次构建生成的独立 APK 位于 bin/packages/aarch64_cortex-a53/base/:
| 构建产物 | 用途 |
|---|---|
at-webserver-1.0-r16.apk | AT WebSocket 后端、MT5700M WebUI 与 init 服务 |
luci-app-at-webserver-1.0-r26.apk | LuCI 配置和 AT 调试界面 |
luci-i18n-at-webserver-zh-cn-0.apk | 简体中文翻译 |
构建配置#
这里的“默认配置”指同一源码版本中,选择 mediatek / filogic / hiveton_h5000m 后生成的 ImmortalWrt 默认配置,不是 Hiveton 官方闭源固件。
目标与设备默认项#
CONFIG 选择 H5000M
Target System (MediaTek Ralink ARM) --->
Subtarget (Filogic 8x0) --->
Target Profile (Hiveton H5000M)对应的最小目标配置为:
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_hiveton_h5000m=yH5000M profile 已经包含无线、风扇、USB 3.0、2.5GbE PHY 和 eMMC 文件系统所需的基础支持。这些项目不是本次构建额外添加的功能。
CONFIG H5000M 默认硬件支持
<*> kmod-hwmon-pwmfan
<*> kmod-usb3
<*> mt7987-2p5g-phy-firmware
<*> kmod-mt7996e
<*> kmod-mt7992-23-firmware
<*> f2fsck
<*> mkf2fs
<*> automount相对默认配置的主要增量#
下面只列主动使用的顶层功能。它们自动选择的 Python、libcurl、SQLite、collectd、内核模块和 LuCI 运行库不再逐项展开。
CONFIG LuCI 与日常管理
LuCI --->
Applications --->
<*> luci-app-argon-config
<*> luci-app-at-webserver
<*> luci-app-commands
<*> luci-app-statistics
<*> luci-app-store
Themes --->
<*> luci-theme-argon
Collections --->
<*> luci-ssl-opensslCONFIG 网络服务与透明代理
Network --->
<*> AdGuardHome
<*> daed
<*> luci-app-adguardhome
<*> luci-app-daed
<*> luci-proto-wireguard
<*> wireguard-toolsCONFIG MT5700M 与诊断工具
Kernel modules --->
USB Support --->
<*> kmod-usb-net-cdc-mbim
<*> kmod-usb-net-cdc-ncm
<*> kmod-usb-serial-option
Network --->
<*> curl
<*> ip-full
<*> iperf3
<*> ss
<*> tcpdump
Utilities --->
<*> ttyd
<*> usbutils为了运行 dae,配置还启用了 BTF、kprobe、ftrace、netkit 和 XDP socket 等 eBPF 相关内核能力。
CONFIG dae 所需的主要内核增量
CONFIG_KERNEL_BPF_EVENTS=y
CONFIG_KERNEL_DEBUG_INFO_BTF=y
CONFIG_KERNEL_DEBUG_INFO_BTF_MODULES=y
CONFIG_KERNEL_FTRACE=y
CONFIG_KERNEL_KPROBES=y
CONFIG_KERNEL_NETKIT=y
CONFIG_KERNEL_XDP_SOCKETS=y性能测试#
测试时间:2026-08-07。服务端直接运行在 H5000M 上,因此结果包含路由器本机 CPU、网络栈和 iperf3 的开销,并非外接 2.5GbE 服务端条件下的纯无线转发上限。测试流量在路由器本机终止,不经过 dae。
AP:H5000M / MT7992E / mt7996e
客户端:MT6639 / mt7925e
无线:5 GHz / 信道 60 / EHT160 / 2×2
工具:iperf 3.20 / 4 流
时长:120 秒 × 2 轮/方向
采样:10 秒测试图表#
图中不区分两轮测试:实时曲线和平均值按相同时间点合并计算,最低、最高温度取两轮测试的整体极值。
实时吞吐#
吞吐与温度统计#
上下行温升#
两轮采样合并后的均值:上行 801.6 Mbit/s,下行 922.6 Mbit/s。CPU 和 MT7992 的最高采样温度分别为 64.6°C 和 70°C。由于流量在路由器本机终止,温升图不计入未参与转发的 2.5GbE PHY。温升图按时间点取两轮平均;两个 MT7992 hwmon 节点始终返回相同数值,图中合并为一条曲线。
参考资料#
| 类别 | 资料 | 用途 |
|---|---|---|
| H5000M | Hiveton H5000M 产品文档 | 安装、使用、固件编译、系统恢复与支持的 5G 模组 |
| H5000M | Hiveton H5000M 更新系统 | WebUI 与 U-Boot 固件更新流程 |
| MT5700M-CN | 鼎桥官方产品页 | 制式、峰值速率、工作温度与硬件接口 |
| MT5700M-CN | 产品彩页 PDF | 频段、MIMO、尺寸及软件特性;经销商网站镜像 |
| ImmortalWrt | openwrt-25.12 源码 | 本文自编译固件使用的源码分支 |
| ImmortalWrt | H5000M 设备镜像定义 | 目标设备、镜像格式与默认设备包 |
| ImmortalWrt | H5000M 设备树 | 板级硬件、接口与外设定义 |
| Wi-Fi | OpenWrt mt76 软件包定义 | MT7996 驱动及 MT7992 固件包依赖 |
| Wi-Fi | MT7996/MT7992 驱动源码 | 开源无线驱动实现 |
| 测试 | ESnet iperf3 文档 | 吞吐测试参数、手册与已知问题 |
本文在资料整理、图表制作、图片编排与文字校对过程中,由 OpenAI Codex 协助完成。



