Esim 从零开始折腾记录(Voxi+Esim卡托+大疆4G)

朝色 2026-08-19 21:38 1

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:






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:40062c7c: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



十五、关键注意事项




  1. DJI 4G 模块修改 USB VID/PID 属于持久化设备配置操作。

    发送 AT 指令前应确认串口对应的是目标模块,避免操作错误设备。




  2. Vocat 使用 Docker 硬件访问模式时需要访问宿主机 USB 设备。

    当前部署方式使用:


    --network host
    --privileged
    -v /dev:/dev
    -v /sys:/sys:ro



  3. 宿主机安装 qmicli ≠ 容器内安装 qmicli。

    Vocat 调用的是容器内部的程序,因此必须保证容器内部存在 qmicli




  4. docker exec apk add 只适合作为快速修复。

    如果准备长期运行,建议创建带 qmi-utils 的自定义 Vocat 镜像。




  5. 短信任务应错峰。

    当前出现的限制为:


    滚动 1 小时最多 10 条

    因此多卡保号时不要把所有定时任务设置在同一分钟执行。




  6. VOXI 的套餐、优惠、支付规则和网页流程可能调整。

    实际办理时应以 VOXI 当时页面显示的信息为准。



最新回复 (3)
  • luweiji 08-20 09:11
    1

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

  • SimonChen 08-20 09:16
    2

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

  • amuer 08-20 09:20
    3

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

* 帖子来源Linux.do
返回