Jump to content
  • 7

Привязка модема к интерфейсу


Skif_OP11

Question

Добрый день!

Такая проблема. Есть два 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?

  • Upvote 1
Link to comment
Share on other sites

Recommended Posts

  • 1
4 часа назад, Skif_OP11 сказал:

Добрый день!

Такая проблема. Есть два 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?

Да, кроме перепрошивки или смены модема у вас вариантов наверное нет.

Link to comment
Share on other sites

  • 0
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 порт

Link to comment
Share on other sites

  • 0

 

15 минут назад, Skif_OP11 сказал:

Думаю что делать если понадобится третий модем

Вам (как минимум) понадобится активный USB-хаб.

15 минут назад, Skif_OP11 сказал:

третьего необязательного параметра [Bus[:Port[:Dev]]]

Выглядит просто, если нет цепочки из USB-хабов.

Link to comment
Share on other sites

  • 0
20 minutes ago, sergeyk said:

 

Вам (как минимум) понадобится активный USB-хаб.

Выглядит просто, если нет цепочки из USB-хабов.

Два модема работают в хабе без доп. питания. Три не пробовал.
В доке от E3372 Power supply 5V/500mA

Link to comment
Share on other sites

  • 0

У меня всплыла аналогичная проблема.

Раньше было 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
!

 

Edited by Spectre
formatting
Link to comment
Share on other sites

  • 0
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 и всё работает.

 

Link to comment
Share on other sites

  • 0
1 hour ago, Skif_OP11 said:

Да, налицо явное отсутствие нужной софтовой фичи!
Думаю проще всего привязку к USB порту сделать.
Его адрес известен системе сразу же при старте,
а чтобы выяснить, например, серийник модема с ним
нужно пообщаться, т.е. требуется дополнительный код.

Насчет привязки к USB-порту - у меня есть опасение, что она не будет правильно работать при использовании USB-хаба. То есть, предположим, что порт USB1 занимает активный хаб с 2-3 модемами, а порт USB2 занимает флешка с Entware, в этом случае все модемы будут висеть на одном порту.

Я еще вчера искал как можно id модема сменить (это для PfSense иногда делают), насколько понял это делается не в прошивке модема, а путем его представления системе. То есть опять-таки это ведет к скриптам Entware.

1 hour ago, Skif_OP11 said:

Если любите играться со скриптами в Entware то есть такая идея.
При старте делаем всем модемам "unbind", т.е. записываем адреса
портов в /sys/bus/usb/drivers/usb/unbind
Далее, с некоторым интервалом делаем "bind".
Модемы должны появится в системе именно в этом порядке.
Такой-себе костыль...

Это хороший вариант, я вчера о чем-то подобном думал. Правда есть минус - занимаем один USB-разъем, то есть обязательно требуется активный USB-хаб чтобы по питанию вытягивал 2-3 модема на одном порту.

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

1 hour ago, Skif_OP11 said:

С e3372 есть еще один косяк.
Если провайдер выдает IP 10.x.x.x то модем по dhcp выдает
10.x.x.x/8 (да-да, mask 255.0.0.0 !) gate 10.0.0.1
т.е. весь "десятый" диапазон оказывается занят модемом.

Спасибо за информацию, но пока это меня не затронуло - на всех модемах серые или белые IP. Но это буду держать в голове если надумаю перестать платить за статические IP.

Link to comment
Share on other sites

  • 0

Появилась идея попробовать обновление настроек модемов через 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

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

Link to comment
Share on other sites

  • 0
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" можно выключить.

Link to comment
Share on other sites

  • 0

(а слона то я и не заметил)

Нашел как различить модемы между собой - при помощи "show interface" команды:

(...)
Interface, name = "UsbLte0"
                id: UsbLte0
             index: 0
              type: UsbLte
       description: A1
    interface-name: UsbLte0
              link: up
         connected: yes
             state: up
(...)
              imei: 867028043155319
          operator: Velcom

Есть и description, и imei и оператор. Все что нужно.

А если захочется к портам привязаться, то можно при помощи "show usb" найти где какой UsbLte:

              usb:
               device:
                     name: UsbLte0
(...)

               device:
                     name: UsbLte1
(...)

Попробую скрипт набросать, который будет по крону каждую минуту лазить на модем:

  1. Выполнить "show system" для получения uptime модема (если оно меньше n минут, значит модем был недавно перезапущен). Если модем давно работает, то ничего делать не надо.
  2. Выполняем "show interface" и вытаскиваем информацию о всех интерфейсах по маске "UsbLte*"
  3. Привязываемся либо к порту (0 => UsbLte0 и 1 => UsbLte1), либо к IMEI модемов, либо к названиям соединений (в последних случаях понадобится небольшой конфиг с маппингом) чтобы проверить правильная ли сейчас конфигурация  интерфейсов модемов. Если правильная (повезло, либо мы недавно ее обновляли), тогда ничего не делаем.
  4. Конфигурация нуждается в обновлении. Для этого делаем down модемам (без него не получится, поскольку мы шлюз по умолчанию сменим), меняем соединениям description, обновляем connections и привязки connections. Теоретически можно еще маппинги портов обновить, но в моем случае это не надо.

