• 朝色

    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:
    
    ![图片](https://cdn3.ldstatic.com/original/4X/1/e/f/1ef9f7bb3376bce291ba6d815dc506f5d7c22a08.png)
    
    哔哩哔哩
    
    ![图片](https://cdn3.ldstatic.com/optimized/4X/f/0/d/f0dfd8441e8dfdbfd55b1d42c5db0e1206b77f4e_2_690x388.jpeg)
    
    免费保号!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: 0125

    
    4. 重启模块
    
    执行:```
    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:latest

    2. 创建管理员账号

    执行:```
    read -rsp "管理员密码: " VOCAT_BOOTSTRAP_PASSWORD; echo

    printf '%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-admin

    unset VOCAT_BOOTSTRAP_PASSWORD
    ```此处输入的密码即之后登录 Vocat 后台使用的管理员密码。

    默认管理员用户名:```
    admin

    
    3. 启动 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:latest

    4. 打开管理后台

    例如服务器 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 当时页面显示的信息为准。

    主楼
  • luweiji

    不是很看得懂,膜拜大佬。。。。。。 ^-^

    #1
  • SimonChen

    支持佬友,正需要。我最近在研究搞个树莓派接入大疆4G这样就不用天天插电脑上了。

    #2
  • amuer

    小黄鱼50收了个大疆模块,小白卡写入voxi,插pve上直接让codex帮我搞定了,总共花了80左右

    #3

发表回复

登录后回复