0x00 准备

所需设备:

  • USB 转接 4G 模块 (NGFF) (加上天线大概 20 多不到 30)
  • 天线 (没天线没信号)
  • 4G 模块移远 em05-ce(闲鱼 60 包邮)
  • 树莓派或者任意 Linux 主机,你可以插在 NAS 上

你也可以直接买 USB 棒子,然后刷机,本人没有这种设备,单理论上安装步骤都是通用的

0x01 安装部署

我们需要安装的依赖 ModemManager, libqmi, lpac(可能需要)
以及 telegram-sms: https://github.com/damonto/telegram-sms

我建议直接看项目 readme,

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# ModemManager installation
apt install modemmanager
systemctl restart ModemManager
systemctl enable ModemManager
# libqmi
# sudo pacman -S --needed meson ninja pkg-config bash-completion libgirepository help2man glib2 libgudev libmbim libqrtr-glib (Arch Linux)
# sudo apt-get install -y meson ninja-build pkg-config bash-completion libgirepository1.0-dev help2man libglib2.0-dev libgudev-1.0-dev libmbim-glib-dev libqrtr-glib-dev (Ubuntu/Debian)
git clone https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
cd libqmi
meson setup build --prefix=/usr --buildtype=release
ninja -j$(nproc) -C build
sudo ninja -C build install
# telegram-sms
git clone git@github.com:damonto/telegram-sms.git
cd telegram-sms
go build -trimpath -ldflags="-w -s" -o telegram-sms main.go
# 如果 telegram-sms 依赖于 lpac,原版的 lpac 并不会启用 qmi 支持,需要自己编译
# 常见问题为,识别不了卡
git clone git@github.com:estkme-group/lpac.git
cd lpac
cmake -B build -DLPAC_WITH_APDU_QMI=on -S . && make -j$(nproc) -C build
cp build/output/lpac /usr/sbin/
# 此时 lpac 可以读到卡了
sudo -E LPAC_APDU=qmi QMI_DEVICE=/dev/cdc-wdm0 lpac chip info
# ModemManager installation apt install modemmanager systemctl restart ModemManager systemctl enable ModemManager # libqmi # sudo pacman -S --needed meson ninja pkg-config bash-completion libgirepository help2man glib2 libgudev libmbim libqrtr-glib (Arch Linux) # sudo apt-get install -y meson ninja-build pkg-config bash-completion libgirepository1.0-dev help2man libglib2.0-dev libgudev-1.0-dev libmbim-glib-dev libqrtr-glib-dev (Ubuntu/Debian) git clone https://gitlab.freedesktop.org/mobile-broadband/libqmi.git cd libqmi meson setup build --prefix=/usr --buildtype=release ninja -j$(nproc) -C build sudo ninja -C build install # telegram-sms git clone git@github.com:damonto/telegram-sms.git cd telegram-sms go build -trimpath -ldflags="-w -s" -o telegram-sms main.go # 如果 telegram-sms 依赖于 lpac,原版的 lpac 并不会启用 qmi 支持,需要自己编译 # 常见问题为,识别不了卡 git clone git@github.com:estkme-group/lpac.git cd lpac cmake -B build -DLPAC_WITH_APDU_QMI=on -S . && make -j$(nproc) -C build cp build/output/lpac /usr/sbin/ # 此时 lpac 可以读到卡了 sudo -E LPAC_APDU=qmi QMI_DEVICE=/dev/cdc-wdm0 lpac chip info
# ModemManager installation
apt install modemmanager
systemctl restart ModemManager
systemctl enable ModemManager

# libqmi
# sudo pacman -S --needed meson ninja pkg-config bash-completion libgirepository help2man glib2 libgudev libmbim libqrtr-glib (Arch Linux)
# sudo apt-get install -y meson ninja-build pkg-config bash-completion libgirepository1.0-dev help2man libglib2.0-dev libgudev-1.0-dev libmbim-glib-dev libqrtr-glib-dev (Ubuntu/Debian)
git clone https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
cd libqmi
meson setup build --prefix=/usr --buildtype=release
ninja -j$(nproc) -C build
sudo ninja -C build install

# telegram-sms
git clone git@github.com:damonto/telegram-sms.git
cd telegram-sms
go build -trimpath -ldflags="-w -s" -o telegram-sms main.go

# 如果 telegram-sms 依赖于 lpac,原版的 lpac 并不会启用 qmi 支持,需要自己编译
# 常见问题为,识别不了卡
git clone git@github.com:estkme-group/lpac.git
cd lpac
cmake -B build -DLPAC_WITH_APDU_QMI=on -S . && make -j$(nproc) -C build
cp build/output/lpac /usr/sbin/

# 此时 lpac 可以读到卡了
sudo -E LPAC_APDU=qmi QMI_DEVICE=/dev/cdc-wdm0 lpac chip info
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# mmcli 输出如下
root@raspberrypi ~# mmcli -L
/org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module
root@raspberrypi ~# mmcli -m 0
-----------------------------------
General | path: /org/freedesktop/ModemManager1/Modem/0
# mmcli 输出如下 root@raspberrypi ~# mmcli -L /org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module root@raspberrypi ~# mmcli -m 0 ----------------------------------- General | path: /org/freedesktop/ModemManager1/Modem/0
# mmcli 输出如下
root@raspberrypi ~# mmcli -L
    /org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module

root@raspberrypi ~# mmcli -m 0
  -----------------------------------
  General  |                    path: /org/freedesktop/ModemManager1/Modem/0
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 启动 telegram-sms
sudo ./telegram-sms --bot-token=YourTelegramToken --admin-id=YourTelegramChatID
# systemd 方式
[Unit]
Description=Telegram SMS Forwarder
After=network.target
[Service]
Type=simple
User=root
Restart=on-failure
ExecStart=/your/binary/path/here/telegram-sms --bot-token=YourTelegramToken --admin-id=YourTelegramChatID
RestartSec=10s
TimeoutStopSec=30s
[Install]
WantedBy=multi-user.target
# 启动 telegram-sms sudo ./telegram-sms --bot-token=YourTelegramToken --admin-id=YourTelegramChatID # systemd 方式 [Unit] Description=Telegram SMS Forwarder After=network.target [Service] Type=simple User=root Restart=on-failure ExecStart=/your/binary/path/here/telegram-sms --bot-token=YourTelegramToken --admin-id=YourTelegramChatID RestartSec=10s TimeoutStopSec=30s [Install] WantedBy=multi-user.target
# 启动 telegram-sms
sudo ./telegram-sms --bot-token=YourTelegramToken --admin-id=YourTelegramChatID

# systemd 方式
[Unit]
Description=Telegram SMS Forwarder
After=network.target

[Service]
Type=simple
User=root
Restart=on-failure
ExecStart=/your/binary/path/here/telegram-sms --bot-token=YourTelegramToken --admin-id=YourTelegramChatID
RestartSec=10s
TimeoutStopSec=30s

[Install]
WantedBy=multi-user.target


0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理