Про протоколы взаимодействия с 3G/LTE-модемом

Oct 01, 2016 20:20


Я, наивный, раньше думал, что протоколов общения с GSM-модемом на сегодняшний день существует не так уж и много. Пока не набрёл в Сети на одну занимательную PDF-ку с презентацией. Оказывается, оных технологий существует около десятка. Причём, как относительно "стандартных" и более-менее распространённых, так и всяких проприетарных и экзотических. Наглядно проиллюстрировать ситуацию можно так:




Если вкратце, то весь этот зоопарк сводится примерно к следующему.
  • Семейство AT-комманд + PPP
  • Семейство ECM (Ethernet Control Model)
  • Семейство EEM (Ethernet Emulation Model)
  • Семейство NCM (Network Control Model)
  • Проприетарщина типа Sierra и Option
  • Условно-проприетарщина типа QCDM, WMC, QMI
  • RNDIS
  • MBIM

Если интересно, сравнение стандартизированных протоколов (ECM, EEM, NCM) и RNDIS можно посмотреть вот здесь.

Как говорится, "оу май факинг гад"! Но это всё голая теория. А что мы имеем на практике и какой протокол / модем лучше выбрать для использования в повседневной нелёгкой админской жизни и на какие грабли можно наступить? Какие нюансы следует держать в голове и учитывать?
  1. Варианты с PPP и RNDIS - самые тормозные, но в то же время и самые универсальные. Если вам нужна высокая скорость передачи данных и/или торренты, то они не для вас. Первый упирается в архитектурные ограничения, второй - в вычислительные мощности модема, который в таком случае становится уже и не модемом, а очень даже роутером. И помните, что RNDIS автоматически подразумевает наличие ещё одного NAT-а внутри модема, наряду с NAT-ом в сети провайдера.
  2. Самым свежим, "молодым" и перспективным протоколом является MBIM. В Windows начиная с 8-ки он поддерживается "из коробки", никаких драйверов устанавливать не требуется: "воткнул и работает". По этой же причине он не всегда корректно заводится под Linux-ом. В 2013-м году там было вообще всё очень грустно. Как сейчас - не знаю, надо тестировать. Может, и допилили. Именно этому протоколу следует отдавать предпочтение при прочих равных.
  3. Если выбирать между PPP, ECM, EEM и NCM, то лучше уж NCM. Именно он реализован в большинстве хуявых (Huawei) модемов.
  4. Почти все устройства на базе широко распространённых чипов имени Qualcomm будут поддерживать QMI. С точки зрения пользователя это вполне нормальный, годный протокол. Linux-ом обычно понимается нормально. Под винду надо ставить драйвера от производителя. Если оный супостат не приложил к железке диск с драйверами, то попробуйте взять их от Sierra Wireless EM7345. :)
  5. Бывает, что одно и то же устройство умеет работать в нескольких различных режимах. Тогда предпочтение тому или иному протоколу следует отдавать в таком порядке, по убыванию: проприетарщина, QMI, MBIM, NCM, ECM, RNDIS, PPP. Данная рекомендация касается админов и пользователей. У разработчиков софта скорее всего будет диаметрально противоположное мнение. :)
  6. Некоторые устройства по-разному представляются операционной системе в зависимости от её типа и версии. Например, бывают модемы, которые под Windows 7 автоматически включают режим RNDIS, под Windows 8 - MBIM, а под Linux-ом - QMI. Такая технология называется "морфинг" (morphing). Иногда это удобно, а иногда наоборот, прибавляет проблем.

Теперь касаемо выбора конкретного железа. Из того, что на момент написания этого поста реально купить, достойны внимания четыре модели.
  • Sierra AirCard 320U. Офигенно, дорого, в России официально не продаётся. Есть на AliExpress-е. Заводится под чем угодно быстро и без проблем. Понимает свой собственный проприетарный протокол имени "Direct IP" (есть модуль под Linux) и QMI.
  • Huawei E3272 и его клоны. Снят с производства, но можно взять на каком-нибудь Avito БУшный. Понимает RNDIS, он же HiLink, и NCM. Для переключения между одним и другим требуется перепрошивка. Обычно из коробки идёт с NCM-ом.
  • Huawei E3372 и его модификации. Старший брат предыдущего товарища на более новом чипе и с более мощным процессором. Также понимает RNDIS и NCM, но намного хуже перепрошивается. Вариант для настоящих красноглазиков. Из коробки обычно идёт с прошивкой RNDIS (HiLink). Экземпляры из некоторых партий дык вообще перешиваются исключительно с применением паяльника. Спорный выбор, но имеет право на существование.
  • ZTE MF823D. Полиморф. Настоящий комбайн с труЪ-линуксом внутри. Сделан на базе Qualcomm. Понимает QMI, RNDIS, MBIM и вроде как ECM. Для ценителей доступен линуксовый shell через telnet либо ADB-интерфейс. В MBIM переключать без особой нужды не рекомендуется, ибо при этом сразу теряется доступ к "кишкам" модема. Весьма занятный представитель своего племени.
Что касается конкретно меня, то первые два типа "мопедов" у меня уже довольно давно и успешно трудятся на благо предприятия. Про остальные два больше ничего сказать толком не могу. Купил по штучке "на пробу", буду ковырять и смотреть как они себя ведут под реальной нагрузкой. Если у кого-то уже есть опыт использования одного из них, милостиво прошу поделиться своими соображениями. Потому что пока не могу решить кому бы отдать предпочтение при закупке следующей партии.

железо, ликбез, lte, it, модемы, технологии

Previous post Next post
Up