- 朝色2026-08-1958628
VOXI + eSIM + Vocat + DJ4G Wi-Fi Calling 部署笔记
这周在研究Esim的使用,但是折腾过程发现,网上教程都比较散乱,Esim卡托购买和使用,Esim申请,WifiCalling唤起与使用,Esim服务软件的用法,都没有一个整合教程,我这边抛砖引玉,分享一下折腾教程。
本文整理 VOXI 办理、eSIM 写卡、DJI 4G 模块改为通用 Quectel USB 身份、Vocat Docker 部署,以及 Wi-Fi Calling、短信保号和常见故障处理方法。
【Esim卡托-常用管理软件】
电脑(MiniLPA)
安卓手机(EasyEUICC 或 NLPA M)
作用:
控制Esim号码 写入、启用/禁用、删除
注意:
1 电脑需要购买Esim读卡器才能使用
2 安卓手机需要自测兼容性、部分老手机可能无法使用上面管理软件
【全文费用汇总】
Krak信用卡:0元
Voxi:7元
Esim卡托-LoveEsim:30元
大疆4G模块:80元
Linux电脑:自备
累计:
117元
零、整体工作流程
整个方案可以概括为:```
申请 VOXI
│
▼
获得 VOXI eSIM
│
▼
写入小白卡 / LoveSIM 等 eSIM 卡托
│
▼
插入 DJI 4G / EC20 / EC25 / EG25-G
│
▼
如果是 DJI 4G 一代
修改 USB VID/PID
2ca3:4006 → 2c7c:0125
│
▼
Linux 正确识别 Quectel 模块
│
▼
Docker 部署 Vocat
│
▼
Vocat 管理 SIM / 蜂窝网络
│
├── Wi-Fi Calling
├── 接收短信
├── 发送短信
└── 定时短信保号一、前置准备 1. Visa 支付卡 **用途:** 用于办理 VOXI 时添加支付方式。 例如: - Krak 等可正常用于 VOXI 支付的 Visa 卡 --- 2. eSIM 卡托 常见方案: - 小白卡 - LoveSIM - 其他支持写入 eSIM Profile 的实体卡 **购买渠道:** - 拼多多 - 各品牌官网 - 其他电商平台 **用途:** 将 eSIM Profile 写入实体 eSIM 卡托,然后插入 4G 模块使用。 --- 3. 支持 Wi-Fi Calling 的设备 实测可使用的设备包括: - DJI 4G 模块 - Quectel EC20 - Quectel EC25 - Quectel EG25-G 等兼容型号 其中 DJI 4G 模块实测可以直接激活 Wi-Fi Calling。 **购买渠道:** - 拼多多 - 闲鱼 EC20 / EC25 等二手模块价格目前大约在几十元至 80 元左右,实际价格以购买时为准。 --- 4. Vocat 服务 **主要用途:** - 管理 eSIM / SIM - 管理蜂窝网络 - 使用 Wi-Fi Calling - 接收短信验证码 - 发送短信 - 创建定时短信任务 - 定期发送短信进行 SIM 保号 --- 二、VOXI 办理与充值 1. 办理参考视频 Bilibili:  哔哩哔哩  免费保号!giffgaff封号别慌,转网VOXI继续用:Calling激活eSIM+APN设置教程_哔哩哔哩_bilibili 请大家一键三连,后续为大家提供更多技术教程博客地址:https://gaojilingjuli.blogspot.com/免费资源:通过网盘分享的文件:人人懂AI之从机器学习到大模型链接: https://pan.baidu.com/s/1nSTRDU3lZIIpSW6ZQjmhJg 提取码: phvy, 视频播放量 8896、弹幕量 3、点赞数 103、投硬币枚数 45、收藏人数 308、转发人数 41, 视频作者 搞机零距离-, 作者简介 欢迎来到【搞机零距离】! ... --- 2. 办理核心注意事项 ① 购买优惠码 论坛等渠道通常可以购买 VOXI 优惠码。 价格一般约:``` 7~9 元 ```具体价格会随时间变化。 ② 先添加优惠码,再添加支付方式 建议顺序:``` 选择套餐 ↓ 填写资料 ↓ 添加优惠码 ↓ 确认优惠后金额 ↓ 添加支付方式 ↓ 完成订购 ↓ 暂停计划改为按使用支付 ```重点是: > 添加支付方式之前先使用优惠码。 如果优惠活动能够把首笔订单金额降至:``` £0 ```即可按 £0 完成首期订购。 ③ 不要使用网页翻译 办理过程中建议: - 不开启浏览器整页翻译 - 不刷新页面 - 尽量一次完成整个订购流程 否则可能导致网页状态、优惠码或订单流程异常。 --- 三、VOXI 号码与余额查询 VOXI 账户后台``` https://www.voxi.co.uk/account ```可用于查看账户及手机号信息。 余额 / Payment 页面``` https://www.voxi.co.uk/account/payment四、VOXI / Vodafone 充值
充值地址:```
https://vestapay.vodafone.co.uk/VodafoneUKMobileWebUI/UI?ACTION=AT
```手机号通常可以尝试以下两种格式。国际格式```
447351248xxx
``英国本地格式``
07351248xxx
```两种格式选择其中一种即可。五、DJI 4G 模块修改设备类型
本步骤为可选操作。
DJI 第一代 4G 模块硬件性价比较高,二手价格通常约:```
70~90 元
```早期甚至有约 25 元的价格。与裸板 EC20 / EC25 相比,DJI 模块还有完整外壳,使用起来更方便。
1. 为什么需要修改?
DJI 第一代 4G 模块内部实际上使用:```
Quectel EG25-G
```但 DJI 修改了 USB VID / PID。原始 USB ID:```
2ca3:4006
```属于 DJI 自己的 USB 身份。这可能导致部分 Linux 软件无法按照标准 Quectel EC20 / EC25 / EG25 模块识别。
可以通过 AT 指令修改 USB 配置,将模块修改成 Quectel 常见 USB ID:```
2c7c:0125
```这样很多基于 Quectel 模块开发的软件即可直接识别。六、修改 DJI 4G 模块 USB VID/PID
建议在 Linux 系统中操作,并暂时拔掉其他 USB 蜂窝模块,避免选错设备。
首先安装
socat:```
sudo apt-get update
sudo apt-get install socat -y
``1. 加载 option 驱动``
sudo modprobe option
``2. 临时将 DJI VID/PID 加入 option 驱动``
echo 2ca3 4006 | sudo tee /sys/bus/usb-serial/drivers/option1/new_id
``成功后,Linux 应该生成类似:``
/dev/ttyUSB0
/dev/ttyUSB1
/dev/ttyUSB2
/dev/ttyUSB3
```等串口设备。3. 修改 USB 配置
通过
/dev/ttyUSB2发送 AT 指令:```
echo 'AT+QCFG="usbcfg",0x2C7C,0x0125,1,1,1,1,1,0,0' | socat - /dev/ttyUSB2,crnl
``该命令会把设备 USB VID/PID 修改为:``
VID: 2C7C
PID: 01254. 重启模块 执行:``` echo 'AT+CFUN=1,1' | socat - /dev/ttyUSB2,crnl ```模块会进行软重启。 等待设备重新枚举后执行:``` lsusb ```正常情况下应该看到类似:``` 2c7c:0125 Quectel Wireless Solutions Co., Ltd. ```此时模块即可按标准 Quectel EC20 / EC25 / EG25 类型被 Linux 识别。 --- 七、旧版 Vohive 一键安装方式 如果使用 Vohive,可以执行:``` curl -fsSL https://raw.githubusercontent.com/iniwex5/vohive-release/master/install.sh | bash ```默认安装目录: 主程序``` /opt/vohive/bin/vohive ```配置文件``` /opt/vohive/config/config.yaml ```数据目录``` /opt/vohive/data ```日志目录``` /opt/vohive/logs ```默认管理页面:``` http://服务器IP:7575 ```默认账号:``` 用户名:admin 密码:admin ```安装完成后建议立即修改默认密码。 --- 八、Docker 部署 Vocat 目前推荐使用 Vocat Docker 镜像部署。 1. 拉取镜像``` docker pull ghcr.io/mengmengcode/vocat:latest2. 创建管理员账号
执行:```
read -rsp "管理员密码: " VOCAT_BOOTSTRAP_PASSWORD; echoprintf '%s\n' "$VOCAT_BOOTSTRAP_PASSWORD" | docker run --rm -i \
--user 0:0 \
-v vocat-data:/opt/vocat/data \
--entrypoint /opt/vocat/bin/vocat \
ghcr.io/mengmengcode/vocat:latest bootstrap-adminunset VOCAT_BOOTSTRAP_PASSWORD
```此处输入的密码即之后登录 Vocat 后台使用的管理员密码。默认管理员用户名:```
admin3. 启动 Vocat``` docker run -d \ --name vocat \ --restart unless-stopped \ --network host \ --privileged \ --user 0:0 \ -v vocat-data:/opt/vocat/data \ -v /dev:/dev \ -v /sys:/sys:ro \ ghcr.io/mengmengcode/vocat:latest4. 打开管理后台
例如服务器 IP 为:```
192.168.1.xxx
``则访问:``
http://192.168.1.xxx:7575/
``用户名:``
admin
``密码:``
执行 bootstrap-admin 时输入的密码九、Vocat Docker 缺少 qmicli Vocat 的部分蜂窝网络控制功能依赖:``` qmicli ````qmicli` 属于 `libqmi` / `qmi-utils` 工具集。 因为 Vocat 运行在 Docker 容器中,所以仅在宿主机安装 `qmicli` 通常没有作用。 必须让:``` qmicli ```存在于 **Vocat 容器内部**。 --- 1. 查看容器系统 执行:``` docker exec vocat sh -c 'cat /etc/os-release' ```确认 Vocat 镜像使用的 Linux 发行版。 --- 2. Alpine Linux 如果显示为 Alpine,可执行:``` docker exec -u 0 vocat apk add --no-cache qmi-utils ```安装完成后重启:``` docker restart vocat ```验证:``` docker exec vocat qmicli --version ```同时检查 QMI 设备:``` docker exec vocat ls -l /dev/cdc-wdm0 ```如果两项均正常,再重新执行 Vocat 定时任务。 --- 十、qmicli 临时安装的缺点 直接执行:``` docker exec -u 0 vocat apk add --no-cache qmi-utils ```修改的是当前正在运行的 Docker 容器。 因此:``` docker restart vocat ```通常不会丢失。 但是如果执行:``` docker rm vocat ```然后重新创建容器,安装的 `qmi-utils` 就会消失。 同样,重新创建/更新镜像产生的新容器也不会自动保留这个修改。 因此更推荐创建自定义镜像。 --- 十一、Vocat 定时任务常见错误 错误 1:SMS 一小时发送数量超限 示例:``` EG25G-QDC507 失败 2026/8/19 18:49:51 send SMS failed (HTTP 429): Global SMS limit reached: at most 10 messages may be submitted in a rolling one-hour window.Vocat 存在全局短信发送频率限制:```
滚动 1 小时窗口最多提交 10 条短信
``超过限制后服务器返回:``
HTTP 429
``也就是:``
Too Many Requests错开定时任务执行时间。 例如不要让大量 SIM 同时执行保号短信任务,而是分批发送。 --- 十二、Vocat 无法恢复蜂窝数据状态 错误示例:``` EG25G-QDC507 失败 2026/8/19 18:43:00 task completed but card policy restoration failed: stop cellular data: cellular data backend is unavailable: install libqmi-utils to control /dev/cdc-wdm0 ```注意:``` task completed ```意味着主要任务可能已经执行成功。 真正失败的是:``` card policy restoration ```即任务完成后恢复 SIM / 蜂窝网络策略时失败。 --- 原因 Vocat 想通过:``` /dev/cdc-wdm0 ```控制 Quectel 模块的数据连接。 但是容器内部没有:``` qmicli ```因此无法执行 QMI 网络控制。 --- 解决方法 首先检查:``` docker exec vocat qmicli --version ```如果提示:``` qmicli: not found ```则安装 `qmi-utils`。 Alpine:``` docker exec -u 0 vocat apk add --no-cache qmi-utils docker restart vocat ```然后检查:``` docker exec vocat qmicli --version docker exec vocat ls -l /dev/cdc-wdm0 ```两项正常后重新执行任务。 --- 十三、故障排查速查 现象 | 常见原因 | 处理方法 | DJI 4G 模块不能被正常识别 | DJI 私有 VID/PID | 修改 `2ca3:4006` → `2c7c:0125` | 没有 `/dev/ttyUSB*` | option 驱动未绑定 | `modprobe option` + `new_id` | Vocat 找不到模块 | `/dev` 没有映射或权限不足 | 使用 `--privileged`、`-v /dev:/dev` | Vocat 无法控制蜂窝数据 | 容器缺少 `qmicli` | 安装 `qmi-utils` / `libqmi-utils` | 找不到 `/dev/cdc-wdm0` | USB/QMI 驱动或模块 USB 配置异常 | 检查宿主机 USB 与 QMI 驱动 | 定时短信报 HTTP 429 | 一小时短信数量超过限制 | 将任务错峰执行 | `task completed but card policy restoration failed` | 主任务完成,但网络状态恢复失败 | 检查 `qmicli` 和 `/dev/cdc-wdm0` | 容器重建后 `qmicli` 消失 | 使用 `docker exec` 临时安装 | 创建带 `qmi-utils` 的自定义镜像 | --- 十四、常用诊断命令 查看 USB 设备``` lsusb ```查看 Quectel 串口``` ls -l /dev/ttyUSB* ```查看 QMI 设备``` ls -l /dev/cdc-wdm* ```查看 Vocat 容器状态``` docker ps -a --filter name=vocat ```查看 Vocat 日志``` docker logs --tail 200 vocat ```实时查看:``` docker logs -f vocat ```查看容器系统``` docker exec vocat cat /etc/os-release ```检查 qmicli``` docker exec vocat qmicli --version ```检查容器是否能访问 QMI 设备``` docker exec vocat ls -l /dev/cdc-wdm0十五、关键注意事项
- DJI 4G 模块修改 USB VID/PID 属于持久化设备配置操作。
发送 AT 指令前应确认串口对应的是目标模块,避免操作错误设备。
- Vocat 使用 Docker 硬件访问模式时需要访问宿主机 USB 设备。
当前部署方式使用:```
--network host
--privileged
-v /dev:/dev
-v /sys:/sys:ro
```- 宿主机安装 qmicli ≠ 容器内安装 qmicli。Vocat 调用的是容器内部的程序,因此必须保证容器内部存在
qmicli。-
docker exec apk add只适合作为快速修复。如果准备长期运行,建议创建带
qmi-utils的自定义 Vocat 镜像。- 短信任务应错峰。
当前出现的限制为:```
滚动 1 小时最多 10 条
```因此多卡保号时不要把所有定时任务设置在同一分钟执行。- VOXI 的套餐、优惠、支付规则和网页流程可能调整。
实际办理时应以 VOXI 当时页面显示的信息为准。
主楼 - luweiji2026-08-2057398
不是很看得懂,膜拜大佬。。。。。。 ^-^
- SimonChen2026-08-2041165
支持佬友,正需要。我最近在研究搞个树莓派接入大疆4G这样就不用天天插电脑上了。
- amuer2026-08-2033508
小黄鱼50收了个大疆模块,小白卡写入voxi,插pve上直接让codex帮我搞定了,总共花了80左右