Skif_OP11
-
Posts
12 -
Joined
-
Last visited
Content Type
Profiles
Forums
Gallery
Downloads
Blogs
Events
Posts posted by Skif_OP11
-
-
13 hours ago, sergeyk said:
Спасибо, познавательно!
-
5 hours ago, Le ecureuil said:
Я думаю там или не хватает питания, или уже подключенные модемы резервируют столько полосы на USB, что третьего тупо не подключают из-за недостатка этой самой полосы.
Я тоже подозревал недостаток питания, поэтому и спросил что делает LED на третьем модеме.
Про резервирование полосы в USB никогда не слышал.
И зачем им много полосы еще и зарезервированной впрок - под microSD ? -
On 10/29/2019 at 10:27 AM, Skif_OP11 said:
Хм... Неужели такой мизерный лимит количества одновременных NDIS модемов в Кинетике?
Попробовал использовать одновременно 3 модема - e3372, e3531 и e3131.
С вашей "проблемой 3-го модема" не столкнулся - все три завелись, причем в пассивном хабе.
В e3531 и e3131 пришлось подкрутить настройку AT^SETPORT, иначе Кинетик
считает что они - UsbModem а не UsbLTE.Возможно, у Вас проблемы с хабом.
-
12 hours ago, Spectre said:
Небольшой апдейт от меня.
На выходных попробовал 3 модема (напомню, одинаковых e3372) подключить в Keenetic. Эффект получился совершенно неожиданным - определилось только 2 модема (UsbLte0 и UsbLte1), а третьего как не бывало (show usb тоже не показывает). При ребуте Keenetic'а он случайным образом выбирает 2 модема, а 3-й никогда не появляется. Причем это не зависит от того, в какие порты они включены.
Дальше я удалил компонент для работы с NDIS модемами чтобы заставить их работать в CDC. Снова вижу только 2 модема.
Дальше удалил и CDC компонент и наконец получил все 3 модема как UsbModem0..2 в системе. С тем-же рандомным назначением портов.
При таком раскладе (модемы не работают как CDC/NDIS) мой скрипт смысл теряет, поэтому планирую на днях еще поэкспериментировать как заставить все 3 модема работать. Очень бы не хотелось для этого задействовать 2-й Keenetic или даже уезжать на PfSense.
Хм... Неужели такой мизерный лимит количества одновременных NDIS модемов в Кинетике?
Тянет на баг!
Ну прям одолжу у кого-то третий модем, хочу сам посмотреть!
Что лог Кинетика пишет при втыкании 3-го модема? Мерцает ли LED на модеме?
А действительно ли для превращения NDIS в CDC достаточно снести компонент?
Я считал что для CDC нужно перешить модем из "Stick" (версия прошивки 21.*) на HiLink (22.x)
Но, в принципе, принципиальной технической разницы между UsbModem и UsbLte нет.
Там и там мы инициируем соединение и получаем IP адрес от провайдера,
в отличие от CDC, который соединяется без спросу и выдает 192.168.8
Ну, подумаешь, pppd из прошлого века с двух сторон USB запущен...
Сомневаюсь что он так грузит проц модема что тормозит трафик.Так что на Вашем месте я бы решил - UsbModem так UsbModem!
-
О двух модемах в хабе. Конструкция - на фото. Это 4-портовый пассивный хаб.
Хотя... какое-то отверстие для БП там есть, но я ни разу не пробовал его использовать ибо БП в комплекте не было.
Смотрю что где паким скриптом# for Dir in /sys/bus/usb/devices/*; do Id=$Dir/idVendor; [ -f $Id ] && echo "$Id=`cat $Id`" && ls -1d $Dir/*/ttyUSB* 2>/dev/null; done
/sys/bus/usb/devices/1-1/idVendor=1a40
/sys/bus/usb/devices/1-1.1/idVendor=12d1
/sys/bus/usb/devices/1-1.1/1-1.1:1.0/ttyUSB0
/sys/bus/usb/devices/1-1.1/1-1.1:1.1/ttyUSB1
/sys/bus/usb/devices/1-1.4/idVendor=12d1
/sys/bus/usb/devices/1-1.4/1-1.4:1.0/ttyUSB2
/sys/bus/usb/devices/1-1.4/1-1.4:1.1/ttyUSB3
/sys/bus/usb/devices/1-2/idVendor=090c
/sys/bus/usb/devices/usb1/idVendor=1d6b
/sys/bus/usb/devices/usb2/idVendor=1d6bВидно что номера портов с модемами с точки зрения ядра - 1-1.1 и 1-1.4.
Если верхний модем переставлять вправо в оставшиеся USB разъёмы, он будет оказываться 1-1.2 и 1-1.3.Пробую виртуально отключить, скажем, модем в порту 1-1.4
echo 1-1.4 > /sys/bus/usb/drivers/usb/unbind
Модем из системы пропадает, при этом на самом модеме даже связь не разрыватся (LED не тухнет)
Network::Interface::Usb: "UsbLte1": interface "UsbLte1" is unplugged.
Отключаю первый -
echo 1-1.1 > /sys/bus/usb/drivers/usb/unbind
Network::Interface::Usb: "UsbLte0": interface "UsbLte0" is unplugged
"Включаю" в том же порядке -
echo 1-1.4 > /sys/bus/usb/drivers/usb/bind
Network::Interface::Usb: "UsbLte0": interface "UsbLte0" is plugged (port 1).
echo 1-1.1 > /sys/bus/usb/drivers/usb/bind
Network::Interface::Usb: "UsbLte1": interface "UsbLte1" is plugged (port 1).Всё - интерфейсы "поменялись местами".
Нижний модем стал UsbLte0, верхний - UsbLte1.Осталось оформить это в виде умного скрипта и положить в /opt/etc/init.d кому нужно.
-
31 minutes ago, Spectre said:
Появилась идея попробовать обновление настроек модемов через CLI. Из минусов - к ребуту модема привязаться не получится (придется дергать постоянно его), из плюсов - не нужна Entware.
Поставил компонент SSH-сервер, пробую:
ssh admin@192.168.1.1 "sh ru"
Все хорошо работает - доступны команды на изменение имен модемов, привязок модемов, down интерфейсов, ребут можно сделать свой собственный. Есть только проблема - пока не нашел как различить где какой модем. MAC-адреса у них возвращает одинаковые:
(config)> more sys:/devices/virtual/net/lte_br0/address 00:1e:10:1f:00:00 (config)> more sys:/devices/virtual/net/lte_br1/address 00:1e:10:1f:00:00
а информацию о сети я узнаю уже после подключения, да и непонятно как ее прочитать.
Не нужна Entware - сомнительный "плюс". Если его не отягощать бесполезными демонами то он даже ресурсов почти не потребляет.
А если его поставить на microSD в модем, то даже USB порт не займет.
Но тогда, конечно, модем дёргать нежелательно.Да, МАК одинаковый. Бесполезный для идентификации параметр
-
1 hour ago, Spectre said:
Насчет привязки к USB-порту - у меня есть опасение, что она не будет правильно работать при использовании USB-хаба. То есть, предположим, что порт USB1 занимает активный хаб с 2-3 модемами, а порт USB2 занимает флешка с Entware, в этом случае все модемы будут висеть на одном порту.
Я еще вчера искал как можно id модема сменить (это для PfSense иногда делают), насколько понял это делается не в прошивке модема, а путем его представления системе. То есть опять-таки это ведет к скриптам Entware.
Это хороший вариант, я вчера о чем-то подобном думал. Правда есть минус - занимаем один USB-разъем, то есть обязательно требуется активный USB-хаб чтобы по питанию вытягивал 2-3 модема на одном порту.
А у активного хаба уже есть уже другая проблема - его Keenetic не можем перезагрузить по питанию, то есть при зависании одного из модемов его придется физически выдергивать из хаба. По этой причине я пока отказался от его использования.
Спасибо за информацию, но пока это меня не затронуло - на всех модемах серые или белые IP. Но это буду держать в голове если надумаю перестать платить за статические IP.
В случае с хабом все равно каждый USB порт получит свой уникальный ID.
Иначе бы система не могла обращаться конкретному устройству в хабе.USB ID модема, наверно, можно сменить через AT^NVWREX, но в какой именно регистр я нашел.
Для "перепредставления" устройства системе нужен ядерный модуль "udev", в Keenetic OS я такого не вижуУ меня пассивний хаб, Keenetic II два модема тянет без проблем. Три не пробовал.
Нормальные модемы с хорошими прошивками виснут крайне редко. У меня e3372, боюсь, что даже ни разу...
В ping-check profile "power-cycle" можно выключить. -
9 hours ago, Spectre said:
У меня всплыла аналогичная проблема.
Раньше было 2 разных модема - Huawei e3131 и e3372, все работало отлично. Сейчас поменял первый из них и стало 2 одинаковых e3372. Боле того, купил еще и 3-й такой-же, чтобы сделать двойное резервирование и поиграться с multipath.
Перезагрузка модема теперь вызывает сильный дискомфорт - приходится лазить по админке чтобы Connection'ы переименовать, дальше чтобы им правильные привязки выставить, дальше подключаться через терминал чтобы у одного модема принудительно UMTS режим выставить (а у второго снять).
Может все-таки рассмотреть вопрос с привязкой к прошивке или какому-то другому атрибуту модема?..
sh ru:
interface UsbLte0 description A1 usb device-id 12d1 1506 usb acq umts security-level public ip address dhcp ip dhcp client dns-routes ip dhcp client name-servers ip global 57555 ping-check profile default up ! interface UsbLte1 description MTS usb device-id 12d1 1506 security-level public ip address dhcp ip dhcp client dns-routes ip dhcp client name-servers ip global 60215 ping-check profile default up !
Да, налицо явное отсутствие нужной софтовой фичи!
Думаю проще всего привязку к USB порту сделать.
Его адрес известен системе сразу же при старте,
а чтобы выяснить, например, серийник модема с ним
нужно пообщаться, т.е. требуется дополнительный код.Если любите играться со скриптами в Entware то есть такая идея.
При старте делаем всем модемам "unbind", т.е. записываем адреса
портов в /sys/bus/usb/drivers/usb/unbind
Далее, с некоторым интервалом делаем "bind".
Модемы должны появится в системе именно в этом порядке.
Такой-себе костыль...С e3372 есть еще один косяк.
Если провайдер выдает IP 10.x.x.x то модем по dhcp выдает
10.x.x.x/8 (да-да, mask 255.0.0.0 !) gate 10.0.0.1
т.е. весь "десятый" диапазон оказывается занят модемом.
После этого не вскипают VPN-ы выдающие, скажем, 10.177.177.5/30
с ошибкой конфликта адресов.
Ну и другие модемы где оператор выдает 10.y.y.y тоже оказываются
в нерабочем положении.
Пришлось заменить hook /var/run/ndhcpc-lte_br0 (его запускает
dhcp клиент /sbin/ndhcpc при получении IP адреса) на скрипт,
меняющий полученную маску /8 на /31 а шлюз на (IP xor 1)
Тогда, например, вместо 10.112.5.28/8 gw 10.0.0.1
система прибивает 10.112.5.28/31 gw 10.112.5.29 и всё работает. -
20 minutes ago, sergeyk said:
Вам (как минимум) понадобится активный USB-хаб.
Выглядит просто, если нет цепочки из USB-хабов.
Два модема работают в хабе без доп. питания. Три не пробовал.
В доке от E3372 Power supply 5V/500mA -
On 9/3/2019 at 8:32 PM, Mikesk said:
Перешить один из модемов, чтобы работал в другом режиме (CdcEthernet например).
Спасибо за идею, так и сделал!
Теперь один модем строго UsbLte0, второй - CdcEthernet0.
Думаю что делать если понадобится третий модем
В команде CLI usb device-id {vendor} {model} явно не хватает
третьего необязательного параметра [Bus[:Port[:Dev]]]Чтобы, скажем,
interface UsbLte0
usb device-id 12d1 1506 1:2
присваивался только если этот модем вставлен именно в этот USB порт -
Добрый день!
Такая проблема. Есть два USB модема с SIM картами.
На одной много Интерента, на второй - безлимитный IPTV.
Соответственно, настройки и привязки устройств к профилям - разные.
Работают одновременно через USB хаб.
При включении или сбросе по ping-check модемы привязывпются
к интерфейсам UsbLte0 и UsbLte1 в непредсказуемом порядке.
100% можно предсказать только если один модем заранее отключить.Подскажите, пожалуйста, как сделать жесткую привязку модема X к интерфейсу UsbLteX ?
Или как вариант - привязку USB порта X к интерфейсу UsbLteX ?Настройка "usb device-id {vendor} {model}" не подходит,
т.к. хоть модемы и разные, после срабатывания usb_modeswitch
(или что там в ndms) device-id у них становится одинаковым.
Если сделать AT^PORTMODE="FF;..." device-id одинаковый уже прямо изначально.Any ideas?
- 1
Привязка модема к интерфейсу
in Развитие
Posted
Если такое согласование в USB существует (ткните меня носом в ссылочку, пожалуйста) то у человка Spectre всегда бы третий модем не обнаруживался.
В момент подключения в USB модем ведь не знает какой протокол обмена хост будет использовать - ppp или ethernet.
Ну или третий модем подключает Endpoint-ы типа "последовательные порты" но не подключает виртуальную сетевуху по причине недостатка полосы,
поэтому у Spectre он работает как UsbModem но не работает как UsbLte.
Но это как-то уж черезчур высокотехнологично. Пока нам не покажут логи при подключении третьего e3372 в Кинетик - правду не узнаем.