У меня есть материнская плата Gigabyte H87-HD3. Согласно спецификации он поддерживает до 8 портов USB 2.0/1.1. Сейчас я пытаюсь подключить устройство, несовместимое с USB 3.0. Он не работает ни на одном из портов USB, ни непосредственно на плате, ни на корпусе, ни на синих портах USB 3.0 или других.

Пытаясь заставить мое устройство работать, мне показалось, что все порты направлены на один контроллер, и мне интересно, если это правильно. Я на Ubuntu, это вывод команды lsusb -t:

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
    |__ Port 5: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 5: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 5: Dev 2, If 2, Class=Human Interface Device, Driver=usbhid, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M

Как видите, Bus 03 имеет драйвер xHCI, скорость USB 2.0. Независимо от того, где я подключаю свои устройства, они всегда отображаются под шиной 03. Я пытался сделать это как с Ubuntu, так и с Windows 10, поэтому я не думаю, что это проблема программного обеспечения.

Может ли кто-нибудь объяснить мне это? Направляет ли плата все на один и тот же автобус? Нет ли надлежащей поддержки USB 2.0, несмотря на спецификацию?

1 ответ1

2

У вас очень четко есть 4 разных автобуса. Контроллер USB 3.0 (XHCI) отображается на двух шинах (шины 3 и 4). Это из соображений совместимости, часть контроллера USB 2.0/1.0 получает другую шину.

На шине 1 и 2 находятся два контроллера USB 2.0 (EHCI), каждый с двумя портами, один из которых, вероятно, является портом отладки, который не подключен (см. dmesg), и один напрямую связан с интегрированным концентратором каждый (один с 6 порты на шине 1 и один с 8 портами на шине 2).

Поэтому, если вы посмотрите на lspci , вы увидите 3 контроллера USB, один XHCI и два EHCI. Очень вероятно, что контроллеры EHCI находятся в южном мосту (проверьте адрес).

Лист данных для Gigabyte H87-HD3 говорит

До 6 портов USB 3.0/2.0 (4 порта на задней панели, 2 порта доступны через внутренний USB-разъем)
До 8 портов USB 2.0/1.1 (2 порта на задней панели, 6 портов доступны через внутренние USB-разъемы)

Таким образом, 6 портов USB 3.0 находятся там, где они принадлежат, и 6 из этих портов также находятся на шине 3 в режиме совместимости USB 2.0.

Теперь возможно, что контроллер XHCI имеет 8 дополнительных портов USB 2.0 (посмотрите таблицу данных и проверьте их), и разработчики платы использовали только эти порты и проигнорировали дополнительные 14 портов, которые, вероятно, имеются на южном мосту. В этом случае, действительно, все порты будут маршрутизироваться через один контроллер, и если у вас есть USB-устройство, которое по какой-то причине не нравится этот конкретный контроллер, вам может не повезти.

Но это точно сказать нельзя, хотя, если вы по очереди подключаете работающее устройство USB 2.0 к каждому из 14 портов, и оно в каждом случае обнаруживается на шине 3 с другим номером порта, оно начинает звучать очень вероятно.

Вы пытались подключить внешний концентратор к одному порту и подключить "трудное" устройство к этому концентратору? Это может помочь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .