Ich hatte vor kurzem den interessanten Fall, dass ich mein Keyboard
direkt an einen mainboard USB Anschluss (alle durchprobiert) und meinen
USB 3.0 Hub an einen USB 3.0 eingesteckt habe.
Das führte dazu, dass das keyboard nicht mehr reagiert hat um ins BIOS
Menü zu kommen.
Natürlich durch alles ausstecken und Ausschlussverfahren irgendwann mal
draufgekommen ... USB 3.0 Hub eingesteckt ... keyboard muss am USB 3.0
Hub hängen, sonst kann man es nicht fürs BIOS (entf) oder BOOT (F8) Menü
verwenden.
Oder natürlich man muss den USB 3.0 Hub abhängen damit das keyboard
direkt am mainboard Anschluss funktioniert.
Ist natürlich auch nicht immer hilfreich, wenn man nur mal eben in
anderes OS booten will. Jetzt hängt es halt am USB Hub.
Einerseits würde mich interessieren, ob ihr diesbezüglich auch solche
"interessanten" Erfahrungen gemacht hab, andererseits ob sich das
mithilfe des USB Protokoll erklären lässt.
Ich glaube ja, dass sich der Hub an USB 3.0 mit Device Adresse 1
anmeldet und das BIOS ja nur, soweit mir bekannt, auf USB Input von
Adresse 1 hört beim Hochfahren.
Glaub das war auch irgendwann in alten Zeiten mal soll, dass das
keyboard über USB nur am ersten USB Anschluss funktioniert hat im BIOS
POST.
Ob sich da nun der USB Hub am schnellsten anmeldet oder irgendwas
anderes ist, soweit reicht mein Wissen nicht.
Da ist dann wahrscheinlich ein ziemlich doofes BIOS drauf.
Auf den Host-Port wird je nach angeschlossenem Gerät entweder der USB
2.x/3.x Host-Controller oder ein USB 1.x Hostcontroller drauf
geschaltet. Das BIOS kann diese Umschaltung wahrscheinlich nicht.
Der USB3 Hub hat sogenannte Transaction Translator, die setzen USB 1.x
auf USB 2/3 um. Die Daten der Taststur gehen dann also mittels USB 3
Kommunikation zum Host.
Das wird der Unterschied sein.
Hat der Hub zufällig eine eigene Stomversorgung? Dann sind eventuell die
+5V vom Netzteil soweit out-of-spec dass die anderen USB Geräte nicht
mehr tun.
Kann man mit 'nem Multimeter nachmessen.
Guido K. schrieb:> Auf den Host-Port wird je nach angeschlossenem Gerät entweder der USB> 2.x/3.x Host-Controller oder ein USB 1.x Hostcontroller drauf> geschaltet. Das BIOS kann diese Umschaltung wahrscheinlich nicht.
Du solltest nicht USB-Versionsnummern verwenden, sondern die
Transfermodi LS (Low Speed, 1MBit/s), FS (Full Speed, 12 MBit/s), HS
(High Speed, 480 MBit/s) und SS(+) (Super Speed, 5GBit/s+). Auch USB 2.0
definiert LS und FS Verbindungen.
Früher gab es UHCI/OHCI Controller für FS und LS, EHCI für HS und XHCI
für SS. Irgendwann wurde dann UHCI/OHCI wegoptimiert, so dass EHCI auch
FS und LS Verbindungen übernommen hat. Bei modernen Boards macht XHCI
inzwischen alles.
> Der USB3 Hub hat sogenannte Transaction Translator, die setzen USB 1.x> auf USB 2/3 um. Die Daten der Taststur gehen dann also mittels USB 3> Kommunikation zum Host.
Normalerweise gibts nur TTs für FS-LS und HS-FS/LS. TTs für SS zu
HS/FS/LS sind selten, die meisten Hubs haben die nicht. Ist ja auch
nicht nötig, weil SS ganz andere Adern verwendet als die langsameren
Verfahren. Man hat also zwei völlig getrennte USB-Anschlüsse auf einem
Port.
fchk
Leider stimmt das so nicht. Die OHCI/UHCI-Host Controller sind immer
noch da und werden verwendet, wenn man ein Full Speed oder Low Speed
Device direkt in den Hostport steckt.
Da hatten wir grad Spaß mit dem Intel Extensible Host Controller, denn
da passiert genau das, der Host wird umgeschaltet, wenn etwas unterhalb
von High Speed angeschlossen wird. Da wir ein Device mit 7 HID
Interfaces gebaut haben, machte das Spaß. Der UHCI-teil kommt damit
nämlich klar, wenn man aber einen Hub dazwischen schaltet, übernimmt der
XHCI und der kommt damit nicht klar (also mit 7 Interfaces), ist also
eigentlich nicht USB-konform.
Ich habe ein sehr altes Notebook Lenovo W510, das hat bereits zwei USB
3.0-Anschlüsse und weitere zwei USB 2.0-Anschlüsse. Wenn ich von einem
USB-Stick booten will (z.B. um ein Betriebssystem zu installieren), gibt
es mit dem USB 3.0-Anschlüssen Probleme. Booten funktioniert nur vom USB
2.0-Anschluss.
Für USB 3.0 gibt es einen Treiber, der vor dem Booten natürlich nicht
geladen ist. Evtl. besteht bei Dir eine ähnliche Problematik.
Zum Thema USB wurde genug geschrieben, deswegen zusätzlich:
Schau im BIOS/UEFI nach "Fast Boot", "Quick Boot" o.ä., die Einstellung
ist ggf. nur in den erweiterten Einstellungen verfügbar. Je nach Board
und je nach Einstellung werden damit sämtliche, keine oder nur Teile der
Peripherie initialisiert.
Guido K. schrieb:> Die Daten der Taststur gehen dann also mittels USB 3> Kommunikation zum Host.
Nö, die Tastatur hängt an den USB2-Leitungen und wird als USB2 zum PC
weiter verbunden. Würde sie auf USB3 umgesetzt, könnte man ja die
USB2-Leitungen vom Hub zum PC abschneiden.
Ein USB3-Anschluß enthält auch immer einen separaten USB2-Anschluß. Nur
die 5V/GND-Leitungen sind für beide gemeinsam.
Steck man einen USB3-Hub an, erscheinen im Gerätemanager 2 zusätzliche
Hubs, ein 2-er und ein 3-er. Sie können in einem gemeinsamen Gehäuse
stecken, arbeiten aber vollkommen getrennt.
Ich hatte mal das Problem, daß für die USB3-Anschlüsse der USB2-Treiber
nicht installiert war. Somit wurden keine USB2-Geräte erkannt, auch
nicht am Hub.
Ich habe auch ein älteres BIOS, was kein USB3 kann. D.h. ein Booten vom
USB3-Stick erfolgt immer nur im langsamen USB2-Mode.