LINUX.ORG.RU

Из моей практики, стабильность канала выше и скорость тоже. Самым идеальным вариантом считаю, так называемые HiLink режимы работы, когда модем вообще в режиме роутера и на виртуальный usb-ethernet интерфейс по dhcp сам выдает айпишник из серой подсети (ну и NAT на модеме естественно) без дополнительных управляющих команд, плюс веб-интерфейс у модема удобен уровни сигнала смотреть, настроить проброс портов и т.п., APN подхватывает самостоятельно из сим-карты.

Насколько я понимаю, ppp даёт существенный overhead по передаче данных, плюс есть какая-то нестабильность виртуальных ttyUSB драйверов отчего всё достаточно медленно работает, а в случае реконнекта вообще ж.па. В моём huawei e3531s-1 HiLink переподключается мгновенно (в лифт заходишь, доезжаешь до 1 этажа и связь теряется, пока выйду на улицу - связь уже есть), да и подключается тоже быстрее, чем tp-link mr3020 загрузиться в openwrt успеет.

Собственно говоря, все эти NDIS и HiLink режимы придумали для ускорения обмена данными с хост-системой после прихода HSDPA+ и LTE, т.к. голый ppp через дебри абстрактных интерфейсов поверх usb уже не вытягивал.

nickleiten ★★★
()
Ответ на: комментарий от nickleiten

Ну в общем, мимо, поднял через NM NDIS, но выше заявленной в спеках модема 7.2 MBps не поднялось. Так что в данном случае дело не в AT.

А через USB 2.0 вообще пролезет больше?

bodqhrohro_promo
() автор топика
Ответ на: комментарий от bodqhrohro_promo

С чего у тебя скорость будет больше чем в спеках. Для снятия данных для спецификаций еще и сферическую лабораторию в вакууме используют. Да, через HS пролезет.

Deleted
()
Ответ на: комментарий от bodqhrohro_promo

Зависит от модема, но, видимо, у Вас сам модем не умеет 3G выше 7.2Мбит/с, у меня до 15Мбит/с ночью, когда клиентов на БС меньше, спокойно качает. Посмотрите ещё загрузку процессора для сравнения в ppp и NDIS режиме, для ноутов и стационарников разница несущественная будет, а вот для роутеров или дохлых планшетов на андроиде вполне достаточная, чтоб делать соединения через NDIS/HiLink.

По части самого usb 2.0 - там 480Мбит символьной скорости, в реальности зависит от многих факторов, включая драйвера, но 100-200Мбит должен прокачивать.

nickleiten ★★★
()
11 сентября 2019 г.
Ответ на: комментарий от nickleiten

Подниму тему.

плюс веб-интерфейс у модема удобен уровни сигнала смотреть, настроить проброс портов и т.п., APN подхватывает самостоятельно из сим-карты.

Столкнулись с некоей проблемкой с RNDIS, что типа есть такие симки, не залоченные на определенного оператора. И там надо настраивать APN и прочие радости вручную. А т.к. модем воткнут внутрь некоего мега-девайса, и, вскрытие корпуса девайса не предвидится, то вариант с настройкой модема через WEB браузер сразу отпадает.

Вопрос: нет ли варианта, например, настраивать RNDIS модемы, например, через NetworkManager или прочие вещи?

По хорошему бы иметь возможность скопировать на девайс некий конфиг файл при продакшене девайса (ну, или сразу добавить этот конфиг в образ BSP а потом прошивать девайс).

Блин, сколько не гуглил, ничо толком не нашел... Нашел только некоторую доку с утилитой nmcli, но возникают вопросы:

1. Где оно хранит все свои профили (в конфиг файлах или пр.)?

2. И возможно ли создать профиль GSM для RNDIS интерфейса, т.к. только в профиле GSM есть возможность задать APN и прочее. Меня смущает то, что обычно для GSM профиля задается интерфейс /dev/ttyXYZ (которого, естественно, у меня нет), а у меня только «сетевой интерфейс» от модема «usb0».

Мож кто сталкивался?

kuzulis ★★
()
Последнее исправление: kuzulis (всего исправлений: 1)
Ответ на: комментарий от kuzulis

О как бывает.

По части NetworkManager - это менеджер настройки хост системы, есть ещё ModemManager, который умеет использовать стандартные AT команды и ещё на qualcomm-based модемах умеет использовать так называемый diag/debug интерфейс, но это всё в режиме PPP/TTY интерфейсов. Важно понимать, что сейчас модем в хост системе (будь то роутер или просто ноутбук) может быть представлен в виде разных виртуальных устройств (они эмулируются драйвером на хост системе исходя из идентификаторов устройства передаваемых модемом по usb): самый старый режим AT-комманд подразумевает использование /dev/tty* устройств в линуксе, RNDIS режим эмулирует сетевой адаптер и /dev/tty* устройство, для инициализации сетевого интерфейса в /dev/tty* нужно передать AT-команду с APN, последний режим - это HiLink, когда эмулируется только сетевушка, а управление уже делается в веб-интерфейсе модема, никаких АТ-комманд в хост-системе.

Как правило, в модемах используется либо VxWorks для baseband, либо на модемах, поддерживающих RNDIS и/или HiLink ещё и кастрированный андроид в режиме роутера (китайцы совсем обленились, по-моему). Собственно, nmcli, которую вы нагуглили - это только консольный интерфейс для NetworkManager'а, он вам ничем не поможет. Вам нужно достучаться до baseband модема в том или ином виде. То есть придётся поковыряться с логами, узнать модель модема и как его вообще конфигурировать.

А если вы не имеет доступа к потрохам хост-системы, в которую вставлен модем, то проще использовать старый добрый PPP/TTY метод, он поддерживается везде.

nickleiten ★★★
()
Ответ на: комментарий от kuzulis

вариант с настройкой модема через WEB браузер сразу отпадает.

curl’ом дернуть веб-морду не вариант? там обычный POST запрос в большинстве случаев.

drsm ★★
()
Ответ на: комментарий от nickleiten

А если вы не имеет доступа к потрохам хост-системы, в которую вставлен модем, то проще использовать старый добрый PPP/TTY метод, он поддерживается везде.

Ну так у меня нет никаких ttyXYZ (я писал уже выше). Но драйвер используется RNDIS.

kuzulis ★★
()
Ответ на: комментарий от drsm

curl’ом дернуть веб-морду не вариант? там обычный POST запрос в большинстве случаев.

Да, только не curl буду использовать, а писать приложение (екзешечку) на C++ которое будет конфигурить модем через http запросы (там что-то вроде REST API). И эту экзешечку потом закину в BSP.

Как то так, всем спасибо.

kuzulis ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.