Alle USB-Anschlüsse auf der Hauptplatine laufen über denselben Bus

1097
Till B

Ich habe ein Gigabyte H87-HD3-Motherboard. Laut Spezifikation unterstützt es bis zu 8 USB 2.0 / 1.1-Anschlüsse. Jetzt versuche ich, ein Gerät anzuschließen, das nicht mit USB 3.0 kompatibel ist. Es funktioniert nicht an einem der USB-Anschlüsse, weder direkt an der Platine noch am Gehäuse, weder an blauen USB 3.0-Anschlüssen noch an anderen.

Beim Versuch, mein Gerät zum Laufen zu bringen, schien es mir, dass alle Ports an den gleichen Controller geroutet werden, und ich frage mich, ob dies richtig ist. Ich bin auf Ubuntu, dies ist die Ausgabe von 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 

Wie Sie sehen, hat Bus 03 einen xHCI-Treiber, die Geschwindigkeit ist USB 2.0-ähnlich. Egal wo ich meine Geräte anschließe, sie erscheinen immer unter Bus 03. Ich habe dies sowohl mit Ubuntu als auch mit Windows 10 ausprobiert, daher glaube ich nicht, dass dies ein Softwareproblem ist.

Könnte mir das jemand erklären? Leitet das Board alles zum selben Bus? Gibt es trotz der Spezifikation keine richtige USB 2.0-Unterstützung?

0
Es ist üblich, dass ein USB-Hub in einen USB-Hostcontroller integriert ist, sodass der USB-Hostcontroller mehrere USB-Anschlüsse bedienen kann. IOW Das Vorhandensein mehrerer USB-Ports (auf einem Motherboard oder sogar einem SoC) gibt nicht die genaue Anzahl der USB-Hostcontroller an. sawdust vor 6 Jahren 0

1 Antwort auf die Frage

2
dirkt

Sie haben ganz klar 4 verschiedene Busse. Der USB 3.0 (XHCI) -Controller wird auf zwei Bussen (Busse 3 und 4) angezeigt. Aus Kompatibilitätsgründen erhält der USB 2.0 / 1.0-Teil des Controllers einen anderen Bus.

Auf Bus 1 und 2 befinden sich zwei USB 2.0 (EHCI) -Controller mit jeweils zwei Ports, von denen einer wahrscheinlich ein Debug-Port ist, der nicht angeschlossen ist (siehe dmesg), und einer direkt mit einem integrierten Hub verbunden ist (einer mit 6 Ports) auf Bus 1 und einer mit 8 Ports auf Bus 2).

Wenn Sie also schauen lspci, sollten Sie 3 USB-Controller sehen, einen XHCI und zwei EHCI. Sehr wahrscheinlich befinden sich die EHCI-Controller in der Southbridge (überprüfen Sie die Adresse).

Das Datenblatt für das Gigabyte H87-HD3 sagt

Bis zu 6 USB 3.0 / 2.0-Anschlüsse (4 Anschlüsse auf der Rückseite, 2 Anschlüsse über den internen USB-Header verfügbar)
Bis zu 8 USB 2.0 / 1.1-Anschlüsse (2 Anschlüsse auf der Rückseite, 6 Anschlüsse über die internen USB-Header verfügbar)

Die 6 USB 3.0-Ports gehören also dazu, und 6 dieser Ports befinden sich im USB 2.0-Kompatibilitätsmodus auch auf Bus 3.

Jetzt ist es möglich, dass der XHCI-Controller 8 zusätzliche USB 2.0-Anschlüsse hat (google das Datenblatt und die Prüfung), und die Board-Designer haben nur diese Anschlüsse verwendet und die zusätzlichen 14 Anschlüsse ignoriert, die sich wahrscheinlich auf der Southbridge befinden. In diesem Fall würden tatsächlich alle Ports über einen einzelnen Controller geleitet. Wenn Sie ein USB-Gerät haben, das aus irgendeinem Grund diesen Controller nicht mag, haben Sie möglicherweise kein Glück.

Aber das kann man definitiv nicht sagen. Wenn Sie jedoch in jeden der 14 Ports ein funktionierendes USB 2.0-Gerät stecken, das in jedem Fall auf Bus 3 mit einer anderen Port-Nummer angezeigt wird, hört es sich sehr wahrscheinlich an.

Haben Sie versucht, einen externen Hub an einen Port anzuschließen und das "schwierige" Gerät an diesen Hub anzuschließen? Das kann helfen.

Ich habe einen USB 2.0-WLAN-Dongle in allen verfügbaren Anschlüssen meines Computers ausprobiert. Es zeigte sich immer auf Bus 3. Till B vor 6 Jahren 0
Denken Sie, dass ein externer 2.0-Hub nur 2.0-Geräte in meiner Konfiguration akzeptiert? Oder sollte ich lieber nach einer dedizierten USB 2.0-PCI-Erweiterungskarte suchen? Till B vor 6 Jahren 0
Die Idee, einen USB 2.0-Hub zu verwenden, war zum Testen, weil die meisten Leute einen Hub haben oder sich einen ausleihen können. Ein USB 3.0-Hub ist ebenfalls einen Versuch wert, da AFAIK von USB 3.0 auf USB 2.0 umgestellt werden muss, wenn ein USB 2.0-Gerät angeschlossen wird. In beiden Fällen besteht die Idee darin, das "schwierige" Gerät mit dem Hub anstelle des Controllers sprechen zu lassen (was auch immer bei dieser Paarung schief geht). Wenn Sie sowieso etwas kaufen müssen, ist eine USB 2.0-Karte die sicherste Lösung, wenn Sie über freie PCI-Steckplätze verfügen. dirkt vor 6 Jahren 1