Не все USB-устройства распознали при соединении с большим Концентратором USB

Для разработки я купил концентратор USB с 28 концентраторами USB: Манхэттен MondoHub II. Устройство приводится в действие внешним источником питания, достаточным для моего варианта использования.

На концентраторе USB 15 макетных плат подключены (STMicro Nucleo платы). В основном, после того как Вы включаете dev плату в USB-порту, Ссылка ST v2 микросхема выставляет флэш-память базового микроконтроллера как Карту памяти, на которой можно перетащить микропрограммный файл. Плата затем высвечивается с тем встроенным микропрограммным обеспечением. Я должен высветить их автоматически. Таким образом я подключаю каждую плату к концентратору и запускаю скрипт, который высвечивает все.

Проблема состоит в том, что не все эти 15 подключенных устройств распознаны. Только 11 из них. dmesg ошибки бросков о хост-контроллере USB, не имеющем достаточно ресурсов.

Внутренне, концентратор USB, кажется, состоит из нескольких концентраторов USB.

dmesg когда я включаю концентратор USB, никакие подключенные устройства:

[269831.218406] usb 2-3: new high-speed USB device number 91 using xhci_hcd
[269831.369806] usb 2-3: New USB device found, idVendor=2109, idProduct=2811
[269831.369813] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[269831.369817] usb 2-3: Product: USB2.0 Hub             
[269831.369821] usb 2-3: Manufacturer: VIA Labs, Inc.         
[269831.370918] hub 2-3:1.0: USB hub found
[269831.371195] hub 2-3:1.0: 4 ports detected
[269831.678404] usb 2-3.1: new high-speed USB device number 92 using xhci_hcd
[269831.790645] usb 2-3.1: New USB device found, idVendor=1a40, idProduct=0201
[269831.790650] usb 2-3.1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[269831.790654] usb 2-3.1: Product: USB 2.0 Hub [MTT]
[269831.791150] hub 2-3.1:1.0: USB hub found
[269831.791177] hub 2-3.1:1.0: 7 ports detected
[269831.886375] usb 2-3.2: new high-speed USB device number 93 using xhci_hcd
[269831.998500] usb 2-3.2: New USB device found, idVendor=1a40, idProduct=0201
[269831.998504] usb 2-3.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[269831.998506] usb 2-3.2: Product: USB 2.0 Hub [MTT]
[269831.998942] hub 2-3.2:1.0: USB hub found
[269831.998964] hub 2-3.2:1.0: 7 ports detected
[269832.090378] usb 2-3.3: new high-speed USB device number 94 using xhci_hcd
[269832.202654] usb 2-3.3: New USB device found, idVendor=1a40, idProduct=0201
[269832.202658] usb 2-3.3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[269832.202660] usb 2-3.3: Product: USB 2.0 Hub [MTT]
[269832.203232] hub 2-3.3:1.0: USB hub found
[269832.203258] hub 2-3.3:1.0: 7 ports detected
[269832.294400] usb 2-3.4: new high-speed USB device number 95 using xhci_hcd
[269832.415440] usb 2-3.4: New USB device found, idVendor=14cd, idProduct=8601
[269832.415449] usb 2-3.4: New USB device strings: Mfr=1, Product=3, SerialNumber=0
[269832.415454] usb 2-3.4: Product: USB 2.0 Hub            
[269832.415458] usb 2-3.4: Manufacturer: USB Device  
[269832.416721] hub 2-3.4:1.0: USB hub found
[269832.416838] hub 2-3.4:1.0: 4 ports detected

При разъединении:

[269873.242343] usb 2-3: USB disconnect, device number 91
[269873.242349] usb 2-3.1: USB disconnect, device number 92
[269873.243596] usb 2-3.2: USB disconnect, device number 93
[269873.244672] usb 2-3.3: USB disconnect, device number 94
[269873.245725] usb 2-3.4: USB disconnect, device number 95

Я затем соединяю плату после платы. Совет 1 - 11 распознан и вызывает этот тип сообщения:

[269950.734094] usb 2-3.2.1: new full-speed USB device number 103 using xhci_hcd
[269950.856137] usb 2-3.2.1: New USB device found, idVendor=0483, idProduct=374b
[269950.856140] usb 2-3.2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[269950.856142] usb 2-3.2.1: Product: STM32 STLink
[269950.856144] usb 2-3.2.1: Manufacturer: STMicroelectronics
[269950.856146] usb 2-3.2.1: SerialNumber: 0671FF323532543457250836
[269950.911199] usb-storage 2-3.2.1:1.1: USB Mass Storage device detected
[269950.911377] scsi host5: usb-storage 2-3.2.1:1.1
[269950.911809] cdc_acm 2-3.2.1:1.2: ttyACM2: USB ACM device
[269951.942405] scsi 5:0:0:0: Direct-Access     MBED     microcontroller  1.0  PQ: 0 ANSI: 2
[269951.942686] sd 5:0:0:0: Attached scsi generic sg4 type 0
[269951.942980] sd 5:0:0:0: [sdd] 2080 512-byte logical blocks: (1.06 MB/1.02 MiB)
[269951.943876] sd 5:0:0:0: [sdd] Write Protect is off
[269951.943887] sd 5:0:0:0: [sdd] Mode Sense: 03 00 00 00
[269951.944137] sd 5:0:0:0: [sdd] No Caching mode page found
[269951.944143] sd 5:0:0:0: [sdd] Assuming drive cache: write through
[269951.963779] sd 5:0:0:0: [sdd] Attached SCSI removable disk

Когда я соединяю 12-ю плату, она не распознана. Журнал:

[270155.277574] usb 2-3.2.6: new full-speed USB device number 112 using xhci_hcd
[270155.407457] usb 2-3.2.6: New USB device found, idVendor=0483, idProduct=374b
[270155.407464] usb 2-3.2.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[270155.407468] usb 2-3.2.6: Product: STM32 STLink
[270155.407472] usb 2-3.2.6: Manufacturer: STMicroelectronics
[270155.407476] usb 2-3.2.6: SerialNumber: 066DFF323532543457074843
[270155.408451] usb 2-3.2.6: Not enough host controller resources for new device state.
[270155.408681] usb 2-3.2.6: can't set config #1, error -12

Что продолжается здесь? Я ограничиваю протоколом USB концентратором, или моим ядром / драйверы?

Рабочий волнистый попугайчик Ubuntu '18.04.1 LTS (бионический бобр)' на Lenovo ThinkPad E550.

Выберет больше журналов в случае необходимости. Полный файл журнала: https://pastebin.com/BarBHwnc

0
задан 7 September 2018 в 09:24

2 ответа

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

Там Windows 10 и Linux (Debian 9) оба безошибочно распознали каждое из 100 устройств (4 MondoHub II с 25 разработчиками каждое) без сообщения «Недостаточно ресурсов контроллера узла».

0
ответ дан 28 October 2019 в 00:32

Я столкнулся с той же проблемой на своем компьютере с Windows, и я полагаю, что основная причина проблемы заключается в архитектуре USB и количестве хост-контроллеров USB, которые у вас есть и к которым вы подключены на вашем ПК. Эта статья базы знаний National Instruments является самым кратким объяснением, которое я нашел для этой проблемы.

Спецификация USB имеет фиксированные стандарты для своего протокола связи. Что касается перечисления и связи с USB-устройствами, то количество разрешенных USB-адресов и конечных точек определяется структурой USB Token Packet, как показано ниже:

{ см. Ссылку для изображения }

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

Аналогично, поле «Конечная точка» используется для маршрутизации определенных типов данных через шину USB, и они аналогичны портам в протоколе связи TCP / IP. Длина его поля составляет 4 бита, что позволяет использовать 16 (24) адресуемых конечных точек. Однако, поскольку конечные точки являются однонаправленными (как в устройстве USB, так и вне его), одно устройство USB может выделить до 32 конечных точек. Общее количество разрешенных конечных точек USB зависит от хост-контроллера USB и его встроенного программного обеспечения, однако это число может быть меньше 100 допустимых конечных точек USB для некоторых контроллеров.

Поэтому, если устройство USB пытается быть добавлено к хост-контроллеру, и это приведет к превышению числа адресов или конечных точек, вышеупомянутая ошибка ресурса Windows будет выдана. Поскольку некоторые устройства могут использовать до 32 конечных точек на устройство, вы можете превысить число допустимых конечных точек при подключении устройств NI с концентратором USB. Кроме того, собственные внутренние USB-порты некоторых компьютеров и другие внутренние устройства (такие как беспроводные сетевые карты, аудио, камеры и т. Д.) Связаны с одним хост-контроллером USB, что может привести к довольно быстрому превышению ресурсов USB

.

С учетом сказанного, эта ссылка объясняет множество различных способов увидеть количество USB-устройств и контроллеров на вашем ПК.

0
ответ дан 28 October 2019 в 00:32

Другие вопросы по тегам:

Похожие вопросы: