[abgebrochen] Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
hikaru
Moderator
Beiträge: 13595
Registriert: 09.04.2008 12:48:59

[abgebrochen] Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von hikaru » 04.04.2024 14:32:10

Hallo,

ich habe hier einen USB-3.0-Hub für den 3,5"-Schacht, dessen USB-3.0-Controller Probleme macht (der Hub samt angeschlossener Geräte "verschwindet" nach wenigen GB Übertragung).
Via USB 2.0 (mittels eingeschleifter USB-2.0-Verlängerung) funktioniert er aber tadellos und im Rahmen der Möglichkeiten auch schnell.

Nun würde ich mir das USB-2.0-Kabel gern sparen und den Hub rein softwareseitig als USB 2.0 betreiben. Ich möchte also gezielt den einen Port auf dem Mainboard an dem der Hub hängt (nicht beide), oder den Hub selbst auf USB 2.0 umstellen. xhci insgesamt möchte ich aber nicht blacklisten.
Geht das irgendwie?

rhHeini
Beiträge: 2318
Registriert: 20.04.2006 20:44:10

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von rhHeini » 04.04.2024 15:50:58

Bei meinem ASUS X570 Prime kann ich jeden einzelnen USB-Port im Bios konfigurieren.

Edith: Sorry, falsche Fährte. Geht doch nicht so wie ich gedacht habe (hab das USB SIngle Port Control nie benutzt): bietet nur Enable/Disable. War also nix.
Zuletzt geändert von rhHeini am 04.04.2024 17:09:18, insgesamt 1-mal geändert.

Benutzeravatar
hikaru
Moderator
Beiträge: 13595
Registriert: 09.04.2008 12:48:59

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von hikaru » 04.04.2024 16:08:23

Das könnte auch eine Lösung sein.

Mit "jeden einzelnen" meint du, du kannst die beiden Ports des internen USB-3.0-Headers getrennt einstellen? Falls ja, sag mir bitte wo das geht, damit ich mal schauen kann, ob mein BIOS das auch hergibt!
Bei mir geht's um ein Asus Prime B450-A, auf das ich aber auf absehbare Zeit keinen Zugriff habe. Ich habe momentan nur den ausgebauten USB-Hub an einem Testrechner zu hängen.

Die Umstellung wirtklich nur eines einzelnen Ports/Geräts hätte ich gern, weil im selben 3,5"-Modul noch eine zweite Platine mit Cardreadern verbaut ist, die über USB 3.0 keine Probleme macht. Cardreader und USB-Hub hängen jeweils an einem der beiden USB-Ports des internen Mainboardheaders.

Benutzeravatar
TRex
Moderator
Beiträge: 8093
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von TRex » 04.04.2024 20:42:45

Habs weder ausprobiert noch recherchiert, aber könnte man nicht ne udev-rule dafür anlegen?
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
hikaru
Moderator
Beiträge: 13595
Registriert: 09.04.2008 12:48:59

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von hikaru » 04.04.2024 21:15:26

Wäre auch meine Vermutung. Aber udev ist nicht gerade mein Steckenpferd. Mir fallen offenbar nicht mal sinnvolle Suchbegriffe ein.

Benutzeravatar
Livingston
Beiträge: 1462
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von Livingston » 04.04.2024 23:51:07

Mit den Suchbegriffen "usb force ehci" stolpert man in verschiedenen Foren über ein Script, dessen Kern so aussieht:

Code: Alles auswählen

# setpci -H1 -d <vendor>:<device> d0.l=0
wobei <vendor>:<device> den üblichen Ausgaben von lspci/lsusb entsprechen. Frag mich nicht nach dem kryptischen Parameter am Ende. Die Betonung scheint auf =0 zu liegen. Nix genaues weiß ich nicht.
Ich komme jetzt nicht dazu, was zu testen, deshalb hier nur ein paar Suchergebnisse:

https://linuxmusicians.com/viewtopic.ph ... 010#p79849
https://www.systutorials.com/how-to-for ... -in-linux/

Sieht also so aus, als müsstest Du das fragliche Gerät mit lspci (oder wahrscheinlich einfacher: lsusb) identifizieren und dann per setpci in die Hardwarekonfiguration reingrätschen.
Vielleicht hilft Dir das weiter.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Benutzeravatar
hikaru
Moderator
Beiträge: 13595
Registriert: 09.04.2008 12:48:59

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von hikaru » 05.04.2024 09:04:02

Livingston hat geschrieben: ↑ zum Beitrag ↑
04.04.2024 23:51:07
Mit den Suchbegriffen "usb force ehci" stolpert man in verschiedenen Foren über ein Script, dessen Kern so aussieht:

Code: Alles auswählen

# setpci -H1 -d <vendor>:<device> d0.l=0
Ja, das hatte ich auch gefunden. Aber soweit ich es verstanden habe, funktioniert setpci nur bei Geräten, die per PCI(e) angebunden sind. Mein USB-Einbau-Hub hängt ja aber bereits am USB-Controller des Mainboards. Ich könnte also den per PCIe angebundenen Mainboard-Controller insgesamt auf USB 2.0 umstellen, aber nicht den daran angeschlossenen Hub allein.

Ich habe das gerade mal mit einer externen HDD versucht:

Code: Alles auswählen

# lsusb | grep 0bc2:ab28
Bus 004 Device 025: ID 0bc2:ab28 Seagate RSS LLC Seagate Backup Plus Portable 5TB SRD00F1
# setpci -H1 -d 0bc2:ab28 d0.l=0
setpci: Warning: No devices selected for operation group 1.
Die HDD wird nach wie vor als USB 3.0 erkannt.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von smutbert » 05.04.2024 11:44:57

Hier [1] ist in einer Antwort auch die Rede davon einzelne Ports des Onboardcontrollers auf USB 2-Modi zu begrenzen, im Beispiel

Code: Alles auswählen

setpci -H1 -d 8086:1e31 d8.l=0
um alle Ports auf USB 2 zu schalten. Ziel wäre natürlich nur den Port zu begrenzen an dem der Hub hängt.

Die restlichen Beispiele um einzelne Ports auf USB 2 zu schalten kann ich mit dem in der Antwort verlinkten PDF [2] nicht ganz nachvollziehen bzw. halte ich sie in der Antwort zumindest für unvollständig beschrieben.
Jedenfalls gibt es im PDF auf Seite 714 diese Tabelle
[...]
When set to 1, this bit enables the SuperSpeed terminations and allows the xHC to
view the SuperSpeed connections on the USB port.
When set to 0, the port’s SuperSpeed capability is not visible to the xHC.

Bit 3 = USB 3.0 Port 4
Bit 2 = USB 3.0 Port 3
Bit 1 = USB 3.0 Port 2
Bit 0 = USB 3.0 Port 1
[1] https://superuser.com/questions/812022/ ... as-usb-2-0
[2] https://www.intel.com/content/dam/www/p ... asheet.pdf

Benutzeravatar
Livingston
Beiträge: 1462
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von Livingston » 05.04.2024 13:49:54

Entsprechend dem PDF, Abschnitte 17.1.33 und 17.1.35, müsste man also jeweils das eine richtige Bit auf 0 bzw. 1 setzen, um nur den einen gesuchten Port zu manipulieren.
Also sollte bspw.

Code: Alles auswählen

setpci -H1 -d vendor:device d0.l=2 # 0010
setpci -H1 -d vendor:device d8.l=13 # 1101
Port 1 auf 2.0-Betrieb umstellen. :?:
Ich probier's gleich mal aus, wenn ich Zeit habe.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von smutbert » 05.04.2024 15:00:32

Ehrlich, ich bin mir gerade nicht sicher inwieweit ich meinen Überlegungen trauen soll – ich habe schon ein paar Minuten damit zugebracht herauszufinden ob hinter dx. ein großes i oder ein kleines L folgt... aber ich hätte es anders verstanden:
Das jeweilige Bit muss auf 0 gesetzt werden um die USB 3-Modi zu deaktivieren. Also wäre ich für d8.l nicht auf 13 sondern 14 gekommen (0 für ersten Port und 2+4+8 für die restlichen drei).

Außerdem braucht es das Setzen von d0.l=2 nach meinem Verständnis überhaupt nur, wenn man xhci gar nicht verwenden will – das scheint mir bei hikaru aber über das Ziel hinausgeschossen, wenn schon ein simples USB 2-Kabel genügt, dass alles problemlos läuft. Diesen Teil würde ich also weglassen, wenn er sich nicht als dringend notwendig erweist.

Benutzeravatar
Livingston
Beiträge: 1462
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von Livingston » 05.04.2024 15:38:27

Ich kann auch nur raten. Port 1 (von 0-3) habe ich nur als Beispiel rausgepickt. Das entspräche dann dem 2. Bit von rechts. Welcher Port der richtige ist, bekommt man wohl durch Ausprobieren raus (hoffe ich zumindest).
Einen ausgiebigen Test kann ich leider erst morgen machen.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von smutbert » 05.04.2024 19:11:11

:idea: das mit 13 oder 14 nehme ich zurück. Ich habe nicht übernasert, dass du bei 0 zu zählen begonnen hast.

Benutzeravatar
Livingston
Beiträge: 1462
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von Livingston » 06.04.2024 03:23:51

Zwischenergebnis: Einen USB-Stick habe ich schon mal soweit gebracht, dass er langsamer spricht (runter von USB 3.0 auf 2.0). Muss noch rauskriegen, wie ich ihn zuverlässig identifizieren kann, um das Ganze zu scripten. Am Ende sollte da eine udev-rule draus baubar sein. Ich halte euch auf dem Laufenden.

OT:
smutbert hat geschrieben: ↑ zum Beitrag ↑
05.04.2024 19:11:11
... dass du bei 0 zu zählen begonnen hast.
Du weißt doch, es gibt nur 10 verschiedene Typen von Menschen: Die, die das Binärsystem verstehen, und all die anderen. :mrgreen:
Ich habe nicht übernasert...
Sagt man das so in Graz? Gefällt mir auch als Ruhrpottler.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Benutzeravatar
hikaru
Moderator
Beiträge: 13595
Registriert: 09.04.2008 12:48:59

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von hikaru » 06.04.2024 10:26:04

Livingston hat geschrieben: ↑ zum Beitrag ↑
06.04.2024 03:23:51
Zwischenergebnis: Einen USB-Stick habe ich schon mal soweit gebracht, dass er langsamer spricht (runter von USB 3.0 auf 2.0).
Kannst du bitte schon mal das Zwischenergebnis präsentieren? Genau das hatte ich mit der externen HDD bisher noch nicht hinbekommen.
Mein Hub hängt ja später immer am selben (internen) USB-Port. Ihn "zuverlässig" zu identifizieren wäre für mich also vielleicht gar nicht wichtig, so lange ich zuverlässig immer den selben Port downgrade.

Benutzeravatar
Livingston
Beiträge: 1462
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von Livingston » 06.04.2024 11:08:03

Nächstes Zwischenergebnis: Ein USB-Stick ist geschrottet :?
Die gestern festgestellte Verlangsamung könnte mit dem Rumfummeln an den Registern gelegen haben. Ich habe lediglich die Register D0 und D8 eines USB3.0-Hub der Reihe nach (bitweise) bearbeitet.
Mal sehen: Ich hab noch einen Sack Billig-Sticks, aber ich werde vorher nochmal die Specs sorgfältig lesen.

WARNUNG
Ich habe auf Grundlage der oben verlinkten Intel-Spezifikation (C216) herumexperimentiert. Inzwischen weiß ich, dass ich damit völlig danebenlag, da bei mir ein anderer Chipsatz verbaut ist, nämlich der C230. Hier gibt es eine völlig andere Registerbelegung. Was auch immer gestern scheinbar funktioniert hat, war auf alle Fälle für meine Hardware reichlich ungesund.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von smutbert » 06.04.2024 18:33:04

Livingston hat geschrieben: ↑ zum Beitrag ↑
06.04.2024 03:23:51
Sagt man das so in Graz? Gefällt mir auch als Ruhrpottler.
Ja, nicht nur in Graz. Wäre vielleicht eine Idee für einen grml-Releasenamen? ☺
Livingston hat geschrieben: ↑ zum Beitrag ↑
06.04.2024 11:08:03
WARNUNG
Ich habe auf Grundlage der oben verlinkten Intel-Spezifikation (C216) herumexperimentiert. Inzwischen weiß ich, dass ich damit völlig danebenlag, da bei mir ein anderer Chipsatz verbaut ist, nämlich der C230. [...]
Das tut mir leid. Ich hätte auch daran denken müssen, dass es unterschiedliche Chipsätze gib und beteilige mich gerne am entstandenen Schaden.
Kannst du schon abschätzen ob der über den Stick hinausgeht?

Benutzeravatar
Livingston
Beiträge: 1462
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von Livingston » 07.04.2024 02:15:32

Alles gut, smutbert, ist ja fast nix passiert. Es ist nur ein billiger USB-Stick umgekommen. Außerdem habe ich mich selten dämlich angestellt: Gescriptet alle Bitmuster durchgenudelt, Treiber vorher nicht abgemeldet und außerdem die Specs nicht gelesen. Da hat mein Spieltrieb mein Hirn überflügelt.
Ich ärgere mich über mich selbst, weil ich es eigentlich besser wissen sollte.
Ich habe das Ganze jetzt als Privat-Forschungsprojekt mit niedriger Priorität auf der Agenda. Also erst mal viel lesen, in den Kernel-/Treibercode reinschauen. Vielleicht gibt's ja eine machbare Lösung für hikarus Problem. Mir macht diese Art von Forschung jedenfalls Spaß und ich versuche mich da weiter dran. Wenn's was Neues gibt, melde ich mich natürlich hier bei euch zuerst.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Benutzeravatar
hikaru
Moderator
Beiträge: 13595
Registriert: 09.04.2008 12:48:59

Re: [agebrocchen] Einzelnes USB-3.0-Gerät auf USB 2.0 umstellen?

Beitrag von hikaru » 07.04.2024 22:24:46

Bevor hier noch weitere Hardware geschrottet wird, breche ich mein Anliegen lieber ab. Das USB-2.0-Kabel bleibt dran.
Damit will ich nicht euren Spieltrieb bremsen, aber zumindest will ich nicht für etwaige Kollateralschäden verantwortlich sein.

Antworten