У меня есть система на основе Debian Mint, где я подключаю 16 USB-устройств. Kernal: 3.11.0-12-generic Примерно через 10 или около того устройств у меня начинаются проблемы с подключением новых. Там ошибка для одного такого устройства может быть найдена в dmesgs следующим образом (последние 2 строки отличаются)
[НОВОЕ ОБНОВЛЕНИЕ: ВРЕМЕННОЕ РЕШЕНИЕ] Я обнаружил, что эта проблема относится к xhci. В моем биосе я смог отключить xhci и заставить linux вернуться к ehci (предположительно). Теперь все мои устройства работают просто отлично! Конечно, это означает, что для меня нет устройств USB3. К счастью, мое немедленное применение не требует их. Я не знаю, является ли это проблемой Intel или Linux. Было бы хорошо оставить эту страницу открытой, потому что кто-то другой очень хотел бы ее найти.
dmesg | grep -i 3-5.1
рабочее устройство:
[ 1.883505] hub 3-5:1.0: USB hub found
[ 1.883733] hub 3-5:1.0: 4 ports detected
[ 3.370272] usb 3-5.1: new full-speed USB device number 17 using xhci_hcd
[ 3.387126] usb 3-5.1: New USB device found, idVendor=03eb, idProduct=2045
[ 3.387129] usb 3-5.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3.387908] usb-storage 3-5.1:1.0: USB Mass Storage device detected
[ 3.388006] scsi14 : usb-storage 3-5.1:1.0
[ 121.738568] usb 3-5.1: USB disconnect, device number 17
[ 121.942662] usb 3-5.1: new full-speed USB device number 28 using xhci_hcd
[ 121.961332] usb 3-5.1: New USB device found, idVendor=03eb, idProduct=204b
[ 121.961334] usb 3-5.1: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[ 121.961336] usb 3-5.1: Product: LUFA USB-RS232 Adapter
[ 121.961337] usb 3-5.1: Manufacturer: Dean Camera
[ 121.961338] usb 3-5.1: SerialNumber: 741333532373518080C1
[ 121.961408] usb 3-5.1: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[ 121.962080] cdc_acm 3-5.1:1.0: ttyACM3: USB ACM device
[ 1281.513105] usb 3-5.1: USB disconnect, device number 28
dmesg | grep -i 3-5.1
Отказ устройства:
[ 3.638401] usb 3-5.4: new full-speed USB device number 20 using xhci_hcd
[ 3.655067] usb 3-5.4: New USB device found, idVendor=03eb, idProduct=2045
[ 3.655070] usb 3-5.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3.655868] usb-storage 3-5.4:1.0: USB Mass Storage device detected
[ 3.655977] scsi17 : usb-storage 3-5.4:1.0
[ 118.793161] usb 3-5.4: USB disconnect, device number 20
[ 122.603119] usb 3-5.4: new full-speed USB device number 31 using xhci_hcd
[ 122.621653] usb 3-5.4: New USB device found, idVendor=03eb, idProduct=204b
[ 122.621655] usb 3-5.4: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[ 122.621656] usb 3-5.4: Product: LUFA USB-RS232 Adapter
[ 122.621657] usb 3-5.4: Manufacturer: Dean Camera
[ 122.621658] usb 3-5.4: SerialNumber: 74133353237351808021
[ 122.621795] usb 3-5.4: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[ 122.622419] usb 3-5.4: Not enough host controller resources for new device state.
[ 122.622424] usb 3-5.4: can't set config #1, error -12
У меня аппаратная топология выглядит следующим образом: ПК -> 4 USB-концентратора с питанием -> каждый с 4 USB-устройствами (1). Эти устройства являются "двойной загрузкой", и вы можете видеть выше, где они извлекаются как устройства хранения данных и загружаются как последовательные устройства на тех же портах.
Я подключил USB-концентраторы прямо к источнику питания, каждое из моих устройств потребляет около 700 мА, а линия 5 В от источника питания падает до 4,69 В.
На моей машине есть несколько областей usb, так как я понимаю, что они связаны с базовыми концентраторами или корневыми концентраторами. Перемещение внешних узлов не имеет значения для результатов. Экспериментально: я думал, что размещение концентраторов на концентраторах приведет к большим проблемам, но результаты были такими же.
Когда все устройства подключены к источнику питания (и потребляют ток), но к ПК подключены только 3 концентратора, все в порядке. Когда я подключаю 4-й концентратор, я вижу в LSUSB, что все устройства есть, но только 1 из 4 устройств этого последнего концентратора подходит. В этом случае. 3-5.1 нормально, но 3-5.2 3-5.3 и 3-5.4, кажется, не загружают драйверы.
Все устройства идентичны, и я уже проверил такие вещи, как замена устройств вокруг, замена концентраторов и т.д. Это всегда последние устройства, чтобы войти. Это даже происходит, если последнее устройство отличается от мыши или беспроводного ключа. Устройство будет видно в lsusb, но оно не будет работать. Я предполагаю, что это указывает на чрезмерное ограничение USB в операционной системе, а не на то, что зависит от драйвера.
При перезагрузке это все еще последние 3 устройства, когда ток течет. ТЕМ НЕ МЕНИЕ. Я также могу перевести эти устройства в состояние, в котором ток не подается, и их можно поднять.
Мой вывод заключается в том, что ОС читает текущую картину и делает некоторую оценку энергоресурсов. Возможно, они получают эту информацию из узлов и, возможно, даже добавляют значения вместе. Было бы хорошо знать, могу ли я просто иметь «больше ресурсов хост-контроллера»
[обновление] Я нашел здесь то, что выглядит как исходный код для сообщения об ошибке: мне не нравится внешний вид "/* FIXME: можем ли мы выделить больше ресурсов для HC? */"Возможно, это также означает, что есть способ выделить больше ресурсов с самого начала.
Любые подсказки были бы великими Дэвид