Настройка LTE-модема Air780E на Raspberry Pi. Полное руководство
Данное руководство описывает процесс подключения и настройки LTE-модема Air780E (на чипе BYD EigenComm) к Raspberry Pi Zero через интерфейс pogo-pin. Модем подключается через USB-порт OTG и работает в режиме хоста по умолчанию. Инструкция включает идентификацию устройства, работу с AT-командами, настройку APN для различных операторов, автоматизацию подключения и решение типичных проблем.
Настройка LTE-модема Air780E на Raspberry Pi: полное руководство
Описание/Введение
Данное руководство описывает процесс подключения и настройки LTE-модема Air780E (на чипе BYD EigenComm) к Raspberry Pi Zero через интерфейс pogo-pin. Модем подключается через USB-порт OTG и работает в режиме хоста по умолчанию. Инструкция включает идентификацию устройства, работу с AT-командами, настройку APN для различных операторов, автоматизацию подключения и решение типичных проблем.
Рекомендации
Перед началом настройки убедитесь, что используете блок питания мощностью не менее 2.5A, так как LTE-модем и Raspberry Pi Zero вместе потребляют значительный ток. SIM-карта должна быть активна, иметь положительный баланс и отключенный запрос PIN-кода. Для работы с AT-командами рекомендуется использовать утилиту screen как более простую альтернативу minicom.
Аппаратное подключение
Raspberry Pi Zero имеет два Micro-USB порта: порт PWR IN предназначен только для питания, порт USB (OTG) по умолчанию работает в режиме хоста и используется для подключения модема. Вставьте SIM-карту в слот модема чипом вверх (ориентация может отличаться в зависимости от конкретной платы), подключите модем через pogo-pin к порту USB, при наличии подключите внешнюю антенну и подайте питание на Raspberry Pi.
Проверка обнаружения модема
После загрузки системы выполните команду для просмотра USB-устройств:
1
lsusb
В выводе должна появиться строка с идентификатором 19d1:0001 BYD EigenComm Compo. Затем проверьте созданные последовательные порты:
1
ls -la /dev/ttyA*
Модем должен создать порты /dev/ttyACM0 (основной AT-порт) и /dev/ttyACM2 (дополнительный). Проверьте появление сетевого интерфейса:
1
ip a
Должен появиться интерфейс eth1 или usb0. Для просмотра системных сообщений о подключении выполните:
1
dmesg | grep -i "ttyACM\|modem" | tail -20
Установка ModemManager
ModemManager обеспечивает высокоуровневое управление модемом. Установите его командой:
1
2
sudo apt update && sudo apt install modemmanager -y
sudo systemctl enable ModemManager && sudo systemctl start ModemManager
Проверьте обнаружение модема:
1
sudo mmcli -L
При успешном обнаружении вы увидите путь к модему, например /org/freedesktop/ModemManager1/Modem/0 [BYD] EigenComm Compo. Для получения подробной информации выполните:
1
sudo mmcli -m 0
Работа с AT-командами через screen
Для прямого общения с модемом используйте утилиту screen. Установите её при необходимости:
1
sudo apt install screen -y
Подключитесь к AT-порту:
1
sudo screen /dev/ttyACM0 115200
Проблема: Вводимые команды не отображаются на экране. Решение: Это нормальное поведение для многих терминальных программ при работе с модемами. Для включения отображения вводимых символов нажмите Ctrl+A, затем E (переключение локального эха). Если комбинация Ctrl+A не срабатывает, попробуйте нажать её дважды быстро или использовать Ctrl+Z / Ctrl+Q. Альтернативный способ — включить эхо через конфигурационный файл перед запуском screen. Создайте файл настроек:
1
echo 'pu localecho Yes' | sudo tee ~/.minirc.dfl
После этого используйте minicom вместо screen:
1
sudo minicom -D /dev/ttyACM0
Для выхода из screen нажмите Ctrl+A, затем K (латинскую), затем подтвердите y. Для выхода из minicom нажмите Ctrl+A, затем Z, затем Q или X.
Основные AT-команды
После подключения к порту введите следующие команды (помните, что символы могут не отображаться до включения эха):
AT— проверка связи с модемом, ожидаемый ответ:OKATE1— включение эха команд, ожидаемый ответ:OKAT+CPIN?— проверка статуса SIM-карты, ожидаемый ответ:+CPIN: READYAT+CSQ— проверка уровня сигнала, ожидаемый ответ:+CSQ: XX,0(где XX от 0 до 31, значение 10 и выше считается нормальным)AT+CREG?— проверка регистрации в GSM сети, ожидаемый ответ:+CREG: 0,1(зарегистрирован в домашней сети) или0,5(роуминг)AT+CEREG?— проверка регистрации в LTE, ожидаемый ответ:+CEREG: 0,1или0,5AT+COPS?— определение текущего оператораAT+CCID— получение уникального идентификатора SIM-картыAT+CGATT=1— прикрепление к GPRS сети, ожидаемый ответ:OKAT+CIFSR— получение IP-адреса после активации соединения
Настройка APN для различных операторов
APN (Access Point Name) — это точка доступа, которая должна соответствовать вашему оператору. Установите APN командой в формате AT+CSTT="APN","логин","пароль":
Для Tele2:
1
AT+CSTT="internet.tele2.ru","",""
Для МТС:
1
AT+CSTT="internet.mts.ru","",""
Для Билайн:
1
AT+CSTT="internet.beeline.ru","beeline","beeline"
Для МегаФон:
1
AT+CSTT="internet","",""
Для Yota:
1
AT+CSTT="internet.yota","",""
Для Ростелеком:
1
AT+CSTT="internet.rt.ru","",""
Подключение к интернету через AT-команды
Последовательно выполните следующие команды в screen или minicom:
1
2
3
4
5
6
7
8
AT+CPIN?
AT+CSQ
AT+CREG?
AT+CEREG?
AT+CGATT=1
AT+CSTT="internet.tele2.ru","",""
AT+CIICR
AT+CIFSR
Команда AT+CIICR активирует сеть, процесс может занимать 5-10 секунд. После получения IP-адреса от оператора выйдите из терминальной программы. Затем настройте сетевой интерфейс в Linux. Рекомендуемый способ — использование DHCP:
1
2
3
sudo dhclient eth1
ip addr show eth1
ping 8.8.8.8
Если DHCP не работает, назначьте IP-адрес вручную (замените 10.xxx.xxx.xxx на IP, полученный от AT+CIFSR):
1
2
3
4
sudo ip addr add 10.xxx.xxx.xxx/32 dev eth1
sudo ip link set eth1 up
sudo ip route add default dev eth1
ping 8.8.8.8
Если 8.8.8.8 пингуется, но доменные имена не резолвятся, настройте DNS:
1
2
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
ping google.com
Автоматизация подключения
Для автоматического подключения при загрузке системы создайте скрипт. Откройте файл для редактирования:
1
sudo nano /usr/local/bin/lte-connect.sh
Вставьте следующее содержимое, заменив APN при необходимости:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
APN="internet.tele2.ru"
USER=""
PASS=""
PORT="/dev/ttyACM0"
LOG_FILE="/var/log/lte-connect.log"
log() {
echo "$(date): $1" >> $LOG_FILE
}
log "Запуск подключения LTE"
{
sleep 1
echo "AT+CPIN?"
sleep 1
echo "AT+CSQ"
sleep 1
echo "AT+CGATT=1"
sleep 2
echo "AT+CSTT=\"$APN\",\"$USER\",\"$PASS\""
sleep 2
echo "AT+CIICR"
sleep 8
echo "AT+CIFSR"
sleep 2
} > $PORT
sleep 3
sudo dhclient eth1
log "Готово"
Сделайте скрипт исполняемым:
1
sudo chmod +x /usr/local/bin/lte-connect.sh
Добавьте скрипт в автозагрузку через crontab:
1
(crontab -l 2>/dev/null; echo "@reboot sleep 30 && /usr/local/bin/lte-connect.sh") | sudo crontab -
Альтернативный способ — создание systemd сервиса. Создайте файл сервиса:
1
sudo nano /etc/systemd/system/lte-connect.service
Содержимое файла:
1
2
3
4
5
6
7
8
9
[Unit]
Description=LTE Modem Connection
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/lte-connect.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Активируйте сервис:
1
2
3
sudo systemctl daemon-reload
sudo systemctl enable lte-connect.service
sudo systemctl start lte-connect.service
Типичные проблемы и решения
Проблема: После выполнения lsusb модем не отображается.
Решение: Убедитесь, что модем правильно подключен к порту USB (OTG), а не к PWR IN. Перезагрузите Raspberry Pi с уже подключенным модемом. Проверьте питание — используйте блок питания не менее 2.5A.
Проблема: Команда AT+CPIN? возвращает +CME ERROR: 4 или +CME ERROR: 10.
Решение: Ошибка 4 означает, что SIM-карта требует ввода PIN-кода. Ошибка 10 означает, что SIM-карта не обнаружена физически. Для отключения PIN-кода вставьте SIM-карту в обычный смартфон, зайдите в настройки безопасности и отключите запрос PIN-кода. После этого верните SIM в модем и выполните полную перезагрузку Raspberry Pi. Для проверки физического контакта протрите золотистые контакты SIM-карты сухой мягкой тканью.
Проблема: Вводимые команды не отображаются в minicom или screen.
Решение: Это нормальное поведение. В minicom нажмите Ctrl+A, затем E для включения локального эха. В screen эхо можно включить командой ATE1, отправленной вслепую. Для автоматического включения эха создайте файл ~/.minirc.dfl с содержимым pu localecho Yes.
Проблема: AT+CIICR возвращает ERROR.
Решение: Проверьте правильность APN для вашего оператора. Убедитесь, что AT+CREG? возвращает 0,1 или 0,5 (регистрация в сети есть). Проверьте уровень сигнала командой AT+CSQ — значение должно быть не менее 10. Убедитесь, что на SIM-карте положительный баланс и она активна. Попробуйте вставить SIM в телефон для проверки работоспособности.
Проблема: После AT+CIFSR получен IP, но ping 8.8.8.8 не работает.
Решение: Проверьте, появился ли IP на интерфейсе eth1 командой ip addr show eth1. Если IP не назначен автоматически, выполните sudo dhclient eth1 или назначьте IP вручную командой sudo ip addr add <полученный_IP>/32 dev eth1. Затем добавьте маршрут по умолчанию: sudo ip route add default dev eth1.
Проблема: ping 8.8.8.8 работает, но ping google.com не работает.
Решение: Проблема в DNS. Временно добавьте DNS-сервер Google: echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf. Для постоянной настройки отредактируйте файл /etc/dhcpcd.conf и добавьте строку static domain_name_servers=8.8.8.8 8.8.4.4.
Проблема: Модем периодически отключается или теряет соединение. Решение: Проверьте питание — используйте качественный блок питания на 2.5A с хорошим кабелем. Возможно, требуется внешнее охлаждение, так как модем может перегреваться при длительной работе. Убедитесь, что антенна надежно подключена и находится в зоне уверенного приема.
Проблема: После перезагрузки Raspberry Pi модем не определяется. Решение: Это особенность модемов Air780E — SIM-карта опрашивается только при включении питания. Убедитесь, что SIM-карта уже вставлена в модем до подачи питания. Выполните полное выключение, вставьте SIM (если ещё не вставлена), затем включите питание.
Проверка работоспособности
Для быстрой диагностики состояния модема выполните последовательность команд без входа в интерактивный режим:
1
2
3
echo -e "AT+CPIN?\r" | sudo tee /dev/ttyACM0 && sleep 1 && sudo cat /dev/ttyACM0
echo -e "AT+CSQ\r" | sudo tee /dev/ttyACM0 && sleep 1 && sudo cat /dev/ttyACM0
echo -e "AT+CREG?\r" | sudo tee /dev/ttyACM0 && sleep 1 && sudo cat /dev/ttyACM0
Если AT+CPIN? возвращает READY, AT+CSQ показывает значение 10-31, а AT+CREG? возвращает 0,1 или 0,5, модем готов к работе. Финальная проверка интернета выполняется командой ping -c 4 8.8.8.8.
После выполнения всех шагов ваш LTE-модем Air780E должен стабильно работать на Raspberry Pi. При возникновении проблем рекомендуется последовательно проверить каждый пункт из раздела “Типичные проблемы и решения” и убедиться, что SIM-карта активна, имеет положительный баланс и отключенный запрос PIN-кода. Для большинства российских операторов APN имеет значение internet.название_оператора.ru (кроме МегаФона, у которого APN = internet). При использовании модема в качестве основного канала выхода в интернет рекомендуется настроить автоматическое подключение через systemd сервис или crontab, как описано в разделе “Автоматизация подключения”.