Если все получится, то в принципе мне этого будет достаточно.

Link to comment
Share on other sites

  • 0
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 порт не займет.
Но тогда, конечно, модем дёргать нежелательно.

Да, МАК одинаковый. Бесполезный для идентификации параметр

Link to comment
Share on other sites

  • 0
8 minutes ago, Skif_OP11 said:

В случае с хабом все равно каждый USB порт получит свой уникальный ID.
Иначе бы система не могла обращаться конкретному устройству в хабе.

USB ID модема, наверно, можно сменить через AT^NVWREX, но в какой именно регистр я нашел.
Для "перепредставления" устройства системе нужен ядерный модуль "udev", в Keenetic OS я такого не вижу

У меня пассивний хаб, Keenetic II два модема тянет без проблем. Три не пробовал.

Нормальные модемы с хорошими прошивками виснут крайне редко. У меня e3372, боюсь, что даже ни разу...
В ping-check profile "power-cycle" можно выключить.

По поводу хаба - я проверю на выходных, воткну оба модема в хаб и гляну как кинетик будет их порты отображать.

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

Link to comment
Share on other sites

  • 0

Небольшой статус по моим попыткам написать скрипт.

Скрипт будет запускаться уже после события назначения портов в Keenetic, а это означает, что есть ровно 2 варианта развития событий:

  1. После определения того, что порты назначены неверно (то есть не так как нам нужно), можно просто ребутнуть Keenetic. Если в наличии 2 модема, то после 1-2 ребутов у нас должна получится правильное распределение портов. Метод топорный, зато ничего не меняющий в настройках соединений модемов.
  2. После определения, обновить настройки созданных (новых) соединений.
    • Здесь можно настройки вписать в конфиг скрипта, но их довольно много и придется постоянно поддерживать настройки скрипта в актуальном состоянии.
    • Либо попробовать настройки прочитать из одних соединений и перенести их в другие. Например, настройки UsbLte0 перенести в UsbLte1 и наоборот. Keenetic не запрещает дублировать имена соединений и приоритеты, то есть копирование пройдет нормально.

Учитывая, что у меня 3 модема, ловить 1-й вариант возможно придется долго, но я в скрипте сделаю такую опцию.

Я ориентируюсь на 2-й вариант с копированием настроек. В этом, случае настроек в скрипте получается самый минимум:

	# modems (there may be several entries, be sure that "interface" is unique)
	modems => [
		{ interface => 'UsbLte0', description => 'A1' },
		{ interface => 'UsbLte1', description => 'MTS' },
		{ interface => 'UsbLte2', description => 'Life' },
	],

Как видно из этого примера, привязку я решил делать к названиям соединений (interface description). IMEI и другие параметры становятся доступны только после поднятия соединений на модемах, а это во-первых долго, а во-вторых ненадежно (вдруг с перепутанными портами соединения вообще никогда не поднимутся).

Самый сложный момент - это чтение текущих настроек интерфейсов (а их приходится читать из разных мест) и подбор команд для прописывания их в существующие интерфейсы. Этим сейчас и занимаюсь.

Edited by Spectre
Link to comment
Share on other sites

  • 0

@Keenetic Team, у меня есть предложение как можно сделать подобную настройку в самом кинетике.

Достаточно добавить в интерфейсе настроек 3G/4G модемов опцию привязки к соединению, по аналогии как это делается с фиксированным IP-адресом. Это может быть dropdown список, в котором пользователь будет выбирать "UsbLte0", "UsbLte1" и так далее (по кол-ву активных интерфейсов). При старте модема, он будет проверять была ли выбрана фиксация интерфейсов соединений и если да, то назначать выбранный интерфейс.

Вам понадобится сделать уникальный идентификатор соединений, поскольку интерфейс соединений (UsbLte0, UsbLte1, ...) уже на это не годится. Проще всего, для этого сделать description соединения (интерфейса) уникальным - не могу представить себе ситуацию для чего называть разные соединения одинаково.

Link to comment
Share on other sites

  • 0

О двух модемах в хабе. Конструкция - на фото. Это 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 кому нужно.

2modems.jpg

Link to comment
Share on other sites

  • 0
В 03.09.2019 в 18:45, Skif_OP11 сказал:

При включении или сбросе по ping-check модемы привязывпются
к интерфейсам UsbLte0 и UsbLte1 в непредсказуемом порядке.

Переместили тему в "Развитие", нужно голосовать.

Link to comment
Share on other sites

  • 0

Небольшой апдейт от меня.

