Blog

基于中兴微电子方案的 USB LTE Dongle 实现的短信转发器

发布时间: ,大约 200 字 ,阅读时间:1 分钟,

原理和实现方案

因为目前大多数 USB LTE Dongle 都在 USB 口使用了 RNDIS 来供电脑上网,而这些设备一般都会作为路由器并提供一个后台管理的 Web 界面,所以可以使得 USB 连接端透过 HTTP API 来获取短信。

实现的脚本已经上传至 https://github.com/MisakaMikoto-35c5/ZxicSmsFwd

前置条件及硬件准备

托管主机

这里使用了一台 Raspberry Pi 3 Model B 来连接 USB LTE Dongle。 一个 Modem 需要的电流大约是 5V 150mA 左右,而树莓派的接口只能提供 5V 500mA。 因此如果需要接入超过 3 个 Modem,就必须使用带外部电源输入的 USB HUB, 否则会出现 Modem 一直重启的现象。

USB LTE Modem

这个项目所支持的 Modem 必须是基于中兴微电子方案的才能够使用。 准确的说,是 ZTE MF782 系列。

在中国的电商平台上,有相当一部分代工厂生产的 USB 4G Modem 是基于这个方案的。还有一部分是基于高通回收片 + Android 4.4 / 5.0。 采用 ZXIC 方案的 Modem 均有一个很明显的特征,就是只有一个 LED 灯。 这个 LED 灯能够发出不同的颜色来表示不同的状态, 而基于高通方案的一般有两个 LED 灯。

采用这个方案的杂牌无锁版本一般是 CN¥80 左右,锁 ESIM 的版本一般是 CN¥30 左右,但需要自行鉴别方案类型。 而 ZTE MF782 带 Wi-Fi 的版本大概要 CN¥180 左右。 要辨别的话可以看商品评价辨别出来,评价图里面是两个还是一个 LED 灯很容易就能看出。 也可以看后台管理界面来分辨,如下图。

管理后台截图

如果是这个奇丑无比的 UI 就必定是代工的中兴方案,其他的要么是 Android 4.4,要么就是 Android 5.0 了。

在中兴方案的产品中,也有两种不同的类型,在配置文件里面体现是 zxic_web_newzxic_web_old。 这两个是不同固件所造成的区别,前者目前在有锁版本里面见得多,而后者目前在无锁版本里面见得多。

具体分辨方式很简单,打开 Web 管理的网址,按下 F12,点到网络 Tab 里面,看到里面一直在刷的是 proc_get 就是 zxic_web_new,在刷 goform_get_cmd_process 就是 zxic_web_old,如下图。

不同固件的区别

软件安装

这里使用了一个 Systemd User Service 来管理服务。

服务存放至 ~/.config/.config/systemd/user/zxicsmsfwd.service, 服务的 .service 文件如下:

[Unit]
Description=ZXIC based LTE dongle SMS forwarder

[Service]
Type=simple
ExecStart=/usr/bin/env python3 zxicsmsfwd
WorkingDirectory=/change/to/your/installation/path/for/zxicsmsfwd
Restart=always
RuntimeMaxSec=infinity
SyslogIdentifier=zxicsmsfwd

[Install]
WantedBy=default.target

由于 一些原因 ,还需要对托管服务的用户设定一个允许滞留后台的 Tag,否则服务启动了以后过一会就被系统杀掉了:

loginctl enable-linger username

然后,创建并进入到安装目录,并下载代码库:

mkdir -p /change/to/your/installation/path/for

cd /change/to/your/installation/path/for

git clone https://github.com/MisakaMikoto-35c5/ZxicSmsFwd

mv ZxicSmsFwd zxicsmsfwd

然后,编辑配置文件。配置文件的说明请参考 https://github.com/MisakaMikoto-35c5/ZxicSmsFwd/blob/main/README.md

到这里,使用 systemctl --user start zxicsmsfwd 应该就可以使用了,效果如下图:

效果图

Enjoy it!


License

如未明确声明,所有文章皆以

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。如果您需要商用,您可以通过电子邮件( [email protected] )联系。