Модем Huawei E3272 (Мегафон M100-4, МТС 824F, 824FT, Билайн E3272 HiLink) — всё что хотелось и не хотелось знать / СоХабр

E Каталог

«живая» и «мёртвая» вода своими руками

Конечно, это в сказках только бывает «живая», «мертвая» вода, — скажет любой читатель, прочитав заголовок этой статьи. С одной стороны — да, но с другой прочитайте эту статью дальше и вы многое узнаете…

Подробнее…

  • Дробилка для зерна своими руками
  • Edge, 3g, lte


    Текущий режим смотреть в конект манагере или через терминал послать команду:

    AT^SYSINFOEX

    ^SYSINFOEX:1,0,1,255,,3,«WCDMA»,41,«WCDMA»

    Настроить что использовать — аналогично, см топик 4PDA.

    Freebsd


    Всё что выше и ниже пришлось раскопать чтобы написать патч и понять почему с оригинальной прошивкой от меги работало а с новой универсальной уже нет, и почему с прошивкой от МТС заработало после добавления идентификаторов устройства.

    Можно накатить патч: bz-attachments.freebsd.org/attachment.cgi?id=145319Здесь обсуждение: bugs.freebsd.org/bugzilla/show_bug.cgi?id=192345А здесь видно что он и где меняет: bugs.freebsd.org/bugzilla/attachment.cgi?id=145319&action=diff

    if_cdce.c: просто добавляем идентификаторы NCM устройств от хуавея

    u3g.c: выкидываем кусок неиспользуемых констант, добавляем идентификаторы E3272 в список известных, макрос U3G_HUAWEI_IS_CDC чтобы не приставать к NCM устройствам от хуавея в этом драйвере, и два места в которых эта проверка выполняется, и ещё по мелочи.

    umodem.c: добавляем идентификаторы специфичные для хуавея, хотя по сути его можно не патчить, u3g делает всё вместо него.

    usb_msctest.c: заменяем старый код переключения режима на новый и улучшаем обработку ошибок.

    usbdevs: идентификаторы новых устройств.

    Увы, но самое важное: замена кода инициализации на новый и макрос U3G_HUAWEI_IS_CDC добавлять не хотят и приходится тратить кучу времени на объяснение что в линуксе это уже сделали и без этого новые модемы хуавей работать не будут.Притом это касается не только E3272 но и как минимум E3276 и скорее всего других моделей.

    Modem режим

    Это не оптимальный режим, поскольку модем эмулирует PPP сервер, а ОС занимается инкапсуляцией/декапсуляцией пакетов в/из PPP, всё это накладные расходы.

    Устанавливаем mpd5 из портов, конфигурим и запускаем:cd /usr/ports/net/mpd5make installmake cleancp /usr/local/etc/mpd5/mpd.script.sample /usr/local/etc/mpd5/mpd.script

    Создаём такой файл:

    /dev/cuaU0.0 — это порт модема.

    Запускаем: /usr/local/etc/rc.d/mpd5 forcerestart

    Ncm режим


    Это для модемов со старой прошивкой, типа мегафоновской оригинальной либо после применения патча.

    Для МТС не сработает без патча.

    Модем эмулирует ethernet адаптер и DHCP сервер.

    Ndis (ncm)


    Пинг стабильно (более менее) держится и ниже, нагрузки на систему (E8500 — это вам не задохлик роутер на ARM/mips) не заметно вообще.

    Ras (modem)

    Пинг скачет и несколько выше, нагрузка на систему заметна, примерно 4-6% одного ядра. Такое походу не всем роутерам под силу.

    Windows

    Тут всё просто и без подробностей.

    Восстановление работоспособности


    Опять же отсылаю на 4pda, метод «иголки», ссылка в шапке.

    Я замыкал контакт пока модем не отдавал в систему свои COM порты и дальше шил обычную прошивку.

    Некоторые говорят что такое для них не срабатывает а вот флешер от хуавея помогает.

    Мне приходилось его восстанавливать 2-3 раза после AT^SETPORT с неправильной последовательностью, об этом ниже.

    Для устройств от мтс

    • AT^SETPORT=»A1,A2;61,62,76,A1,A2″ — Режим, используемый по умолчанию
    • AT^SETPORT=»FF;61,62″ — «Только Модем»
    • AT^SETPORT=»FF;61,62,76″ — «Только Модем» и «NDIS»
    • AT^SETPORT=»FF;62,76″ -«Только NDIS»

    Дополнительно

    На текущий момент известно о нескольких разновидностях устройства: — Huawei E3272s-153 Модели: МТС 824F, Мегафон M100-4, Билайн HiLink — Huawei E3272s-210

    Добавлена поддержка стандарта LTE TDD 2600 Модели: МТС 824FT — Huawei E3272s-600 Модели: Казахстан Алтел (ALTEL 4G) для МТС и Мегафон.

    Huawei E3276 — в аппаратном отношении полный аналог, с совместимой прошивкой. Различие лишь в поворотном механизме.

    Modem (Только модем, RAS) — прошивка 21.* , на COM-порту ПК эмулируется PPP сервер. Для подключения надо создать «новое подключение» (звонилку) в сетевых подключениях Windows.

    NDIS — В сетевых подключениях ПК появляется виртуальный сетевой адаптер, через который собственно и получаем Интернет.

    HiLink — этот режим, который появился на прошивке 22.*. Модем превращается фактически в 3G/4G-роутер со своим web-интерфейсом, активным DHCP-сервером и NAT.

    Как это работает на самом деле


    Дальше хардкор, на основе собственных опытов.

    Коды переключение режима

    В интернете нашлось три разных кода:

    1. 555342431234567800000000000000

    11060000000000000000000000000000

    2. 555342431234567800000000000000

    11062000000100000000000000000000

    3. 555342431234567800000000000000

    11062000000101000100000000000000

    (555342431234567800000000000000 — это коды обёртка для SCSI, насколько я понял, в u3g оно генерируется на лету и код в исходнике начинается с 0x11, 0x06).

    Конфигурация модема


    Команда: AT^SETPORT=? покажет как сконфигурирован модем.

    Отправлять в COM порт для управления или в то что винда/линукс/фря называет модемом.

    Отправить можно взяв софт из шапки в 4PDA или Putty или cu -l /dev/cuaU0.1 (~. — выход из терминалки) во FreeBSD.

    В ответ можно получить какой то из вариантов:AT^SETPORT=«A1,A2;10,12,16,A1,A2»AT^SETPORT=«A1;10,12,16,A1,A2»AT^SETPORT=«FF;10,12,16,A1,A2»AT^SETPORT=«FF;61,62,76,A1,A2»

    Для того чтобы узнать какой код что означает служит команда: AT^SETPORT=?

    но это не «железно», те возможно данные коды к модели и не привязаны, просто на тех прошивках что я пробовал было вот так.

    Как минимум есть модели/прошивки где: ^SETPORT:46: NCM (код из дров линуха)

    Итак,AT^SETPORT=”A1,A2;10,12,16,A1,A2″AT^SETPORT=”A1;10,12,16,A1,A2″AT^SETPORT=”FF;10,12,16,A1,A2″Первый — два кода (до точки с запятой) описывают какие устройства будут видны системе до того как драйвер отправит код переключения режима, все оставшиеся коды это устройства которые доступны в рабочем режиме.

    Пример: AT^SETPORT=«A1;10,12,16,A1,A2» — в системе появляется CD-ROM с Dashboard, если это первый раз, то юзер ставит от туда дрова, дрова отправляют спец код и в системе появляется всё остальное.Время переключения конфигурации — примерно 2 секунды.

    Пример: AT^SETPORT=«FF;10,12,16,A1,A2» — в системе сразу появляется куча устройств, юзер/система сам ищет и ставит дрова.

    ВАЖНО!!!Если мы меняем конфигурацию модема, то команда AT^SETPORT=”…;….” должна содержать коды в порядке возрастания!Иначе модем не сможет инициализироваться и придётся его восстанавливать.

    Переключение режима


    Для продолжения работы

    вставьте 5 долларов в дисковод А

    требуется отправить в модем специальный код.

    Это не только хуавей такой, многие модемы так же работают.

    В венде код отправляет драйвер, заботливо написанный хуавеем.В Linux пользуются программой usb_modeswitch (насчёт драйверов которые это умеют я ничего не знаю).Во FreeBSD можно воспользоваться usb_modeswitch либо это в может сделать драйвер u3g (если его заботливо пропатчить, см ниже).Пример: usb_modeswitch -v 0x12d1 -V 0x12d1 -p 0x14fe -P 0x14fe -M 55534243123456780000000000000011060000000000000000000000000000

    Переключение режимов 3g и 4g

    • AT^SYSCFGEX=»00″,3fffffff,2,4,7fffffffffffffff,, — Автоматический режим
    • AT^SYSCFGEX=»02″,3fffffff,2,4,7fffffffffffffff,, — Только 3G
    • AT^SYSCFGEX=»02″,400000,2,4,7FFFFFFFFFFFFFFF,, — 3G на частоте 2100 МГц
    • AT^SYSCFGEX=»02″,2000000000000,2,4,40,, — 3G на частоте 900 МГц
    • AT^SYSCFGEX=»02″,2000000400000,2,4,40,, — 3G на частотах 900/2100 МГц
    • AT^SYSCFGEX=»0302″,3FFFFFFF,1,2,7FFFFFFFFFFFFFFF,, — 3G/4G
    • AT^SYSCFGEX=»03″,3fffffff,2,4,7fffffffffffffff,, — Только 4G Режимы работы модема:
    • AT^SETPORT=»A1,A2;10,12,16,A1,A2″ — Режим, используемый по умолчанию.
    • AT^SETPORT=»FF;10,12″ — «Только Модем»
    • AT^SETPORT=»FF;10,12,16″ — «Только Модем» и «NDIS»
    • AT^SETPORT=»FF;12,16″ — «Только NDIS»

    Поддерживаемые частоты

    E3272s-153: Band 1/3/7/8/20 ( LTE FDD 800/900/1800/2100/2600MHz ) — МТС 824F, Мегафон M100-4, Билайн E3272, HiLink.E3272s-210: Band 3/7/20/38 ( LTE FDD 800/1800/2600MHz & TDD 2600MHz ) — МТС 824FT.E3272s-506:E3272s-600: Band 1/3/7/8 ( LTE FDD 900/1800/2100/2600MHz )

    Простая зернодробилка

    В частном подворье зернодробилка — один из необходимых приборов. Дроблёное зерно лучше запаривается и усваивается птицами или другой домашней живностью.

    Сегодня рассмотрим вариант изготовления простой дробилки из подручных материалов (кастрюли, мотора от старого пылесоса…)

    Подробнее…

    Простой пневмопистолет для герметика своими руками

    Простой пневмопистолет для герметика своими руками Когда под рукой нет пистолета для герметика (или пользоваться им неудобно, некоторые пишут в интернете: «устаешь давить на курок при большом объеме работ, а пистолета с электроприводом нет»), приходится придумывать, как выдавить силикон из тубы подручным способом.

    Подробнее…

  • Устройство для приготовления «живой» и «мертвой» воды
  • Прошивки

    Мегафоновской оригинальной прошивки нет в инете в свободном доступе, но есть близкие по номеру версии от других операторов.


    Прошивки на 22.* — это HiLink режим работы, к ней в комплект нужен WebUI (веб интерфейс).

    Прошивки на 21.* — это Modem NCM режими работы, к ней в комплект можно шить (но не обязательно) Dashboard (образ компакт диска для виртуального CD-ROM).

    Перешиваться 21<->22 нужно строго по инструкции из шапки.


    Драйвера ставить нужно по одному разу для 21 и 22 прошивок, потом это не требуется, тк венда их сохраняет и ставит автоматом.

    Прошивки есть для разных моделей: 153, 210, 927 и тп. Разные модели работают на разных частотах/каналах

    Hint: Если прошить мегафоновский модем прошивкой от МТС светодиод начнёт светится красным вместо зелёного, вероятно есть и какие то другие последствия, поскольку мегафон модель 153 а мтс 210.

    Разблокировка

    см шапку топика:

    Разблокировка модема

    Шаг 1. Первое что нужно сделать — это узнать IMEI модема. Сделать это можно, как минимум, тремя способами.

    Во-первых IMEI указан на коробке,

    во-вторых под крышкой отсека SIM-карты на самом модеме,

    в третьих — его можно узнать из встроенного ПО.

    Шаг 2. После того как вы узнали IMEI необходимо получить код разблокировки.

    Шаг 3. Для получения кода можно использовать «HUAWEI Unlock code калькулятор» или воспользоваться онлайн-сервисом.

    Шаг 4. Вводим наш 15-ти значный IMEI и нажимаем «Calc», в окошке утилита сгенерирует нам наш Flash-/Unlock-коды.

    Внимание! Flash сode нужен для перепрошивки модема, Unlock для разблокировки!В нашем модеме Huawei E3272 код разблокировки по новому алгоритму, т.е. v201 code.

    Шаг 5. Вставляем SIM-карту другого оператора, открываем программу управления модемом, при запросе кода разблокировки вводим полученный код.

    Шаг 6. После ввода модем будет разблокирован от оператора и будет принимать любые сим-карты.

    P.S. За последнее время многое изменилось:

    1. Практически не осталось роутеров для которых бы производители не сделали новые прошивки с поддержкой этого модема. Поэтому любой роутер с последней заводской прошивкой будет понимать модем 3272 в стике в заводской (из коробки) конфигурации.

    2. Следовательно нет в настоящее время необходимости переводить модем 3272 в режим только модем, т.е. отключать сетевую карту (NDIS) — порт 76 или 16 соответственноПоскольку отключая сетевую карту модема, следует помнить, что больших скоростей в режиме модема (RAS) не получишь.

    3. Сеть LТЕ с того времени также активно развилась, и во многих регионах в сети LТЕ можно разгоняться до скоростей от 50 до 60 Мбит в сек, а то и больше… но такую скорость можно получить только по сетевой карте модема (NDIS), в то время как в режиме RAS (только модем) с отключенной сетевой картой такую скорость не получить — в лучшем случае 20-30 Мбит/сек.

    ПОДЕЛИТЕСЬ СО СВОИМИ ДРУЗЬЯМИ:

    П О П У Л Я Р Н О Е:

    • Пистолет для герметика из трёх деталей
    • Простой пневмопистолет для герметика своими руками

      Простой пневмопистолет для герметика своими руками Когда под рукой нет пистолета для герметика (или пользоваться им неудобно, некоторые пишут в интернете: «устаешь давить на курок при большом объеме работ, а пистолета с электроприводом нет»), приходится придумывать, как выдавить силикон из тубы подручным способом.

      Подробнее…

    • Устройство для приготовления «живой» и «мертвой» воды
    • «живая» и «мёртвая» вода своими руками

      Устройство для приготовления "живой" и "мертвой" воды своими руками.

      Конечно, это в сказках только бывает «живая», «мертвая» вода, — скажет любой читатель, прочитав заголовок этой статьи. С одной стороны — да, но с другой прочитайте эту статью дальше и вы многое узнаете…

      Подробнее…

    • Дробилка для зерна своими руками
    • Простая зернодробилка

      Дробилка для зерна своими руками

      В частном подворье зернодробилка — один из необходимых приборов. Дроблёное зерно лучше запаривается и усваивается птицами или другой домашней живностью.

      Сегодня рассмотрим вариант изготовления простой дробилки из подручных материалов (кастрюли, мотора от старого пылесоса…)

      Подробнее…

    Популярность: 6 361 просм.

    Различия поведения с разными кодами

    Код 1: 11060000000000000000000000000000


    Похоже старый код инициализации.

    На данный момент именно он прописан в u3g драйвере FreeBSD.

    Прошивка 153-21.470.05.00.00 (вроде как самая свежая) вообще не принимает этот код и похоже зависает!

    Остальные (210-21.436.11.00.143_Russia MTS, 153-21.436.05.00.56_Tele2_Estonia, 153-21.436.05.00.1134_Baltic_OM (как и родная от меги)) принимают и выставляют PIDidProduct = 0x1c1e

    при этом все устройства идут со стандартными идентификаторами, универсальными для всех производителей

    Эти идентификаторы известны как стандартные и подхватываются стандартные дрова типа if_cdce во FreeBSD или аналогичный в линухе, для COM порта и модема аналогично.

    Ещё к побочным эффектам можно отнести что команда: AT^SETPORT=? на прошивке: 210-21.436.11.00.143_Russia MTS выдаёт вот такую ошибочную конфигурацию:AT^SETPORT:A1,A2;7C,A1,62,76,A2,79хотя должнаAT^SETPORT:A1,A2;61,62,76,A1,A2и под вендой она выдаёт правильно, что намекает что в венде данный код инициализации не используется.

    Код 2: 11062000000100000000000000000000Код 3: 11062000000101000100000000000000Режим FF (это который через SETPORT настраивается)Код 3 — похоже самый «новый», его я достал из самого свежего usb_modeswitch, а уж откуда они его взяли я не интересовался 🙂

    PID получается:idProduct = 0x1506

    А вот устройства уже

    где,

    bInterfaceProtocol

    — содержит номер устройства из строки инициализации (см AT^SETPORT=?).

    bInterfaceClass = 0x00ff — означает специфичные для вендора значения, а не стандартные как было в предыдущем случае — те нужен специальный драйвер.


    В линухе только недавно сделали отдельный драйвер: huawei_cdc_ncm.

    Во FreeBSD…

    Режимы работы

    HiLink — прошивка 22.*, так же шьётся отдельно веб интерфейс. Модем определяется как сетевой адаптер подключённый к сети, в которой есть роутер с NAT, DHCP сервер и Web сервер — это всё модем. Модем сам подключается, сам раздаёт адреса и сам NAT-ит.

    В веб интерфейсе можно смотреть уровень сигнала, читать SMS и отправлять USSD запросы. (не во всех веб интерфейсах это доступно)Минусы: если брать «белый» IP адрес то в этом режиме входящие подключения так же не будут работать; возможно что модему не хватит ресурсов для того чтобы задействовать доступную пропускную способность.

    Modem — прошивка 21.*, (он же RAS) модем внутри себя эмулирует PPP сервер на COM порте. Нужно по «старинке» создавать подключение и «дозваниваться».В таком режиме у меня наблюдались флуктуации пинга: 25 -4 мс. И в этом режиме у меня нагрузка на систему при замерах скорости была выше.Уровень сигнала и прочее доступно через AT команды.

    NCM — прошивка 21.*, модем виден в системе как сетевой интерфейс и COM порт для управления.Ещё этот режим называют NDIS, тк модем эмулирует стандартный сетевой адаптер, драйвера на который есть во многих ОС из коробки.Это наиболее интересный, на мой взгляд, режим работы модема.

    Можно получить «белый» IP адрес прямо на сетевой интерфейс системы по DHCP, пинги не прыгают как в режиме модема, нагрузки на систему не заметно.В винде в этом режиме он работает практически как WiFi: в списке доступных сетей показывает сеть оператора, один щелчок, вводим APN и инет работает.

    С точки зрения ос

    idProduct — это PID устройства, так драйвер отличает разные устройства одного производителя.


    VID — идентификатор производителя одинаковый,

    0x12d1

    — для хуавея.

    Для начальной конфигурации A1:idProduct = 0x14fe — с родной прошивкой меги (21.*, модель 153 скорее всего для всех них)idProduct = 0x155b — с прошивкой МТС (21.*, модель 210)При этом система видит только один CD-ROM. Если прошит дашборд то его можно примонтировать и там будут файлы.

    Сценарий 1: плывём по течению


    Вставили модем, подождали пока он прогрузится, система увидела CD-ROM, можно поставить от туда софт оператора, при его установке дрова поставятся автоматом.

    Ближе ко второму случаю, максимум поставить дрова, остальное сделается автоматом.

    HiLink прошивку я поставил, посмотрел и снёс, подробностей не помню.

    Тесты


    Сравнил работу в режимах NDIS (NCM) и RAS (modem) под FreeBSD.

    Методика: Москва, после полуночи 🙂

    wget качал в 8 потоков один и тот же файл в /dev/null


    Сервер с файлом в этом же городе, канал до него позволяет более 100 мегабит забирать, сам сервер тоже может 500 легко для одного файла.

    Скорость получилась примерно одинаковой: 7-8 мегабайт в секунду.

    Оцените статью
    Huawei Devices
    Добавить комментарий