蜂窝版 MacBook:80 块钱让 Mac 直插 4G 卡上网 + 保号接码
一颗大疆无人机拆机的 4G 模块,一条 AT 指令,让你的 MacBook 变成「蜂窝版」——既能独立 4G 上网,还能跑 VoHive 平台控制sim卡接码等功能。全程软件成本 0 元。
写在前面:这不是「破解」,是「切换」
很多人看到「大疆模块改 EC25」以为是什么高深破解。其实一句话就能讲完:
大疆 4G 模块(一代)本质是移远 Quectel EG25-G,但出厂被大疆写成了私有 USB 身份(VID/PID 2ca3:4006),通用驱动不认。我们要做的,只是发一条厂商本来就支持的 AT 配置指令,把它的 USB 身份从大疆改回标准的移远 EC25(2c7c:0125):
AT+QCFG="usbcfg",0x2C7C,0x0125,1,1,1,1,1,0,0没有刷固件、没有破解加密、没有改 Mac 任何系统文件——芯片本来就会变多种身份,我们只是让它换回标准的那套。改一次,写进模块 NVRAM,终身有效。
为什么是这颗模块
- 便宜:大疆无人机拆机件。最早 30
40 元,火了之后被炒到 80 元左右,但依然比一颗全新的移远 EC25(100200 元)便宜。 - 本质是移远 EG25-G:高通平台,LTE Cat 4,标准 AT 指令集齐全。
- 被大疆「封印」了身份:所以便宜,也所以要改。
代价是它默认的 USB 身份和模式都不是「标准」的,得手动改一次。
我要实现的两个目标
- Mac 独立 4G 上网(学校WIFI你懂得,不想天天开手机热点)
- 海外卡保号 / 接码(用 VoHive 平台收发短信、看 SIM 状态,甚至以后做 VoWiFi )
这两个目标对应模块的两种工作模式,不可兼得:
| 模式 | 模块在哪 | 用途 |
|---|---|---|
ECM(usbnet=1) | Mac | 4G 上网(macOS 原生认) |
QMI(usbnet=0) | 虚拟机 | VoHive 接码/保号 |
这就是后面所有折腾的根源:一颗模块、一根 USB,一次只能干一件事、待在一个地方。
材料清单
| 项 | 成本 |
|---|---|
| 大疆 4G 模块(一代) | ~80 元 |
| 一张有流量的 SIM 卡 | 自备 |
| UTM(虚拟机) | 免费 |
| Ubuntu Server 24.04 arm64 | 免费 |
第一步:让 Mac 能上网(改 ID + 切 ECM)
这一步是一次性的,做完以后模块插上 Mac 就是网卡。
核心就是在 Linux 环境(UTM 虚拟机)里,用 socat 往串口发两条指令:
# 改身份:大疆 2ca3:4006 → 移远 2c7c:0125AT+QCFG="usbcfg",0x2C7C,0x0125,1,1,1,1,1,0,0# 切模式:QMI(0) → ECM(1),macOS 才能认AT+QCFG="usbnet",1# 软重启生效AT+CFUN=1,1模组重启后弹回 Mac,macOS 原生驱动 AppleUSBECM 直接把它认成一张 USB 网卡,自动拨号(APN cmnet)后就能上网了。
第二步:部署 VoHive(保号/接码)
VoHive 是面向高通 4G 模组的管理平台,网页端收发短信、看信号、管 eSIM。
这里有个重要的坑:VoHive 上游项目已经无限期停维护了,官方 release 的二进制全被清空(最后的 v9.9.9 是 12 字节的告别占位符)。arm64 的二进制只能去 fork 里挖——我花了点功夫,从三个字节完全一致的 fork 里找回了一份,并交叉验证了 sha256。
踩坑记录(这才是真干货)
这套东西的教程网上很多,但实测和教程对不上的地方不少,逐个锤下来:
usbnet映射教程写错了:有篇笔记说usbnet=2是 ECM,实测这颗模块2是 MBIM、1才是 ECM。照抄2会导致 Mac 死活拿不到网卡。- UTM 的命令行直通是坏的:
utmctl usb connect报-2700「找不到设备」。翻源码发现是 UTM 对「复合设备」(一个 VID/PID 下面挂多个接口)的匹配 bug,GUI 直通走的是另一条路径所以能通——直通只能手动点。 - 模组会休眠:AT 口闲置一段时间就睡着,前 1~2 次发 AT 唤不醒,要发到第 3 次才回
OK。所以脚本里找 AT 口必须带重试。 - stale 文件坑:往串口写指令时如果设备节点刚好不存在,
tee会在/dev下误建一个普通文件,挡住真正的设备节点。得先清掉再mknod重建。
最终成果
三个 shell 脚本 + 一个菜单命令,全在 PATH 里:
vohive # 进入菜单,选 1 保号 / 2 上网 / 3 状态| 命令 | 作用 |
|---|---|
vohive → 1 | 切保号(QMI / VoHive) |
vohive → 2 | 切上网(ECM / Mac 蜂窝) |
vohive → 3 | 查状态 |
结语
从「一颗插上什么都不认的大疆私有模块」到「Mac 的 4G 网卡 + 保号平台」,总成本不到 100 元。核心认知就一句:这不是破解,是让芯片换回它本来的标准身份。 教程不可靠的地方,实测永远能锤出真相。
通信技术基础:先把这些名词搞懂
这篇文章的重点其实是借这颗 80 块的模块,把移动通信的底层概念讲清楚。下面按「网络 → 频段 → 身份 → 接口 → 实用功能」的顺序,把文中涉及的所有名词一次补齐。看不懂的实操细节,都能在这里找到答案。
一、什么是 LTE
LTE(Long Term Evolution,「长期演进」)就是俗称的 4G。 名字本身没有「第四代」的意思,只是 3GPP 给这套标准起的代号——因为它是从 3G(UMTS/WCDMA)一路「长期演进」过来的。
手机通信的「代」是这样排的:
| 代 | 技术 | 能干什么 |
|---|---|---|
| 1G | 模拟(AMPS 等) | 只能打电话 |
| 2G | 数字 GSM | 打电话 + 短信 + 极慢速上网 |
| 3G | UMTS / WCDMA / CDMA2000 | 能真正上网了 |
| 4G | LTE | 纯 IP 网络,快 |
| 5G | NR | 更快、更低时延 |
LTE 的核心变化是彻底 IP 化:把 2G/3G 那套「电路交换」(打电话专用线路)拆掉,语音、数据全部变成 IP 包。正因如此,4G 时代「打电话」要靠 VoLTE(Voice over LTE,走 IMS 的语音),而不是老线路。
LTE 内部又按能力分 Cat(Category,类别):Cat 1、Cat 4、Cat 6……数字越大越快。这颗 EG25-G 是 Cat 4:下行最高 150 Mbps、上行 50 Mbps,日常上网、刷视频完全够用。
一句话:LTE = 4G 的标准名;Cat 4 = 这颗模块的「档位」。
二、频段(Band)和频率的关系
这是新手最容易混的一对概念。
- 频率:无线电波的物理频率,单位 Hz。比如 1800 MHz、2100 MHz——这是真实存在的物理量。
- 频段(Band):3GPP 给每段可用频率统一编了号,比如 Band 3 = 1800 MHz、Band 1 = 2100 MHz、Band 8 = 900 MHz、Band 40 = 2300 MHz。这个编号就是「Band」。
- 关系:Band 是频率的标准化标签。 说「支持 Band 3」,意思就是「支持 1800 MHz 附近那一段」。
为什么要搞 Band 编号?因为同一个频率范围,各国运营商拿到手的「切片」不一样(上下行差多少、带宽多宽),用编号能精确指代「这一整段」,而不只是「中心频率」一句话。
另外,移动网络大多是 FDD 双工(见下一节):上行和下行用不同的频率,所以一个 Band 里同时定义了上行段和下行段。比如 Band 3:
- 上行(手机 → 基站):1710–1785 MHz
- 下行(基站 → 手机):1805–1880 MHz
模块支持的 Band 越多,跨国漫游越稳。EG25-G 标称支持包括国内 B1/B3/B5/B8/B39/B40/B41 在内的多种 FDD + TDD 频段。
三、信道(Channel)
如果说 Band 是「一整段马路」,信道就是这条马路上划出的一条具体车道。
- 在 Band 内部,运营商会把频率再切成一个个更窄的「信道」,每个信道一个中心频率、一个编号。
- GSM 时代的信道编号叫 ARFCN,LTE 时代叫 EARFCN。手机/模块「搜网」时,就是在逐个扫描信道,看哪个上面有基站的广播信号。
- 日常使用你几乎不用直接跟信道打交道——模块会自动扫信道、选信道。但当你用工具看「当前驻留的频点」时,看到的那串数字(EARFCN)就是信道编号。
四、FDD 与 TDD:中国和外国的「通信模式」
这里要澄清一个常见误解:「FDD / TDD」不是「中国模式 vs 外国模式」,而是移动网络最底层的「双工(Duplex)方式」——即「上下行怎么错开,避免自己发出的信号撞上自己收到的信号」。
- FDD(频分双工):上行、下行用两条不同频率,同时进行。像一条双向八车道——去的车走左边、来的车走右边,互不干扰。全球绝大多数 4G 网络、欧美日韩的主流,都是 FDD。
- TDD(时分双工):上行、下行用同一条频率,靠时间轮流切换。像单行道按红绿灯交替放行——这一瞬只发、下一瞬只收。省频谱,但需要精确的时钟同步。
那「中国」特殊在哪?——中国三大运营商是 FDD 和 TDD 混着用的:
| 运营商 | 4G 主力制式 |
|---|---|
| 中国移动 | TDD(Band 38/39/40/41)为主 |
| 中国联通 | FDD(Band 1/3)为主 |
| 中国电信 | FDD(Band 1/3/5)为主 |
(后来三家也都拿到了对方制式的牌照,但历史主力如上。)
所以「中国 FDD」这个说法要拆开看:电信、联通走 FDD,移动走 TDD。 而这颗 EG25-G 频段覆盖够全,FDD / TDD 都支持,插哪家卡都能用——这就是「多频多模」的意思。
顺带一提,「外国」并不构成一个统一模式:欧美主流是 FDD,日本部分运营商也用 TDD。真正该记的维度是 FDD vs TDD,而不是「中国 vs 外国」。
五、三张身份证:IMEI / ICCID / IMSI
移动网络里最容易搞混的三个 ID,恰好分别对应「设备 / 卡 / 用户」三个东西:
| 全称 | 位数 | 标识谁 | 读取方式 | |
|---|---|---|---|---|
| IMEI | 国际移动设备识别码 | 15 位 | 设备(这台模块) | AT+CGSN |
| ICCID | 集成电路卡识别码 | 19~20 位 | SIM 卡(那张塑料卡) | 卡面印着 / AT+QCCID |
| IMSI | 国际移动用户识别码 | 15 位 | 用户/账户(运营商开的户) | 存 SIM 里 / AT+CIMI |
拆开讲:
- IMEI:设备的身份证。厂家出厂烧进去,标识这台硬件唯一。丢手机可以去运营商报失,按 IMEI 把设备拉黑变砖。这颗模块的 IMEI 也能改(
AT+EGMR),那是另一个话题。 - ICCID:SIM 卡的身份证。每张卡出厂就印了唯一编号,直接印在卡面上那串长数字就是。换卡 = 换 ICCID。
- IMSI:账户的身份证。格式 = MCC(国家码,3 位,中国 460)+ MNC(运营商码,2~3 位,移动 00 / 联通 01 / 电信 03,各自还有备用码)+ MSIN(用户号)。网络靠它判断「你是谁、该用谁的套餐」。
一句话记法:IMEI 认设备,ICCID 认卡,IMSI 认人。 换卡不换机,IMSI/ICCID 变、IMEI 不变;换机不换卡,IMEI 变、IMSI/ICCID 不变。
六、模块的四种「工作模式」
模块和电脑靠 USB 相连,但「USB 上跑什么协议、数据以什么形态出来」有几种可选。这就是 AT+QCFG="usbnet",x 里那个 x 的含义。这颗 EG25-G 支持这四种(usbnet 的取值):
| usbnet | 模式 | 全称 | 出来的是 | 谁在用 |
|---|---|---|---|---|
| 0 | QMI | Qualcomm MSM Interface | 高通私有二进制接口 | Linux / ModemManager |
| 1 | ECM | Ethernet Control Model | 一张标准「USB 网卡」 | macOS 原生认(本文上网用) |
| 2 | MBIM | Mobile Broadband Interface Model | 现代 USB 宽带标准接口 | Windows 10+ / 新版 Linux |
| 3 | RNDIS | Remote NDIS | 微软风格的「USB 网卡」 | 老 Windows / Android |
关键区别:
- ECM / RNDIS / MBIM 这三类,模块会把蜂窝网络「伪装成一张以太网卡」交给电脑。电脑不用懂 4G,只要会认网卡、会 DHCP 拿 IP 就能上网。区别只在「伪装手法」:ECM 是通用标准(macOS 认),RNDIS 是微软家的,MBIM 是最新最规范的通用标准。
- QMI 不是网卡,而是高通芯片的原生控制接口(二进制协议)。它比「网卡」暴露得更多、控制力更强,所以 VoHive 这类要深度管理模块的平台走 QMI。
这就是「一颗模块一次只能选一种身份」的原因:选了 ECM 就是「网卡」,选了 QMI 就是「管理接口」,两者不能同时是。(另外还有一堆
ttyUSB串口是 AT 命令口,见下——它们与这四种「数据模式」并存,不冲突。)
七、两种「管理模式」:AT 和 QMI——你怎么指挥这颗芯片
上一节讲「数据怎么出来」,这一节讲「你怎么命令它」。有两套截然不同的「遥控器」:
| AT 命令 | QMI | |
|---|---|---|
| 形态 | 文本指令,人可读 | 二进制协议,机器读 |
| 通道 | 串口(某个 ttyUSB) | USB 的 cdc-wdm 设备 |
| 例子 | AT+CSQ 查信号、AT+QCFG 改配置 | libqmi 库 / ModemManager 调用 |
| 优点 | 简单、通用、能手敲 | 强大、结构化、能做的事多 |
| 谁用 | 我们(脚本里 socat 发的那几条) | VoHive、ModemManager |
- AT 命令:脱胎于老式调制解调器的「Hayes 指令集」,一行行
AT+...文本。开头那两条AT+QCFG就是 AT 命令。它几乎成了所有蜂窝模组的「通用普通话」——别看形式简单,能做的事其实极多:ATD10086;拨号打电话、ATA接电话、ATH挂电话、AT+CMGS发短信、AT+CNMI/AT+CMGR收/读短信、AT+CSQ查信号、AT+CUSD拨 USSD、AT+VTS发 DTMF……整颗模组从打电话到收发短信,几乎每个动作都能用一行文本命令搞定。它唯一的「限制」是形式:一次一条、逐条来。 - QMI:高通芯片的私有二进制接口,功能远强于 AT——能并发、结构化地读网络状态、注册事件监听、管理数据通路。代价是复杂,得靠 libqmi 这类库调用,人没法手敲。
本文「改身份、切模式」用 AT(一次性配置),「日常接码管理」用 QMI(VoHive 内部),正好体现分工:AT 做一次性配置,QMI 做持续管理。
八、APN 是什么
APN(Access Point Name,接入点名称)= 你接入互联网时经过的那个「运营商网关」的名字。
手机网络的出口不直接通公网,而是先经过运营商的一个网关。这样的网关有很多个,各干各的活:
- 上网流量 → 走「互联网 APN」(移动
cmnet、联通3gnet、电信ctnet) - 彩信 MMS → 走「彩信 APN」(
cmwap之类,现在基本淘汰) - VoLTE/IMS 语音 → 走「IMS APN」(
ims)
APN 就是告诉模块:「我要上网,请把我接到叫 cmnet 的那个网关去。」配置里一般还附带用户名/密码(很多国内 APN 是空的)和鉴权方式。
文章里「自动拨号(APN
cmnet)」指的就是:模块建立数据连接时,自动用移动的cmnet这个 APN 接入互联网。
九、USSD 是什么
USSD(Unstructured Supplementary Service Data,非结构化补充业务数据)= 你在拨号键盘按 *100# 之后弹出的那种实时代码菜单。
- 它是一组短代码,走的是网络的信令信道(不是普通数据/语音信道),所以:不联网也能用、几乎零延迟、实时会话式。
- 典型用途:查话费余额、查流量、充值、开业务。国外运营商(尤其非洲、印度)的 USSD 菜单尤其丰富,甚至用来做移动支付。
- 和短信 SMS 的区别:SMS 是「存储转发」的异步消息(发出去对方可能晚收到);USSD 是「实时会话」(你一按,服务器立刻回,像打电话一样一问一答)。
在模块上,USSD 通过 AT+CUSD 发送和接收。VoHive 这类平台就是靠它触发「查余额」这类即时查询的。(具体代码各家运营商不同,*100# 只是示例。)
十、DTMF 通信是什么
DTMF(Dual-Tone Multi-Frequency,双音多频)= 你打电话按数字键时发出的「嘟—嘟」声的正式名字。
- 原理:电话键盘每个键按下时,同时发出两个不同频率的正弦波(一个来自「低频组」、一个来自「高频组」),接收端根据「哪两个频率同时出现」判断按了哪个键。两个音叠加,抗干扰、可靠,所以叫「双音多频」。
- 一共 16 个键:
0-9、*、#,外加 4 个备用键A/B/C/D(普通人用不到)。 - 用途:拨号;以及打 IVR 自助语音后「请按 1 转人工」——你按的那个「1」,就是通过 DTMF 传过去的。输银行卡密码、身份证号也是 DTMF。这个过程完全由你的拨号APP完成
在模块上,DTMF 用 AT+VTS 发送(主动按一个键)、AT+DDET 接收/检测(识别对方 IVR 传来的按键)。
十一、VoWiFi 是什么
VoWiFi(Voice over WiFi,WiFi 通话)= 不靠蜂窝信号,用 WiFi 网络打电话、发短信的技术。
- 传统打电话走蜂窝网络(2G/3G 电路交换,或 4G 的 VoLTE)。VoWiFi 则把语音/短信打包,通过 WiFi → 互联网 → 运营商 IMS 核心网这条隧道来传。
- 关键:VoWiFi 走的是运营商自家的 IMS 平台,所以用的是你的手机号、按你的套餐计费(甚至免费),对方来电看到的还是你的号码。它不是微信语音那种「App 到 App」的网络电话。
- 好处:蜂窝信号差(地下室、海外漫游)但 WiFi 好的地方,照样接打电话。
- 技术上靠 ePDG(演进分组数据网关):手机先和运营商的 ePDG 建立一条加密的 IPSec 隧道,再在隧道里跑 IMS 语音。
文章里「以后做 VoWiFi」的意思:VoHive 这类高通模组管理平台,理论上能驱动模块走 ePDG 隧道,让这颗 4G 模块/这张卡在 WiFi 环境下也能「打电话」。这是接码保号之外的一个进阶玩法。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!




