Удалённая метеостанция, камера на Raspberry Pi, мини-ПК на даче или телеметрия на объекте без кабеля — всё это часто сводится к одной задаче: подключить USB-модем 4G к Linux и заставить его держать связь неделями. Ниже порядок, который работает в Debian, Ubuntu и Raspberry Pi OS с NetworkManager и ModemManager.
1. Убедиться, что модем виден
sudo apt install modemmanager network-manager mmcli -L Если вывод пустой, проверьте lsusb. Часть модемов при подключении определяется как флешка с драйверами. Для них нужен пакет usb-modeswitch, который переключит устройство в режим модема.
2. Посмотреть состояние и сигнал
mmcli -m 0 mmcli -m 0 --signal-setup=10 mmcli -m 0 --signal-get Пример вывода:
LTE | rssi: -67.00 dBm | rsrq: -11.00 dB | rsrp: -95.00 dBm | s/n: 9.40 dB Ориентир: RSRP выше −90 дБм — хорошо, ниже −110 — модем будет терять сеть. Если цифры плохие, удлинитель USB к окну часто даёт больше, чем смена оператора.
3. Создать подключение с APN
nmcli connection add type gsm ifname '*' con-name lte apn <APN_оператора> nmcli connection up lte Имя точки доступа берите из инструкции оператора. Пустой или чужой APN — самая частая причина ситуации «модем подключён, интернета нет».
4. Автоподключение после обрыва
nmcli connection modify lte connection.autoconnect yes nmcli connection modify lte connection.autoconnect-retries 0 Значение 0 означает бесконечные попытки. Без этого после пары неудачных переподключений NetworkManager перестанет пробовать, и устройство останется офлайн до перезагрузки.
5. Проверка, что трафик идёт через модем
ip route ping -I wwan0 -c 4 8.8.8.8 Имя интерфейса может отличаться (wwan0, ppp0, cdc-wdm0) — смотрите вывод mmcli -m 0 в поле ports.
6. Сторож на случай зависания
Автоподключение спасает от обрыва сети, но не от зависшего модема. Простой сторож через cron раз в пять минут проверяет связь и перезапускает подключение:
*/5 * * * * ping -I wwan0 -c 3 -W 5 8.8.8.8 > /dev/null || (nmcli connection down lte; sleep 5; nmcli connection up lte) Если не помогает и это, остаётся перезапуск ModemManager или сброс питания USB-порта.
7. Питание
На Raspberry Pi модем 4G в момент регистрации в сети потребляет заметный ток. Слабый блок питания даёт случайные отключения модема, которые выглядят как проблемы связи. Используйте штатный блок питания или USB-хаб с отдельным питанием. В dmesg такие сбои видны как повторное подключение USB-устройства.
Про тариф
Технически всё может быть настроено идеально, но интернета не будет, если тариф не разрешает работу в модеме. Часть телефонных тарифов в USB-модеме данные не отдаёт или режет скорость. Для устройства, которое работает неделями без присмотра, это критично.
Если вы подбираете симку под такой проект, в магазине Безлимитик есть раздел «сим-карта для модема» с тарифами, которые работают в модеме. Карту под проект заказывают на сайте и получают доставкой.
![Why Object.keys(user) Returns string[], Not (keyof User)[]: TypeScript Means It](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2q4w48b9bzs43tynyhsf.png)
