klink0v (klink0v) wrote,
klink0v
klink0v

Huawei E3272 и OpenWRT

В организации "завалялось" некоторое количество когда-то бывших весьма популярными в народе модемов Huawei E3272, он же Мегафон M100-4, он же МТС 824F, он же МТС 824FT. Задача: заставить работать этот мопед совместно с OpenWRT-маршрутизатором. В моём случае это такой же "ходовой" TP-Link TL-WR842ND.

Небольшое лирическое отступление. Этот модем может работать в режимах PPP, NCM и HiLink. В последнем варианте модем фактически превращается в отдельный самостоятельный роутер со своим блекджеком и шлюхами DHCP, NATом и эмуляцией сетевого адаптера. Чтобы его активировать, требуется обновить прошивку с версии 21 до версии 22, но лично я этого делать не советую. Ибо вычислительной дури мощности у этого "свистка" совсем мало, и он просто загнётся под мало-мальски серьёзной нагрузкой.

Что касается PPP (он же RAS), то это уже весьма тухлый протокол, который не даст вам реализовать все преимущества и выжать из LTE полную скорость by design. Поэтому использовать его я тоже не очень советую. Остаётся NCM.

Дык вот, сложность заключается в том, что NCM в исполнении Huawei получился весьма чудесатым и ни с чем другим не совместимым. И таки нет, это не QMI, поэтому всякие uqmi и иже с ними отпадают сразу. Только общение AT-командами через псевдотерминал, только хардкор. И эти AT-команды, как всегда, тоже мало с чем совместимы и не особо документированы. На всякий случай, команда установления сеанса связи, которую ещё пришлось поискать: "AT^NDISDUP=1,1".

Но и это ещё не всё. Эта гадская скотина (модем которая) в ответ на команду "ATI" в поле "Manufacturer" ничего не отдаёт. Не знаю, возможно, мне просто попался такой экземпляр. Возможно, его криво перепрошили/разлочили. Но факт остаётся фактом. Из-за этого идущие в пакете "comgt" для OpenWRT скрипты не понимают с чем имеют дело и вываливаются по ошибке.

Так что если кто-то ещё будет иметь дело с похожей железкой, имейте в виду следующее.


  1. Нужно установить пакеты "comgt-ncm", "kmod-usb-net-huawei-cdc-ncm" и их зависимости.

  2. Всякие "usb-modeswitch", "kmod-usb2", "kmod-usb-serial-ipw" и "kmod-usb-serial-option" подразумеваются сами собой. Пока в "ip link show" вы не увидите "wwan0", а в "/dev" - "ttyUSB1", дальше можно даже и не пытаться.

  3. Открываем на редактирование скрипт "/lib/netifd/proto/ncm.sh", находим там строчку "manufacturer=бла-бла-бла" и сразу после неё добавляем заклинание manufacturer="huawei". Это как раз костыль, призванный скомпенсировать косяк прошивки модема. Надо отметить, что такой "патч" потребуется накладывать после каждого обновления версии OpenWRT. Также про него стоит вспомнить (и убрать), если мы когда-нибудь в будущем захотим подключить к своему роутеру какой-нибудь другой модем.

  4. Через веб-интерфейс aka Luci в стабильной версии OpenWRT (15.05) настроить интерфейс, увы, не получится. Придётся лапками через "/etc/config/network". Примерно вот так:

После этого рестартуете сетку ("/etc/init.d/network reload"), должно взлететь. Не забудьте также потом добавить его в расово правильную зону своего Firewall-а.

Мораль сей басни такова. Huawei — это относительно дешёво и даже работает. Но если не хотите поиметь красные глазки и геморрой, то лучше берите Sierra Wireless.

Tags: linux, lte, openwrt, администрирование, модемы
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 11 comments