Тип usb модема rndis или eem

Обновлено: 05.07.2024

Ethernet поверх USB реализуется либо через RNDIS (проприетарный микрософтовский протокол, но уже давно расковыряный), либо через CDC-EEM (как с его поддержкой в винде - не знаю).

      А как USB поверх Ethernet пробрасывают? Только с помощью лишь одного драйвера? На моем роутере TP-Link так организовано. В Windows ставится доп.драйвер, который организует в системе виртуальный USB-порт. Комп подключен к роутеру черезrezident (135 знак., 05.04.2013 17:29 )
        Скорее всего используется USB/IP. - vanner ( 05.04.2013 17:33 , ссылка)
          Не знаю. В диспетчере устройств (среди контроллеров универсальной шины USB) числится TP-LINK NetUSB MasterBus. - rezident ( 05.04.2013 17:46 )
          RNDIS по сути тот же CDC. Там ходит PPP. Но протокол некрософтовский проприетарный. Введены сипесияльные команды для управления. И винда его видит как сетевуху. Это никак не не "кхетайских ЮСБ вайфай-свистков". - Гудвин ( 05.04.2013 19:02 )
            Читаю по буквам, следите внимательно:ASDFS (598 знак., 05.04.2013 19:25 )
              Это буквы не той системы. "Remote NDIS (RNDIS) is a specification for network devices on dynamic Plug and Play I/O buses such as USB." И далее по тексту. Описание USB дескрипторов и пр. пр. - Гудвин ( 05.04.2013 20:25 , ссылка)
                Вот вот! Вы совсем чуть чуть не дочитали по своей ссылке: Remote NDIS is supported over USB by using the Abstract Control model, as defined in USB Communication Device Class, Version 1.1ASDFS (29 знак., 05.04.2013 20:46 - 20:48 ) Ни в каких китайских wi-fi свистках не применяется. Там дрова с поддержкой NDIS. RNDIS входит как составная часть в ActiveSync. Да и вааще что то не доводилось видеть какой-нить ширпотребный девайс, работающий с RNDIS по usb. Только Win CE и околоГудвин (418 знак., 05.04.2013 20:40 )
                  +1sa-n (18 знак., 05.04.2013 22:23 , ) А зачем хотели изобразить из своего девайса сетевуху? Это же заметно усложняет жизнь ендюзераASDFS (47 знак., 05.04.2013 21:19 )
                    Вот здесь поднимал тему (ссылка). Короче, несмотря на плюсы USB, остановился на автономном ethernet девайсе. Сомнения развеял как раз потенциальный заказчик. Учитывая все эти "терки" с разношерстными клиентами и операционками, он вообщеГудвин (1149 знак., 06.04.2013 07:33 - 10:24 , ссылка) Никаких проблем у пользователя нету, используешь dhcp-сервер на устройстве и все. - vanner ( 06.04.2013 01:54 )
                      Есть где нибудь практическая реализация, желательно с исходниками? - Make_Pic ( 06.04.2013 08:04 )
                        Мильоны их, попробуй для начала использовать гугл, все ключевые слова уже выдали. - vanner ( 06.04.2013 16:48 )
                        Я так себе и представил как майкрософт создает проприетарный протокол и - внезапно - на рынке появляется туева хуча кхетайских ЮСБ вайфай-свистков с поддержкой этого самого проприетара.ASDFS (82 знак., 05.04.2013 17:33 )
                          Я не следил за историей RNDIS, но первый раз увидел его в смартфонах на винмобайле (старых), они подключались по усб и создавали виртуальную сетевуху.vanner (273 знак., 05.04.2013 17:41 )
                            Вы просто путаете RNDIS-совместимые устройства и протокол работы со свистком.ASDFS (341 знак., 05.04.2013 17:48 )

                          Лето 7530 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна. Вебмастер.
                          MMI © MMXXI

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

                          Ранее в статье была анонсирована разработка RNDIS USB драйвера для контроллеров серии STM32F4. С тех пор библиотека постепенно развивалась и нынче доросла до первой release-версии. Библиотека под названием LRNDIS (LWIP + RNDIS) позволяет нам создавать на базе контроллера STM32F4 как устройства класса USB «модем», так и любые другие устройства с управлением через web-интерфейс. Пример управления платой stm32f4-discovery из web-браузера на Android-планшете представлен на видео:

                          image

                          На странице видеоролика представлена ссылка на исходные коды и HEX-файл прошивки для платы discovery, с которым вы сможете повторить данный эксперимент. В статье рассказано о том, как и когда технология доступа через WEB-интерфейс полезна, а также — как работает библиотека LRNDIS для контроллеров STM32F4. Также присутствует обучающий материал о работе USB и устройстве Ethernet-сетей.

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

                          Предыстория проекта весьма типовая. Стоял тёплый летний день. Гхм… Для заказчика стояла задача разработать устройство с сервисным интерфейсом управления.

                          По мере развития прошивки было введено несколько команд управления по VCP-интерфейсу. Это значит, что после подключения USB-устройства в ОС создавался виртуальный COM-порт. Используя его, из пользовательского терминала передавались команды управления и диагностики. В ответ от устройства принимался статус выполнения и его текущее состояние.

                          Система вполне типовая с сервисной точки зрения: есть последовательный порт и набор команд для управления и диагностики.

                          Всё изменилось в короткий срок. По объективным причинам рос требуемый набор команд. Также понадобилась интерактивность вывода: некоторые параметры стало необходимо отображать в динамике. Как, например, показания магнитного датчика при проносе мимо него ферромагнетика. Для этого были введены дополнительные команды, которые, оперируя управляющими последовательностями, печатали информацию в пользовательском терминале с высокой периодичностью. Это создавало необходимое ощущение риалтаймовости наблюдения. Интерактивные команды оказались настолько удобными для инженеров, что некоторая часть команд позже была добавлена в соответствии с концепцией. И тут раздался треск. Требовалось поддержать сразу несколько групп команд: интерактивные, диагностические, команды управления. При этом периодический рефакторинг кода был связан с трудоёмкой правкой в большом количестве обрабатываемых команд. Ясно стало, что ещё должна быть пользовательская группа команд — для менее квалифицированного персонала, который будет просто следовать инструкциям по эксплуатации. Для них возникла идея написания клиентского терминала с кнопочками и флажочками… И вот тут возникли сомнения: стало ясно, что мы занимаемся сервисной частью, уделяя всё меньше внимания функциональности! А ведь пользовательская программа, запускаемая на клиентской ЭВМ, также должна обладать своими требованиями: кроссплатформенность и LTS (длительностью поддержки).

                          Устройство, предположим, мы закончили, а пользовательское ПО мы должны портировать и тестировать с каждой версией выпускаемых операционных систем! А как долго?

                          Так и родился вопрос — как избавиться от дополнительных трудозатрат?

                          Было принято решение использовать стандарты гарантированно длительной поддержки. Те стандарты, которые нам позволят создать клиентскую программу управления устройством, которая будет поддерживаться максимально полным набором операционных систем в настоящем и будущем времени. На первых парах были найдены недостатки популярных кроссплатформенных фрэймворков:
                          — java: необходимость наличия в ОС JVM, и вытекающий из противного предположения необходимость дистрибьюции виртуальной машины
                          — qt: периодическая необходимость версионного портирования и нюансы запуска под Android.

                          Нет, эти сложности пугать не должны. Вопрос, пожалуй, только в трудочасах, которые мы, бывает, недооцениваем с учётом фактора длительной поддержки.

                          image

                          Сфера применения библиотеки

                          К сожалению, первый анонс в полной мере успешным не был, т.к. рассказ о сфере применения был упущен.
                          Попробуем немного наверстать упущенное и раскрыть эту тему.
                          Если мы находимся на этапе системного проектирования устройства, то следующие соображения могут склонить нас в сторону использования web-интерфейсов (вне зависимости от физического канала, Ethernet или USB):
                          1. Устройство должно иметь интерфейс управления и/или диагностики
                          2. Средства управления могут использоваться не только на этапе разработки, но и на этапе эксплуатации (ПО пользователя)
                          3. Квалификация пользователя может быть недостаточно высокой, что требует дружественный интерфейс управления
                          4. Способ «дружественного» управления должен быть доступен из под разных платформ и ОС
                          5. Соответствующие средства требуется поддерживать в рабочем состоянии длительное время
                          Дополнительным критерием может являться то, разрабатываем ли мы изначально сетевое устройство. А также: не будет ли (в противном случае) добавление в прошивку сетевого стека и web-сервера являться избыточным на фоне куда менее богатого функционала устройства. Иными словами, добавление web-интерфейса в контроллер управления лампочкой — очевидно, избыточное решение.

                          Если мы поверили в web-интерфейс, то следующие соображения, возможно, нам помогут в выборе физического канала связи (из Ethernet и USB перспективы).

                          Тип Внутрисхемное подключение Типовое применение
                          Ethernet Ethernet PHY контроллер — Промышленные устройства
                          — Бытовые устройства с сетевой функцией и доп. питанием
                          USB ULPI контроллер или прямое подключение к МК Бытовые и часть промышленных устройств. В особенности, если:
                          — устройства имеют не гарантированный источник питания (питание от батареи, например)
                          — устройства потенциально подключаемые к хосту только с USB интерфейсом (например, планшет)
                          — миниатюрный класс устройств

                          От себя добавлю — не смотря на все прелести, не посоветовал бы применять USB в промышленных узлах с требованием повышенной надёжности: часто встречается негативный опыт. Если альтернативы нет — то вопрос устойчивости требуется изучить досконально.
                          Исходя из приведённых пунктов, становится ясна сфера применения библиотеки: бытовые и часть промышленных устройств, которые:
                          — работают на базе МК STM32F4
                          — должны обладать дружественным интерфейсом управления
                          — должны управляться из под разного аппаратного и программного набора
                          — могут не иметь гарантированного источника питания
                          — должны иметь длительный период поддержки ПО управления
                          Возможных примеров использования технологии много даже вне области сугубо сетевых устройств.
                          К примеру, на данный момент есть планы по превращению stm32f4-discovery в инструмент любительской разработки с функциями портативного генератора/анализатора сигналов и осциллографа. Подключите такой помощник к телефону и посмотрите в динамике что происходит в интересующей вас цепи. Из бесплатных плюсов — не требуется собирать или устанавливать ПО; достаточно прошить HEX-файл и открыть браузер — в нём будут присутствовать все прелести GUI-интерфейса. На мой привередливый вкус — то что нужно. Конечно, инструмент не для профессиональной разработки, но известный интерес к нему присутствует.

                          Итак, надеюсь, разобрались. А теперь о том как работает библиотека.

                          image

                          Как оно работает

                          При ответе на этот вопрос спешить не будем. Человек, имеющий небольшой опыт взаимодействия с сетями, может вполне справедливо смутиться. Поэтому, касаясь того или иного протокола взаимодействия я буду также давать его краткое техническое описание на том уровне… которого когда-то не хватало самому.

                          Шаг 1. Подключаем USB-устройство.
                          Как говорилось раньше, на этом этапе наше устройство говорит хосту «я — сетевая карта!».
                          Хост (т.е. клиентская ЭВМ) после подключения к нему нашей поделки, начинает отправлять запросы.

                          — как изделие называется
                          — какой у изделия VID и PID (идентификаторы производителя и изделия, см. список)
                          — к какому классу и подклассу относится устройство
                          — по каким endpoint точкам и какими блоками следует обмениваться данными
                          Ну, и некоторую другую информацию. Конфигурационные пакеты при этом передаются по точке endpoint 0. Ответные пакеты от устройства с информацией о себе обычно называют «дескрипторы USB устройства».

                          Подробно ознакомиться о процессе опроса (энумерации) можно здесь.

                          Вообще, протокол USB достаточно богат… иногда даже кажется, что избыточно. Однако, это богатство вот уже много лет позволяет подключать совершенно разные устройства, даёт возможность передавать изохронные потоки, блоки данных, прерывания. В общем, всё необходимое, что может потребоваться широкому набору современных устройств. Обратная сторона медали — высокий порог входа в разработку USB-устройств.

                          После получения информации об устройстве, ОС хоста производит поиск подходящего драйвера для взаимодействия. В типовом случае, вроде flash-носителей (USB класс MSC) или клавиатуры с мышкой (HID класс), загружается стандартный для класса драйвер. В более «тяжёлом» случае, вроде нашей USB сетевой карты (CDC класс с RNDIS подклассом), операционная система поступает по усмотрению:
                          — ОС linux/android/mac, как правило, успешно пытается наладить типовой обмен
                          — ОС windows просит установить внешний драйвер
                          Наше устройство в первом случае работает сразу.
                          В случае ОС windows (позднее XP) можно установить стандартный драйвер фирмы Microsoft. Для Windows XP необходимо поставить inf-файл, доступный в репозитории библиотеки LRNDIS.

                          Шаг 2. Драйвер инициализирует RNDIS-устройство
                          На данной картинке изображён принцип связи с RNDIS устройством (ОС Windows).

                          image

                          Более подробно о нём можно почитать тут и там.

                          Если вкратце, то RNDIS протокол — это расширение NDIS для внешних устройств. Роль протокола — обеспечить поддержку PnP и обмен сетевыми пакетами. По сути своей, RNDIS — самостоятельный сетевой интерфейс, информационной нагрузкой которого являются кадры канального/сетевого уровней (Ethernet или IP кадры, опционально).

                          На приведённой схеме это реализует кубик «Минипорт Remote NDIS», который отвечает за:
                          — сервис общения (спросить у сетевого устройства его MAC-адрес, размер пакета, скорость работы и прочее)
                          — оборачивает отправляемые хостом сетевые пакеты в RNDIS заголовок
                          — транслирует принимаемые от устройства пакеты, выбрасывая RNDIS заголовок
                          Кубик «Минипорт Remote NDIS USB» отвечает за транзит RNDIS посылок, работая с драйвером USB шины.
                          На стороне контроллера STM32 за поддержку RNDIS протокола и работу с USB отвечает файл usbd_rndis_core.c. Он делает то же самое, что и «кубик» хоста «Минипорт Remote NDIS» — занимается приклеиванием/отклеиванием заголовков, а также отвечает на вопросы драйвера. Ответы, вроде MAC-адреса и скорости он берёт из файла usbd_rndis_core.h.
                          После успешной инициализации RNDIS драйвер Windows создаёт сетевой интерфейс, который в последствии отображается в «Центре управления сетями» и в области трей-индикатора.

                          Шаг 3. Получение IP-адреса
                          Итак, для чего нужна служба получения динамического адреса. Эта служба называется DHCP (протокол динамической настройки узла).
                          После того как хост инициализирует наше устройство, он создаёт сетевой интерфейс.

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

                          Каждому сетевому интерфейсу хоста должен быть сопоставлен хотябы один IP-адрес. По нему «жители сети» может обратиться к хосту.

                          Если «на проводе» адресовано несколько сетей (например, устройства с IP адресами 10.4.1.xx и 192.168.1.xx), то интерфейсу может назначаться два «личных» IP-адреса. Они могут выглядеть так: 10.4.1.151 и 192.168.1.200. Узнать набор сетевых интерфейсов и сопоставленных им IP-адресов в ОС Windows можно с помощью команды ipconfig и с помощью ifconfig в ОС Linux.

                          Для описания сетей/подсетей используется маска. Например, правильное описание сети 10.4.1.xx такое: сеть 10.4.1.0, маска 255.255.255.0. Либо, если 4-ёх байтовое число маски представить в двоичном виде и посчитать число ведущих едениц, то получится значение 24. Тогда сеть можно описать так: 10.4.1.0/24.

                          Подробнее об этом можно почитать в соответствующих источниках.

                          Известны две основные стратегии назначения IP-адреса интерфейсу: статический способ (когда пользователь сам прописывает адрес интерфейсу) и динамический (с помощью DHCP-службы).

                          Последний заключается в том, что при создании интерфейса на хосте активизируется служба DHCP-клиента. Она начинает посылать в сеть (конфигурация которой пока не известна) широковещательные пакеты по протоколу UDP, в надежде на то, что в сети присутствует DHCP-сервер.

                          image

                          Функция DHCP-сервера в общем, и в частности на нашем контроллере — ответить клиенту. В ответе контроллер «говорит»: клиент, ты в такой-то сети, держи такой-то IP-адрес, а ещё у нас имеется DNS-сервер с таким-то адресом.

                          После этого хост «чувствует себя» намного лучше: он назначает интерфейсу выданный IP-адрес и запоминает IP-адрес DNS-сервера.

                          Инициализация закончилась, теперь можно вводить имя страницы (run.stm) в браузере хоста.

                          Надо сказать, что поведение библиотеки LRNDIS настраивается. Службу DHCP-сервера можно исключить из сборки. Тогда на хосте придётся прописывать любой адрес, принадлежащий диапазону 192.168.7.(2-254). Такая сеть создаётся по умолчанию. Её параметры (192.168.7.0/24) также настраиваются. В примере клиенту выдаются адреса в диапазоне 192.168.7.2… 192.168.7.4 с временем лизинга 24 часа.
                          Более подробно по вопросу настройки библиотеки можно посмотреть в предыдущей статье.

                          Шаг 4. Загрузка страницы
                          Для загрузки страницы пользователь может ввести адрес нашего устройства 192.168.7.1 напрямую.
                          Однако, запоминать цифры не требуется, т.к. помимо DHCP-сервера, есть возможность собрать библиотеку с поддержкой DNS-сервера, функция которого — разрешать сетевые имена. В публикуемом примере DNS-сервер обучен разрешать имя ресурса «run.stm».

                          Запрос и ответ между браузером Firefox и контроллером:


                          История запросов при загрузке страницы:


                          Из истории мы видим, что, после загрузки корневого HTML-документа браузер также загружает из контроллера другие два файла: discovery.svg и zepto.min.js. Первый — это изображение платы discovery. SVG формат выбран, т.к., являясь изображением векторной графики, мало занимает места в ПЗУ микроконтроллера. Скриптовый файл zepto.min.js включён, т.к. является урезанным аналогом знаменитого JQUERY. Надо заметить, что скрупулёзной экономии места в ПЗУ не производилось, т.к. не смотря на жертву в 35 Кб на все статические ресурсы, памяти контроллера ещё вполне достаточно. К тому же данный размер с дальнейшим увеличением сложности интерфейса обещает расти заметно медленней. Если же интерфейс разросся существенно — всегда есть выход хранить и отдавать статические ресурсы в сжатом виде — все известные браузеры на данный момент поддерживают декомпрессию «на лету».

                          Ещё один запрос, который отправляет браузер — это запрос /state.cgi. Он формируется скриптом из корневого HTML-документа с периодичностью 5 раз в секунду. Нужен запрос для получения в динамике текущего состояния устройства.
                          При приёме данного запроса, контроллер формирует и отвечает следующей строкой в JSON формате:


                          Она и содержит все данные о текущем состоянии устройства, которые впоследствии отображаются на странице средствами JavaScript кода.

                          Ну и, пожалуй, последний момент в общении с браузером — способ управления.

                          О стеке LWIP
                          Никакого сетевого обмена устроить бы не получилось, если бы не данный сетевой стек, который и был встроен в библиотеку.
                          Поскольку библиотека работает под «голым» железом (без ОС и динамической аллокации памяти), то надстройка в виде сокетов для использования недоступна. Написание сетевых приложений поэтому происходит с использованием сырого API стека. По этой теме, к счастью, в сети много информации.

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

                          Также была решена проблема с mem_malloc. Хоть текущая версия прошивки и не использует динамическую аллокацию, аппаратный крах при вызове mem_malloc держал настороже. Разрешилось добавлением определения MEM_ALIGNMENT, который раньше был обойдён вниманием.

                          Нерешённые вопросы
                          1. Ньюансы релицензирования стека lwip, который может иметь свои условия включения в состав другого ПО;
                          2. Доработка DNS-сервера для обработки «многовопросных» пакетов;

                          Вместо заключения
                          Благодарю читателя за терпение и надеюсь, что данная статья окажется для него полезной. Опубликованная в исходных кодах библиотека LRNDIS доступна для использования на правах MIT-лицензии. Считаю замечательным, если работа, на которую было уделено ощутимое время и запас сил, окажется полезной ещё кому-то. На худой конец, без использования открытых библиотек не получилось бы и этой.

                          Агрегация - дорого? Собираем бюджетно или Набор юного агрегатора OpenWrt/Rooter – обсуждение

                          Прикрепленное изображение
                          Прикрепленное изображение

                          Прикрепленное изображение

                          Прикрепленное изображение

                          Прикрепленное изображение

                          Прикрепленное изображение

                          Прикрепленное изображение

                          Прикрепленное изображение

                          Прикрепленное изображение

                          Прикрепленное изображение

                          Прикрепленное изображение

                          Прикрепленное изображение

                          1. "Нужно ли обновлять прошивку?" - если вас устраивает работа модема на текущей прошивке, то смысла обновлять НЕТ
                          2. Чтобы ощутить все "прелести" агрегации, необходима нормальная широкополосная антенна. За подробностями идем в тему Антенна для LTE






                            | Два | Три
                            | Два
                            | для модуля и USB
                            ,
                            Для лентяев: пытаться заводить в таком порядке - QMI, MBIM, NCM, ECM, RNDIS, PPP
                            | Два ,
                            По мнению ребят из микродрайв СимКом внимания не заслуживает, они за ep06.

                          • Q: Нет коннекта
                            A1: Проверить APN! Если неверный или пусто, может не работать.
                            A2: Проверить симку (баланс, ограничение на раздачу и тип устройства)
                            A3: Проверить разрешенные бэнды

                          • Q: Какой нужен переходник М.2
                            A: Нужен M.2 key B WWAN. В поиске лучше писать "M.2 B usb sim" или "M.2 mini pci WWAN", т.к с ключом В так же идут переходники для ssd, которые нам не подходят!
                            M.2 с ключами А, Е, А+Е НЕ ПОДХОДЯТ!

                          • Q: Что со сменой IMEI
                            А: У Quectel'ов легко, АТ-командой. В теме есть - ищите поиском.
                            У Sierra в 90% случаев это не требуется, т.к. опознается в сети как мобильник. 35 не значит, что это мобильник!
                            HP lt4220 / Telit ln940 / Foxconn T77W676
                            Остальные - поиск по форуму, ключевое слово "IMEI"
                            Если руки чешутся убить модем , это реально, но ищите сами. На свой страх и риск! Здесь это оффтоп !

                          • Основная ветка по Keenetic , где в первую очередь необходимо задавать вопросы




                          На последней прошивке EP06 EP06ELAR04A04M4G QAM256 включается командой AT+QCFG="dl_256qam",1

                          Внимание! Участились случаи мошенничества с предложением продажи модемов в QMS, Telegram. Не "ведитесь".
                          НИКТО из участников форума не пользовался услугами этих мошенников, в том числе и ТС kurianov. Продажей тоже никто не занимается.

                          Прикрепленное изображение

                          Bester2,
                          ну не то что сдают трафик. палят нас своими подключениями на свои сервера )
                          Да, есть такое дело. Частично это отключается. Кто-то пересобирает прошивку либо брали свою же прошивку от китайских клонов. Но эта тема не про то ))

                          Ща набегут качки-халявщики. мой им совет - берите тарифы для модемов!

                          А как хорошо начиналось. :D
                          Понятно же что торенты на радиоканале зло несомненное, но топик же не об этом?

                          Что не только оффтоп, за разумный ценник есть cat.6 в mPCI-e, Quectel EP06.

                          ПолВторого, ну потому что у нас народ не знает меры ))
                          Я тоже любитель нагнуть систему и поиметь тех, кто обычно имеет нас, но не в ущерб окружающим, а эти заядлые качки имеют нас всех, таких же пользователей, как они. А потом ноют, что опсосы выдумывают все новые и новые методы борьбы с ними. Они себе киношки BDRip'ы качают на смарт тарифах, а у тех, кому связь для дела нужна - полная ж наступает. Причем мне нужна не космическая скорость, хватит и 10-20 мбит, но нужна стабильность, иначе обрываются конференции, удаленный рабочий стол, удаленка с виртуалками.

                          Поэтому халявщикам качкам говорю, идите обратно на хуавей отсюда!
                          Тут номера меняются очень не просто, а иногда и достаточно сложно, с большой вероятностью завалить железо!
                          Тут нужны познания OpenWRT - из коробки все само просто так не заработает!
                          Так что - Бегите отсюда!

                          ПолВторого, EP06 хорош, но em7455 еще дешевле ) А так да, всяко приятнее цен на хуавеи. Вон кат 12 em12 стоит 6500. Сколько хуавей кат 12 стоит?))
                          Но тут еще дело в том, что многие роутеры ограничены юсб 2.0 и 100 мбит портами и с них больше не вытянуть. Хотя нормальным людям больше и не надо. Чтоб выжать больше, нужен более дорогой роутер с юсб 3.0 и 1гбит портами.

                          Добавил в шапку картинки с вариантом от антэкса и другого нашего производителя.

                          Почему вдруг решил отметить антэкс? Потому что они родили минироутер под mini pci-e без излишеств за

                          ps: но я по-прежнему больше люблю варинт с юсб удлинителем из витой пары (до тех пор, пока это еще возможно)

                          Прикрепленное изображение

                          Какой еще потенциал я вижу у этой платы?

                          1. Конечно же воткнуть туда переходник на m.2 для экономии на модемах

                          2. Есть другой вариант этой же платы, но с юсб - мне, почему-то так и хочется взять ее, и вместо юсб впаять туда на шлейф (или гребенку) переходник m.2-usb. Этот вариант может быть интересен для очень многих роутеров, если стоит задача спрятать такой модем внутрь корпусного роутера. А это уже простор и для мобильных роутеров, и для стационарных "все в одном". (Хуавей, давай подвинься!)

                          Прикрепленное изображение

                          Прикрепленное изображение

                          САТ12 нет возможности выложить.
                          Что и как получится.

                          Если задача выжать максимум, то нужен роутер с юсб 3.0 и ЦП пошустрее + 1 Гб свитч, например Xiaomi 3G - это 2500-3500 р (внимательнее с выбором ревизии)
                          + переходник m.2 usb 3.0 w sim - 1000 р
                          + Quectel em12 - 6500+ р (лично не тестировал, за минимальный ценник, есть вероятность, что это вендорский, может потребоваться прошивка или смена pid vid)

                          Как далеко от роутера заведется модуль на юсб удлинителе, не знаю, у этих xiaomi 3g ограничен ток на юсб порте (отчего не заводились внешние харды и народ стал выпаивать лишние резисторы)

                          Я максималкой не озадачивался. У меня задача была скромнее - 50 мбит за счастье, и чтоб в час пик (массовая удаленка + видео уроки у школьников) ниже 10ти не падала. И чтоб не приходилось вручную постоянно прыгать с лте 2600 на 1800 и далее по кругу в поисках более свободной полосы. (именно это меня достало)

                          Если задача выжать максимум, то нужен роутер с юсб 3.0 и ЦП пошустрее + 1 Гб свитч, например Xiaomi 3G - это 2500-3500 р (внимательнее с выбором ревизии)
                          + переходник m.2 usb 3.0 w sim - 1000 р
                          + Quectel em12 - 6500+ р (лично не тестировал, за минимальный ценник, есть вероятность, что это вендорский, может потребоваться прошивка или смена pid vid)

                          Хорошо, но экономика должна быть экономной - на данный момент B528 Cat6 стоит 6к - на нем увидеть 50Мбит думаю не проблема.
                          Подозреваю что нужно искать более бюджетный вариант, с учетом того что роутеров у народа много( его цену можно не учитывать ). ren69,
                          1. Открываю авито - 528 неизвестного происхождения начинается от 9 тыщ. B525 - 12-14 тыщ! и это за всего лишь 6ю категорию с агрегацией всего двух частот на прием.
                          2. Сравнивать надо девайсы одной категории - модуль ем7455 кат6 стоит 1800 р + переходник

                          500 р и я могу это воткнуть как в роутер, так и прямо в комп (а можно прямо в материнку без всяких переходников) С этой ценой не может даже е3372 4й категории тягаться.
                          3. За ошибочно названные 6 тыщ я могу взять модуль уже аж 12й категории! Лишь бы смысл был. Хуавей этой категории сколько стоит?))

                          4. 50 мбит b528 даст только там, где они есть, т.е если БС не перегружена. У меня именно в этом беда.

                          Агрегация не для высоких максималок была придумана, а для того, чтобы связь оставалась приемлемой в условиях больших нагрузок на сеть. Распределение нагрузки и балансирование.

                          1. Открываю авито - 528 неизвестного происхождения начинается от 9 тыщ. B525 - 12-14 тыщ! и это за всего лишь 6ю категорию с агрегацией всего двух частот на прием.
                          2. Сравнивать надо девайсы одной категории - модуль ем7455 кат6 стоит 1800 р + переходник

                          500 р и я могу это воткнуть как в роутер, так и прямо в комп (а можно прямо в материнку без всяких переходников) С этой ценой не может даже е3372 4й категории тягаться.
                          3. За ошибочно названные 6 тыщ я могу взять модуль уже аж 12й категории! Лишь бы смысл был. Хуавей этой категории сколько стоит?))
                          4. 50 мбит b528 даст только там, где они есть, т.е если БС не перегружена. У меня именно в этом беда.
                          Агрегация не для высоких максималок была придумана, а для того, чтобы связь оставалась приемлемой в условиях больших нагрузок на сеть. Распределение нагрузки и балансирование.


                          1. Согласен, на Авито как бы дорого, а на Али? 6-6,2к , агрегация в вашем регионе нормально работает? у меня пчелиный оператор до сих пор не поддерживает больше 3 частот на прием.
                          2. Прошу дать ссылку на приобретение Cat6 за 1800р, и еще инструкцию, как такое подружить с роутером ( просто я не в теме, сорри )
                          3. На Али, 818й категории Cat 19 нашел за 14к, если сравнивать представленные выше цены - роутер 3к, переходник 1к, Е12 - 6.5к = 10,5к - Cat12.
                          4. В вашем регионе какой оператор поддерживает агрегацию больше 3 частот?

                          По теме внимательнее пройдитесь, начиная с шапки, тут ссылки полезные есть.

                          По теме внимательнее пройдитесь, начиная с шапки, тут ссылки полезные есть.
                          Подскажите пож. по модели роутера, на каком остановиться или мож еще какой посоветуете.
                          Ссылка на пост с соседней темы
                          EM7455 по ссылкам под ноуты Делл заточены. Для OpenWRT это значения не имеет? И как легко убедить поддержку Кинетика запилить прошивку и под 7455?
                          EP06E с переходником - пигтейлы идут в комплекте и какие?
                          И по сим-картам - только модемные тарифы?

                          В копилку: АТ-команды для Quectel ЕР06, EG12 и Sierra EM7455

                          Ну что Вы как маленький?! Нашли где смотреть)) - Микротик с неродным более дешевым модулем за конский ценник. Как говорят те ребята "мы за сборку и настройку комплекта берем. "
                          Микротик рбм11 стоит от 2500 р, Рбм33 стоит от 3300 р. Но это Микротик с РоутерОС! Где хуавей с ксиаоми, а где микротик?!
                          НО! Микротик хорошо работает пока только с родным дорогим модулем. С другими он работает не по нужному протоколу, а через костыль и поэтому режет скорость. Для сторонних дешевых модулей на него тоже придется ставить ОпенВРТ, благо под ник есть готовый Рутер, где все уже вшито и работает! Когда РоутерОС допилят (а может и уже - обещали в новых версиях), тогда можно вернуться обратно - для фанатов микротиков это просто идеальный вариант!

                          Вариантов просто целая куча! А если приспособить завалявшийся в шкафу роутер, так это вообще. - это Вы и сами отметили )

                          Я никого не уговариваю, убеждать и силком тащить не буду )

                          EM7455 по ссылкам под ноуты Делл заточены. Для OpenWRT это значения не имеет? И как легко убедить поддержку Кинетика запилить прошивку и под 7455?
                          EP06E с переходником - пигтейлы идут в комплекте и какие?
                          И по сим-картам - только модемные тарифы?

                          Первая ссылка (дешевле всего) - это ОЕМ версия с родными идентификаторами vid pid. Те, что дороже и с припиской Dell / Thinkpad / HP - это тоже самое, но с уже измененными pid vid на те, что хотят видеть эти ноутбуки (чтоб то же железо покупали у них, но дороже). Если ОпенВРТ не увидит какой-то из них - они меняются несложно.
                          Кинетик - они уже работают в этом направлении. Пишите им заявки на нужные модули - они ускорятся и сосредоточатся на нужных модулях. В ОпенВРТ все уже давно работает, а значит и этим ребятам не составит труда добавить все это.
                          Пигтейлов нет. Ищите, стоят копейки. Иногда в комплект прикладывают встраиваемые антеннки на самоклейке.

                          Про тарифы:
                          Господа, поймите меня правильно и не обижайтесь! (Не к Вам лично, ко всем обращаюсь!)
                          Я не хочу сильно популяризировать эту тему и выдавать полный разжеванный рецепт, чтобы не было резкого перевеса и миграции с хуавеев на модули. Я хотел лишь немного уравновесить положение дел, приоткрыть людям глаза, но не выдавать им розовые очки, что мол все просто. Кому надо, тот уже все узнал и заказал. Я не хочу, чтобы сюда на все готовое приперлись ленивые барыги и халявщики, вечно пытающиеся "выкачать весь интернет" на смарт тарифе за 200 р, и открыли сезон охоты на железо (посмотрите, что с ценами на хуавеи стало), которое мне самому нужно, чтоб у меня была хоть какая-то связь, а не 200+ и торренты. Торренты могли бы и ночью качать, а лучше еще и по проводам. Пусть они остаются на своих хуавеях и переплачивают дяде васе с авито за непонятные хуавеи. В мире должно быть равновесие. Пожмотился тут, переплати там! Т.к из-за этих качков страдают люди, которым нужен скромный, но стабильный канал для дела и работы.

                          Все настраивается, все меняется - на одних модулях легче (подороже), на других сложнее (подешевле).

                          ТТЛ меняется вообще где угодно, тем более если в основе всего лежит iptables. Я этим занимался еще лет 15 назад на древних проводных роутерах, чтобы делить инет с соседом, когда проводной инет делить не давали и роутеры были чем-то невиданным. И с йотой я развлекался еще до того, как это стало мейнстримом.

                          Но посмотрите, к чему привело такое открытое обсуждение с подробными инструкциями, готовыми скриптами и утилитами?! Народ стал борзеть. Люди разные - не все знают меру. В итоге опсосы стали выдумывать новые и новые методы выявления и пресечения раздачи. Но страдают не только эти качки, но и обычные скромные пользователи.

                          Не всем понятно, о чем я. Поясню - Ладно в городе вышек дофига и операторов. Есть выбор, пути отхода.
                          А представьте, в деревне полтора оператора и одна вышка. И тут такой красавец с микротиком и модулем кат12 (или хуавеем 525-715) кладет вышку на лопатки своими торрентами / киношками и вся деревня или СНТ остаются без связи. (А неправильно настроенный микротик даже проводного оператора кладет на лопатки во всем многоэтажном доме.) А у людей удаленка, конференции, у детей видео уроки по скайпу.

                          Интересная вещь: EM7455 позволяет задать имей, если он не предустановлен с завода:
                          !NVENCRYPTIMEI Write unencrypted IMEI to modem
                          Write an unencrypted IMEI to a modem if the modem does not already have an IMEI—
                          the command can only be used once per modem.
                          Это открывает простор для творчества - достать бы только пустые модемы без имей. И отсюда вопрос: с алика идут болванки или уже с imei?

                          Это открывает простор для творчества - достать бы только пустые модемы без имей. И отсюда вопрос: с алика идут болванки или уже с imei?

                          Подсказываю: Режим Advanced (Engineering mode) - Factory reset. (должно помочь, сам не пробовал, мне не нужно)

                          Один и тот же модем может присутствовать на рынке как в HiLink, так и в Stick вариантах (например МТС 829F, он же Huawei E3372H поставляется с HiLink прошивкой, а точно такой же модем, который можно приобрести у оператора Tele2 - уже HiLink).

                          Итак, если ваш модем имеет Stick прошивку, то после того как вы его установите в ПК и установите драйвера и ПО со встроенного CDROM раздела, то в диспетчере устройств он будет определяться у вас как, собственно, модем (в разделе Телефоны и модемы), а также несколько COM портов. Плюс к этому, для того чтобы выйти в интернет, вам придется запускать специальное ПО под названием дашборд (dashboard):



                          На двух фото выше изображены дашборды от МТС - Коннект Менеджер и стандартный Huawei'евский дашборд от Mobile Partner. Все это справедливо если наш модем имеет stick-прошивку, т.е. здесь мы имеем дело с ПО для выхода в интернет, а само устройство у нас определяется как модем и несколько COM-портов.

                          Совершенно по-другому обстоят дела если мы имеем HiLink прошивку. В этом случае после установки ПО с CDROM раздела модем у нас определяется как виртуальная сетевая карта (RNDIS адаптер) и никакого ПО для соединения с интернет нет. Модем устанавливает соединение с интернет автоматически, а для управления настройками модема есть web-интерфейс. Т.е. фактически в этом случае модем представляет собой ethernet-роутер, имеющий собственный IP адрес в локальной сети (например, 192.168.8.1). Ваш ПК получает на интерфейс RNDIS адаптера (виртуальной сетевой карты) IP из подсети модема - 192.168.8.0/24, и выходит через шлюз 192.168.8.1 в интернет. Само соединение, естественно устанавливается в модеме, просто в данном случае он дополнительно выполняет функции роутера, в котором поднимается NAT и т.д.
                          (отсюда)

                          STICK

                          С этой прошивкой устройство ведет себя как классический USB-модем: имеется командный AT-порт, через который можно установить соединение посредством PPP-протокола. Именно так работают практически все 3G-модемы предыдущих поколений. При этом скорость ограничена - не более 20-30 Mbit на прием. Кроме PPP-режима, имеется режим NDIS. При этом модем эмулирует сетевой интерфейс, через который и передаются данные, а через AT-порт идут только управляющие команды. В этом режиме скорость не ограничена. Основная особенность stick-режима - установление соединения и поддержка работы канала производится средствами ОС компьютера, к которому подключен модем. При этом компьютер получает IP-адрес непосредственно у провайдера сотовой связи через запрос DHCP, а модем работает как сетевой мост, передавая пакеты от компьютера в сотовую сеть и обратно, никак их не изменяя. Начальная USB-композиция stick-модема - это виртуальный CD-ROM и картридер microSD. Для того, чтобы появились модемные порты, надо сделать переключение композиции. Под windows этим занимается операторский софт, имеющийся на виртуальном CD, или фирменная программа от huawei - Mobile Partner. Под linux переключение делает программа usb-modeswitch. Имеется возможность запретить перелючение композиций. Это делается такой командой: При этом модем сразу после включения будет выглядеть как 2 AT-порта и сетевая карта NDIS. CD и microSD будут исключены из конфигурации. Такой режим крайне удобен для использования модема в различных домашних роутерах. Вернуть обратно композицию с переключением можно командой: Номера версий stick-прошивки всегда начинаются на 21 - например, 21.285.01.02.143. С таким типом прошивки поставляются модемы от МТС и Мегафона.

                          HILINK

                          С прошивкой HILINK модем работает в режиме роутера, и представляется компьютеру в виде сетевого интерфейса (usb-ethernet-rndis). Компьютер получает с этого интерфейса сетевые настройки через DHCP, и далее ходит через него в интернет, как через обычную проводную локальную сеть. Всю заботу об установлении соединения и поддержании канала модем берет на себя, компьютер даже не замечает, что доступ в интернет осуществляется через сототвую сеть. В этом режиме модем имеет свой собственный локальный IP-адрес (обычно 192.168.8.1), видимый со стороны компьютера как шлюз по умолчанию (default route), а также внешний IP-адрес, получаемый из сотовой сети. Между сетью сотового провайдера и локальной сетью (модем-компьютер) осуществляется маршрутизация с использованием механизма трансляции адресов (NAT). Предусмотрен проброс портов из внешней сети (port forwarding и DMZ). Начальная USB-композиция HILINK-модема в точности такая же, как и у stick - виртуальный CD-ROM и картридер microSD. Переключение композиций под windows производится небольшой программой mbbservice, запускаемой со встроенного CD. Под linux это делает программа usb-modeswitch. Штатно разработчиками модема не предусмотрен режим без переключения композиций. Тем не менее, путем некоторой модификации прошивки такой режим сделать возможно. При этом теряется встроенный картридер SD, однако появляется возможность использовать модем с любым роутером, поддерживающим сетевые карты usb-rndis. Номера версий hilink-прошивки всегда начинаются на 22 - например, 22.286.03.00.00. С таким типом прошивки поставляется модем от Билайна. Прошивки HILINK состоят из двух частей - сама прошивка, и WebUI (вебинтерфейс). Первой прошивается основная прошивка, потом WebUI.

                          Mikrotik

                          Отличаться также будет и настройка в микротике: для режима Stick появится ppp-out* устройство, а для HiLink - lte* в отдельном разделе LTE.

                          Хотя есть мануалы, где сказано, что можно переводить модемы в stick и hilink без перепрошивки:
                          AT^U2DIAG=0 - в stick
                          AT^U2DIAG=119 - в hilink

                          Ну и вероятно полезная комбинация:
                          AT^SETPORT="FF;10,12,16,A2" - режим "без переключения". Т.е. в данном режиме первичная композиция модема (initial mode) отключена, т.е. задана как FF - Dummy (отсутствие переключения), а вторичная композиция (normal mode) задана как 10,12,16,A2 - т.е. 10 - модем, 12 - PC UI, 16 - RNDIS (у нас его нет), A2 - TF Card Reader.

                          3G/4G-модемы, подключаемые к интернет-центру Keenetic, могут работать в режимах: RAS, CdcEthernet и NDIS.

                          Для работы совместимых USB-модемов нужно в интернет-центре предварительно установить 3 компонента доступных компонента системы:

                          • 3G/4G USB-модемы — поддержка режима RAS (UsbModem);
                          • 3G/4G CDC Ethernet USB-модемы — поддержка режима CdcEthernet;
                          • 3G/4G NDIS USB-модемы — поддержка режима NDIS (UsbLte).

                          Сделать это можно в веб-конфигураторе на странице "Общие настройки" в разделе "Обновления и компоненты", нажав на "Изменить набор компонентов". Выполните установку указанных компонентов (из раздела "USB-модемы и модули расширения") или убедитесь, что они уже установлены.


                          Дополнительную информацию по установке компонентов системы интернет-центра Keenetic вы найдете в статье "Установка/удаление компонентов".

                          Обычно USB-модемы, работающие в режимах CdcEthernet и NDIS, после подключения к интернет-центру будут работать автоматически, и для них не требуется дополнительная настройка. Для модемов в режиме RAS потребуется ручная настройка параметров подключения. Необходимо будет вручную указать оператора и проверить настройки подключения.

                          1. Режим RAS, эмулирующий последовательный порт RS-232.

                          Режим RAS (Remote Access Service) предоставляет доступ в режиме модема. При подключении модема к интернет-центру в настройках автоматически создается интерфейс UsbModem. Для данного типа модемов требуется ручная настройка параметров подключения. В поле "Оператор" нужно вручную выбрать оператора сотовой связи, предоставляющего доступ в Интернет для вашего USB-модема. Остальные настройки параметров подключения к сетям различных операторов мобильного Интернета уже предустановлены в операционной системе Keenetic, и как правило, их не нужно менять.

                          Настройку модема можно выполнить в веб-конфигураторе на странице "Модем 3G/4G".


                          TIP: Примечание.

                          2. Режим CdcEthernet, эмулирующий порт Ethernet.

                          Некоторые операторы часто называют такой режим работы HiLink. В этом режиме USB-модем представляет отдельный роутер со своим собственным веб-интерфейсом. При подключении модема к интернет-центру в настройках автоматически создается интерфейс CdcEthernet. Эти модемы не требуют дополнительных настроек подключения и начинают работать сразу.


                          Если для USB-модема нужно произвести дополнительные настройки, сделать это можно подключив его к компьютеру, при помощи собственного ПО модема.

                          2.1. Режим CdcEthernet (эмулирующий порт Ethernet) со сменой IP-адреса домашней сети.


                          NOTE: Важно! Если IP-адрес был изменен, рекомендуется физически отключить и заново подключить USB-модем к интернет-центру.

                          3. Режим NDIS (Network Driver Interface Specification).

                          В режиме NDIS происходит эмуляция виртуальной сетевой карты. Такие модемы выглядят со стороны Keenetic как дополнительная сетевая карта. При подключении модема к интернет-центру в настройках автоматически создается интерфейс UsbLte. Обычно такие модемы после подключения к интернет-центру будут работать автоматически, без дополнительных настроек в веб-конфигураторе. В режиме NDIS подключаются USB-модемы Yota. При необходимости дополнительную настройку модема можно выполнить на странице "Модем 3G/4G".


                          Если для USB-модема нужно произвести дополнительные настройки, сделать это можно подключив его к компьютеру, при помощи собственного ПО модема.

                          Пользователи, считающие этот материал полезным: 2 из 2

                          USB CDC Ethernet Networking Control Model (ENCM) interface collections have the following properties.

                          Property Description

                          Universal Serial Bus Class Definitions for Communication Devices, version 1.1, Section 3.8.2.

                          Class of the master interface

                          Communication Interface Class (0x02).

                          Subclass of the master interface

                          One data class interface that the union functional descriptor (UFD) references.

                          The compatible IDs of this control model have a match in a Microsoft-supplied INF file. If the operating system does not find a match for one of the hardware IDs in a vendor-supplied INF file, the system automatically loads the native NDIS miniport driver to manage the interface collection.

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


                          Если вкратце, то весь этот зоопарк сводится примерно к следующему.

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

                          Как говорится, "оу май факинг гад"! Но это всё голая теория. А что мы имеем на практике и какой протокол / модем лучше выбрать для использования в повседневной нелёгкой админской жизни и на какие грабли можно наступить? Какие нюансы следует держать в голове и учитывать?

                          Теперь касаемо выбора конкретного железа. Из того, что на момент написания этого поста реально купить, достойны внимания четыре модели.

                          Что касается конкретно меня, то первые два типа "мопедов" у меня уже довольно давно и успешно трудятся на благо предприятия. Про остальные два больше ничего сказать толком не могу. Купил по штучке "на пробу", буду ковырять и смотреть как они себя ведут под реальной нагрузкой. Если у кого-то уже есть опыт использования одного из них, милостиво прошу поделиться своими соображениями. Потому что пока не могу решить кому бы отдать предпочтение при закупке следующей партии.

                          Читайте также: