За последние 6 дней у меня была возможность пообщаться с LTE-модемом (https://sixfab.com/product/quectel-ec25-mini-pcle-4glte-module/), мне удалось настроить 4G доступ в Интернет на Raspberry Pi с помощью "QMI". Но у меня все еще МНОГО вопросов, я прочитал много руководств, статей и даже статей из книг, но я все еще запутался, надеюсь, у вас найдется время прояснить ситуацию для меня и будущих читателей:
- Как
PPP
взаимодействуютAT commands
другQMI
с другом и сLTE
? - Какова роль каждого из них? Нужны ли они нам все?
- Можете ли вы объяснить (подробно), что происходит при установлении соединения или получении/отправке данных из интернета с использованием этих протоколов? Схемы были бы замечательными.
- Я понимаю, что
PPP
он используется для подключения модема к интернет-провайдеру, почему люди говорят, что его следует заменитьQMI
? - В этом ответеhttps://unix.stackexchange.com/a/168690мы рекомендуем использовать
wwan0
интерфейс через tty для большей скорости, но все данные используют одно и то же USB-подключение, верно? - если максимальная скорость последовательного порта составляет 115200 бит/с, как модемы достигают 150 Мбит/с? Есть ли у них буферы?
- В соответствии сhttps://www.quectel.com/UploadImage/Downlad/Quectel_WCDMA<E_Linux_USB_Driver_User_Guide_V1.8.pdf(стр. 8/47) Модель предоставляет множество интерфейсов, и они говорят, что интерфейс wwan* может использоваться как сетевой адаптер USB. В чем разница между wwan* и /dev/ttyUSB*?
- Можете ли вы порекомендовать какие-нибудь статьи или книги по этому поводу?
решение1
Модем LTE может быть представлен операционной системе несколькими способами. Устаревший способ заключается в эмуляции устаревшего аналогового модема: в этом случае модем будет представлять один последовательный (TTY) интерфейс ( /dev/ttyUSB0
), который будет использоваться как для команд и ответов модема (AT-команды), так и для данных (PPP). В этом случае при установлении сетевого соединения устройство TTY будет передавать один поток данных PPP, а пакеты протокола TCP/IP будут упакованы в PPP.
Наличие только одного канала для передачи данных и команд модема может быть неудобным: это значительно усложняет отправку каких-либо команд модему (например, для контроля уровня радиосигнала) при активном сетевом соединении.
Существуют более высокие скорости последовательного порта, чем 115200 бит/с, и эмуляция последовательного порта на основе USB вполне может их сообщать. Но если фактическое соединение основано на USB, эмуляция последовательного устройства может просто игнорировать некоторые детали эмуляции: например, скорость последовательного порта и количество битов данных и стоповых битов могут быть проигнорированы, а команды для их установки могут быть сделаны пустыми операциями. При необходимости команды для запроса этих настроек могут быть сделаны так, чтобы выдавать некоторые разумно выглядящие ответы... но эти ответы не должны иметь ничего общего с фактической скоростью передачи данных. Таким образом, модем USB LTE в устаревшем режиме может сообщить вам, что установлен на /dev/ttyUSB0
115200 бит/с при запросе, в то время как фактическая скорость передачи данных может быть намного выше.
Радиопротокол LTE имеет встроенную поддержку TCP/IP и IPv6, поэтому нет необходимости фактически оборачивать TCP/IP в PPP через радиоинтерфейс. Протокол PPP просто используется между компьютером и модемом, чтобы соединение выглядело как устаревшее сетевое соединение на основе модема коммутируемого доступа.
Чтобы избавиться от устаревшего хлама, были разработаны новые способы представления USB-подключенных LTE-модемов, такие как QMI и MBIM. QMI — это фирменный протокол Qualcomm, в то время как я думаю, что спецификация протокола MBIM является результатом усилий по стандартизации от разных поставщиков. Они представляют модем как настоящий сетевой интерфейс (обычно wwan0
или похожий) и дополнительное устройство (например, /dev/cdc-wdm0
) для доступа к командам.
Это исключает уровень PPP, поскольку пакеты TCP/IP могут передаваться непосредственно модему для передачи по радиопротоколам LTE. Это устраняет необходимость как для компьютера, так и для модема делать вид, что между ними существует почтенное последовательное соединение RS-232, в то время как фактическое соединение — это USB. И это позволяет использовать отдельный командный канал, который можно легко использовать, например, для мониторинга уровня сигнала LTE, что может быть важно, если клиентское устройство перемещается во время использования сетевого соединения.
решение2
Не ответ как таковой, но у меня недостаточно репутации, чтобы прокомментировать вопрос. Часть ответа можно найти здесь, так как я тоже новичок в этом деле, и это дало мне некоторые основные ответы о ppp против qmi, модемах Quectel против Sierra, их различных прокси и т. д.:
https://www.outdoorrouter.com/4g-mobile-interface-protocol-qmi-and-ppp/
Цитировать:
Например, модемы Sierra используют прокси-сервер QMI_WWAN, а модемы Quectel используют прокси-сервер GobiNet.
Если вам интересно, я не имею никакого отношения к outdoorrouter, я даже не знаю, чем они занимаются.