aiyo
155 posts


大疆2代4G模块在macOS 上可用,可以正常上网,GitHub项目:github.com/byzyizhi-a11y/…
DJI Cellular Dongle 2 available on macOS, I can access the internet normally.GitHub: github.com/byzyizhi-a11y/…




中文

如果手里一堆eSIM,如何免手机收发短信&保号办法⬇️
在 Mac(Apple Silicon / Intel)上用 UTM 跑 Linux 虚拟机
把大疆 4G 模块(EG25-G)伪装成移远 Quectel EC25
并部署 vohive 平台的完整步骤
github.com/wlzh/dji-4g-vo…
中文

# 小白怎么玩大疆 4G 模块一代?我让 Codex 帮我把它变成“短信转发到 Telegram 的 4G 小路由器”
这篇写给完全不懂硬件的人。
如果你手里有一个“大疆 4G 模块一代”或者类似的 USB 4G 模块,想把它接到 Mac、Linux、Home Assistant、软路由上,又不知道什么是 AT 指令、VID/PID、ECM、QMI、MBIM,那可以照这个思路来。
先说结果:
我最后把一个 4G USB 模块做成了这样:
```text
插 SIM 卡
插到 Mac
Mac 自动识别成有线网卡
模块自己拨号上 4G
收到短信后自动转发到 Telegram
后台常驻运行,不用手动点
```
用户需要做的事情很少:
```text
插模块
插 SIM
输入 Mac 密码授权
确认几次高风险操作
创建 Telegram Bot
发一条测试短信
```
剩下基本都是 Codex 做的。
## 1. 它到底像什么?
改好以后,这个模块很像一个“小号 4G 路由器”。
普通路由器是这样:
```text
宽带 -> 路由器 -> 电脑上网
```
这个模块改好以后是这样:
```text
SIM 卡 4G 网络 -> USB 4G 模块 -> Mac/电脑/平板上网
```
电脑不用拨号,不用装复杂软件。
系统只会觉得:
“哦,你插了一个 USB 有线网卡。”
然后它就能拿到一个类似这样的地址:
```text
192.168.225.x
网关 192.168.225.1
```
这就是为什么它适合接 Home Assistant、Linux 小盒子、软路由、Mac。
## 2. 我一开始也没搞懂
我一开始是冲着“大疆 4G 模块一代接 VOHive / Home Assistant”去的。
后来 Codex 检查硬件后发现:
手上这块模块实际识别出来是:
```text
Baiwang / GC650 / QDC507
原始 USB 身份:2CA3:4006
```
这不一定是 DJI 原厂模块,但玩法和很多“大疆 4G 模块一代/同类 USB 4G 模块”的思路很接近:
先让系统正确识别它,再让它进入 USB 网卡模式。
重点不是名字,而是:
```text
Codex 要先检查你电脑上实际识别出来的设备信息
不要直接抄别人的命令
```
## 3. 最关键的一步:把它改成更通用的 USB 网卡模式
很多这种模块插到 Mac 上,一开始会出现很尴尬的状态:
```text
系统好像看见它了
但不能正常上网
没有 IPv4
DHCP 不正常
网页管理地址打不开
也没有正常串口
```
我的模块一开始就是这样。
Codex 做的事情是:
1. 先扫描 USB 设备。
2. 找到模块的 AT 控制口。
3. 读取当前配置。
4. 再决定怎么改。
它先查到:
```text
AT+QCFG="usbnet"
返回:0
AT+QCFG="usbcfg"
返回:0x2CA3,0x4006,1,1,1,1,1,0,0
```
这里特别重要。
网上有人直接抄命令:
```text
AT+QCFG="usbcfg",0x2C7C,0x0125,1,1,1,1,0,0
```
但我这块模块直接失败,返回:
```text
ERROR
```
为什么?
因为我的模块原始参数里多一个 `1`。
最后成功的是:
```text
AT+QCFG="usbcfg",0x2C7C,0x0125,1,1,1,1,1,0,0
AT+CFUN=1,1
```
意思大概是:
把它伪装/切换成更通用的 Quectel EC25 USB 身份,然后重启模块。
重启后,Mac 看到它变成:
```text
2C7C:0125
```
然后再切 USB 网卡模式:
```text
AT+QCFG="usbnet",1
```
之后 Mac 就能看到一个真正可用的有线网卡。
## 4. 别忘了 SIM 卡也可能出问题
中间我还遇到一个非常小白的问题:
模块改好了,但还是不能上网。
Codex 一查:
```text
AT+CPIN?
返回:SIM not inserted
```
也就是:
SIM 卡没插好。
重新插 SIM 后再查:
```text
CPIN: READY
CHINA MOBILE
CEREG: 0,1
LTE 注册成功
```
然后 4G 上网就通了。
所以别一上来就怀疑命令错了。
很多时候真的是:
```text
卡没插紧
卡方向错了
卡没开通流量
信号不好
```
## 5. 短信怎么转发到 Telegram?
这个其实不一定要 VOHive。
Codex 后来直接写了一个很小的脚本。
逻辑很简单:
```text
每 20 秒检查一次模块有没有新短信
如果有,就读出来
然后发给 Telegram Bot
已经发过的短信做去重,避免重复推送
```
最终效果:
```text
别人给 SIM 发短信
模块收到短信
Mac 后台脚本读到短信
Telegram 自动收到推送
```
测试短信内容是:
```text
测试短信
```
Telegram 成功收到。
## 6. VOHive 到底有没有用?
有用,但不一定适合小白第一步就上。
VOHive 更像一个大平台:
```text
多张 SIM 卡
多个 4G/5G 模块
Web 后台
短信中心
代理池
换 IP
eSIM
VoWiFi
```
如果你只是想:
```text
一张卡收验证码
短信转发 Telegram
接入 Home Assistant
```
那轻量脚本更简单。
我的建议是:
```text
先把模块改成 USB 网卡模式
先把短信转发跑通
以后真有多卡/代理池需求,再研究 VOHive
```
## 7. 可以直接复制给 Codex 的提示词
如果你也是小白,可以直接把下面这段复制给 Codex。
不要自己手打 AT 指令,让 Codex 先检查,再让你确认高风险操作。
```text
我有一个大疆 4G 模块一代/同类 USB 4G 模块,想把它接到 Mac 或 Linux 上使用。
目标:
1. 让它被系统识别成 USB 有线网卡。
2. 插 SIM 后可以自动上 4G 网络。
3. 能读取 SIM 收到的短信。
4. 把新短信转发到 Telegram。
5. 最后做成后台常驻服务。
请你按这个顺序帮我做:
第一步:只做只读检查,不要改任何配置。
- 检查 system_profiler SPUSBDataType
- 检查 ifconfig / networksetup
- 检查是否有 /dev/cu.* 串口
- 如果没有串口,用 PyUSB/libusb 枚举 USB interface 和 endpoint
- 找能回复 OK 的 AT 口
第二步:读取模块信息。
请查询:
ATI
AT+GMR
AT+QCFG="usbnet"
AT+QCFG="usbcfg"
AT+CPIN?
AT+COPS?
AT+CEREG?
AT+CSQ
第三步:如果模块类似 Baiwang/GC650/QDC507,且 usbcfg 类似:
0x2CA3,0x4006,1,1,1,1,1,0,0
请提醒我风险,并在我确认后尝试:
AT+QCFG="usbcfg",0x2C7C,0x0125,1,1,1,1,1,0,0
AT+CFUN=1,1
注意:不要盲目照抄网上少一个参数的版本。必须先以我设备实际返回的 usbcfg 为准。
第四步:重启后确认是否变成:
VID 0x2C7C
PID 0x0125
然后在我确认后切 ECM 网卡模式:
AT+QCFG="usbnet",1
第五步:确认系统是否出现新网卡,例如 en7、usb0、eth1 等。
确认是否能 DHCP 拿到 192.168.225.x 之类地址。
确认网关是否类似 192.168.225.1。
第六步:检查 SIM 和网络。
AT+CPIN?
AT+COPS?
AT+CEREG?
AT+QNWINFO
第七步:短信转发。
请写一个 Python 脚本:
- 自动找 USB 模块
- 自动找 AT 口
- AT+CMGF=1
- AT+CPMS="SM","SM","SM"
- 轮询 AT+CMGL="REC UNREAD"
- 解析 UCS2 短信内容
- 用 Telegram Bot API sendMessage 转发
- 用 state 文件去重,避免重复发送
第八步:把脚本做成 macOS launchd 或 Linux systemd 后台服务。
整个过程请:
- 先诊断
- 再做最小可逆修改
- 高风险 AT 写入前必须让我确认
- 不要假设
- 每一步都告诉我当前证据
```
## 8. 给小白的提醒
不要一上来就问:
“能不能直接刷?”
更好的问法是:
```text
先帮我看电脑现在识别到了什么。
先不要改配置。
先找到 AT 口。
先读当前 usbcfg。
```
硬件最怕盲抄命令。
同样叫“大疆 4G 模块一代”,你手上的模块、固件、USB 参数都可能不一样。
这次真正救命的不是某条神秘命令,而是 Codex 先读出了真实配置,然后根据真实返回调整命令。
## 9. 最后总结
这件事以前对小白很难:
```text
USB 枚举
AT 指令
VID/PID
ECM
SIM 注册
短信编码
Telegram Bot
后台服务
```
任何一个点都能卡半天。
但现在可以变成:
```text
你负责插线、确认、发测试短信
Codex 负责诊断、写脚本、部署、验证
```
所以我的结论是:
如果你只是想用大疆 4G 模块一代/同类 4G 模块收短信、接 Home Assistant、转发验证码:
```text
先别急着上 VOHive。
先让 Codex 帮你把模块改成 USB 网卡。
再用轻量脚本把短信转发跑通。
```
跑通以后,再决定要不要上 VOHive 这种大平台。
小白也能玩硬件。
前提是:别自己硬抄命令,把诊断交给 Codex。
中文

折腾到半夜3点,终于搞好了,本质上并不难,但是没有经验,踩了一个坑。
先用用吧,希望不会再被封号了
马天翼@fkysly
准备给我自己也搞一个 Sub2API 这一类的服务,这样我就可以开通一堆订阅账号,然后给我自己分配一个 api-key,就可以用了。不然,万一被封号,或者是号限流了需要重新登录,现在设备和终端那么多,更换太麻烦了。 先试试看 sub2api 好不好用。
中文


