На выходных попробовал 3 модема (напомню, одинаковых e3372) подключить в Keenetic. Эффект получился совершенно неожиданным - определилось только 2 модема (UsbLte0 и UsbLte1), а третьего как не бывало (show usb тоже не показывает). При ребуте Keenetic'а он случайным образом выбирает 2 модема, а 3-й никогда не появляется. Причем это не зависит от того, в какие порты они включены.

Дальше я удалил компонент для работы с NDIS модемами чтобы заставить их работать в CDC. Снова вижу только 2 модема.

Дальше удалил и CDC компонент и наконец получил все 3 модема как UsbModem0..2 в системе. С тем-же рандомным назначением портов.

При таком раскладе (модемы не работают как CDC/NDIS) мой скрипт смысл теряет, поэтому планирую на днях еще поэкспериментировать как заставить все 3 модема работать. Очень бы не хотелось для этого задействовать 2-й Keenetic или даже уезжать на PfSense.

Edited by Spectre
Link to comment
Share on other sites

  • 0
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!

Link to comment
Share on other sites

  • 0
On 10/29/2019 at 10:27 AM, Skif_OP11 said:

Хм... Неужели такой мизерный лимит количества одновременных NDIS модемов в Кинетике?

Попробовал использовать одновременно 3 модема - e3372, e3531 и e3131.
С вашей "проблемой 3-го модема" не столкнулся - все три завелись, причем в пассивном хабе.
В  e3531 и e3131 пришлось подкрутить настройку AT^SETPORT, иначе Кинетик
считает что они - UsbModem а не UsbLTE.

Возможно, у Вас проблемы с хабом.

3modems.jpg

show.txt

Link to comment
Share on other sites

  • 0

Спасибо за проверку, но у вас все-же разные модели. Я на днях доберусь до кинетика (это за городом) и еще раз проверю с 3-я модемами разные вариации. Если повторится, то попробую баг на это открыть.

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0
5 hours ago, Le ecureuil said:

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

Я тоже подозревал недостаток питания, поэтому и спросил что делает LED на третьем модеме.
Про резервирование полосы в USB никогда не слышал.
И зачем им много полосы еще и зарезервированной впрок - под microSD ?

Link to comment
Share on other sites

  • 0

@Spectre @Skif_OP11

https://appuals.com/fix-not-enough-usb-controller-resources/

Цитата

The USB port EndPoints usage exceeded the limit – Most USB controllers are capped at 16 IN & 16 OUT EndPoints for every available port. But since most devices will use primarily IN EndPoints, you’ll run out of them pretty quick.  Because of this, you can only use USB ports to a limited extent.

 

Link to comment
Share on other sites

  • 0
2 часа назад, Skif_OP11 сказал:

Я тоже подозревал недостаток питания, поэтому и спросил что делает LED на третьем модеме.
Про резервирование полосы в USB никогда не слышал.
И зачем им много полосы еще и зарезервированной впрок - под microSD ?

Ну например они видятся как USB CDC-сетевухи, и собственно резервируют на хабе 100M FDX на себя каждый + оверхед. Итого третьему уже не влезть - на него не осталось.

Link to comment
Share on other sites

  • 0
11 hours ago, Le ecureuil said:

Ну например они видятся как USB CDC-сетевухи, и собственно резервируют на хабе 100M FDX на себя каждый + оверхед. Итого третьему уже не влезть - на него не осталось.

Если такое согласование в USB существует (ткните меня носом в ссылочку, пожалуйста) то у человка Spectre всегда бы третий модем не обнаруживался.
В момент подключения в USB модем ведь не знает какой протокол обмена хост будет использовать - ppp или ethernet.
Ну или третий модем подключает Endpoint-ы типа "последовательные порты" но не подключает виртуальную сетевуху по причине недостатка полосы,
поэтому у Spectre он работает как UsbModem но не работает как UsbLte.
Но это как-то уж черезчур высокотехнологично. Пока нам не покажут логи при подключении третьего e3372 в Кинетик - правду не узнаем.

Link to comment
Share on other sites

  • 0

Извиняюсь, я тут пропал с этим вопросом - было не до модемов.

В общем, попробовал я снова запустить 3 модема (напомню, все 3 одинаковых Huawei e3372), тем более, что вышла новая прошивка 3.3.15.

Если кратко, то ничего не изменилось - 2 модема подключаются без проблем, а на 3-й Кинетик пишет, что "Modem is not connected".

Выдергивание модемов, подключение их к другим USB-портам, перезапуск модема никак не влияет - два подключаются, а на 3-й говорит, что он не подключен. Напомню, что у меня используется активный USB-хаб (с блоком питания) на котором висит 2 модема, а 3-й модем я подключаю напрямую к USB порту. Мне кажется, что проблема не с питанием, поскольку могут подхватится 2 модема с хаба, а может подхватится один модем с хаба и один подключенный напрямую.

Что я еще могу проверить - воткнуть в другой USB-хаб (чтобы точно его исключить). Если какие-то логи нужны от меня - готов снять и поделится.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...