[English]Beim Anschließen von USB-Geräten erleben einige Windows 10-Nutzer eine unangenehme Überraschung. Windows meldet 'Nicht genügend USB Controllerressourcen'. Hier einige Hinweise zum Hintergrund dieses Fehlers.
Anzeige
Eine Fehlerbeschreibung
Ich gestehe, diesen Fehler hatte ich bisher nicht auf dem Radar. Zufällig ist man dann ein englischsprachiger Tweet unter die Augen gekommen.
What does this mean? I'm plugging in a pair of USB-C headphones. I have zero other USB peripherals plugged in. This is a Surface Book 2. pic.twitter.com/dcbDH02YQF
— Zac Bowden (@zacbowden) September 4, 2019
Zac Bowden hat die englischsprachige Fassung der Meldung beim Einstecken eines USB-C-Headsets an einem Surface Book 2 mit Windows 10 erhalten. Aber eine Suche nach der deutschsprachigen Fehlermeldung bringt weitere Treffer. Der Treffer aus dem Microsoft Answers-Forum stammt aus 2015 und beschreibt das Problem folgendermaßen:
Windows 10 – Nicht genügend USB Ressourcen
Hallo, ein seltsamer Fehler ist kürzlich aufgetaucht.
Wenn ich versuche, ein Programm zu starten, welches ein Mikrophon verwendet (Mumble, Skype) , erhalte ich unter Win10 die Meldung: Nicht genügend USB Ressourcen verfügbar.
Im Gerätemanager wird nichts gemeldet. Die Meldung ist auch erstaunlich: Ich nutze ein Asus Ramage Extreme V Board mit unsinnigen Mengen an USB Ports. Angeschlossen sind auch nur relativ wenige Geräte.
Diese Meldung ist erst aufgetaucht, nachdem ich einen schadhaften PSU gewechselt hatte (von Corsair 1200axi zum 1500i). Intern war bereits eine Verbindung zu einem USB 2 Port (einer der wenigen, die überhaupt verbaut sind). Die neue PSU hat ebenfalls sowas.
Diese habe ich mittlerweile entfernt um zu sehen ob das das Problem war. Leider keine Änderung. Der Fixit von MS um USB Konflikte aufzudecken geht leider nicht bei Win 10.
Der Nutzer fragt, ob jemand eine Idee hat, wie man das Problem identifizieren und lösen kann. Die Antworten im Thread sind aber wenig zielführend, die Stromversorgung dürfte es nicht sein. Der Nutzer konnte das Problem über eine BIOS-Einstellung lösen. Der zweite Treffer aus dem Microsoft Answers-Forum stammt ebenfalls aus 2015 und beschreibt das Problem folgendermaßen:
Anzeige
Nicht genügend USB-Controllerressourcen verfügbar
Ich habe ein Headset bekommen wollte dieses anschließen (turtlebeach i60), und nun kommt immer wenn ich es benutzen will die Fehlermeldung: Nicht genügend USB-Controllerressourcen verfügbar'. Selber habe ich noch nichts unternommen. Zudem benutze ich windows10 (pro 64-bit), die Fehlermeldung tritt auf, seitdem ich versuche das Headset zu benutzen, und ausserdem benutze ich den CCleaner. Ich bitte um eine verständliche Antwort, schon mal danke.
Auch hier keine wirkliche Lösung in Sicht. In diesem Thread aus 2018 tritt die Meldung auf, wenn ein Synthesizer am Windows 10-System angeschlossen wird. Der Thread hier stammt aus 2019 und tritt bei einem Mikrofon auf, und in diesem Thread aus 2019 geht es um einen Kopfhörer.
Die Meldung gibt es aber auch in ähnlicher Form zu Windows 8.1 (hier)
Der technische Hintergrund
Bei meinen Recherchen bin ich auf diesen reddit.com-Post gestoßen, der eine ganz gute Erklärung liefert. Ein Nutzer, der wohl auch eine Oculus-Rift VR-Brille besitzt, hatte sich mit verschiedenen USB-Erweiterungskabeln und –Hubs befasst. Dabei stieß er auch auf den obigen Fehler und begann sich durch die USB-Spezifikationen zu wühlen. Der Fehler, dass nicht genügend Ressourcen für den USB-Anschluss verfügbar seien, hat nicht mit der Stromversorgung, wie oft gemutmaßt wird, zu tun. Hier die Erklärungen, die ich aus seinem Text deriviert habe.
- Ein USB-Anschluss kann ja (per Hub) mit mehreren Geräten kommunizieren. USB ist dabei ein Bussystem, an dem m.W. bis zu 127 Geräte theoretisch angeschlossen werden können.
- Wie viele USB-Geräte und welche Geräte ein USB-Anschluss betreiben kann, wird einmal von der Stromversorgung bestimmt. Aber wenn man das mal außer Acht lässt, gibt es weitere Kriterien für die Kommunikation
- Für jeden sogenannten Endpunkt (also ein angeschlossenes Gerät wie eine USB-Maus) muss eine gewisse Bandbreite reserviert werden.
Der Autor des reddit-Posts hat dabei herausgefunden, dass es zwei Situationen für den Anschluss des USB-Geräts an die USB-Buchse gibt.
- Wenn ein USB-Gerät eine Verbindung herstellt, erstellt es eine Anzahl von Endpunkten (EndPoints), d.h. Kanäle, die kommunikationsmäßig zu dem Gerät hin, oder vom Gerät zum Controller zurück verlaufen. Ein Flash-Laufwerk kann 3 Endpunkte, einen IN und OUT und einen Steuerkanal erzeugen. Die Sensoren einer Oculus Rift VR-Brille scheinen 7 und ein USB-Headset mindestens 10 Endpunkte zu verwenden.
- Das erste Problem ist, dass USB 3.0-Controller ein Limit von 96 EndPoints pro Controller haben (ist ein Hardware-Limit von Intel XHCI Controller, AMD-Controller können 254 Endpunkte, siehe 2. Post hier). Wenn der Benutzer genügend Geräte anschließt, erscheint die obige Meldung, dass nicht genügend USB-Ressourcen vorhanden sind. Dann werden USB-Geräte getrennt, wenn diese um die begrenzte Anzahl von Endpunkten kämpfen.
- Die zweite Restriktion ist, dass jeder USB 3.0-Anschluss auf 2×16 Endpunkte begrenzt ist (je 16 IN und 16 OUT, siehe auch, aber fast alle Geräte verwenden die IN-Einstellung für die Kommunikationskanäle).
Wenn ein HUB den Anschluss von 2 bis 4 Rift-Sensoren physikalisch unterstützt und jeder Rift-Sensor 7 IN-Endpunkte verwendet, lassen sich bestenfalls 2 Sensoren an einen USB 3.0-Hub anschließen. Dann ist beim dritten Sensor das Limit von 16 Endpunkten überschritten. Wird ein Headset an einen Hub angeschlossen, wird schon das Hinzufügen eines weiteren USB-Geräts zum Glücksspiel. Je nach Gerät ist die Zahl der 16 Endpunkte überschritten.
Der Autor sieht es so, dass in der Praxis sich maximal 2 Ocolus-Rift USB-VR-Brillen an einen Post anschließen lassen. Bei anderen Geräten lassen sich mehr oder weniger Geräte per Hub betreiben.
Das Ganze ist nicht wirklich ein Bandbreitenproblem, da USB 3.0 eine weitaus größere Bandbreite besitzt, als für die Sensordaten benötigt wird. Es ist nur, dass USB 3.0 die Hälfte der Kanäle zulässt, die unter USB 2.möglich sind, schreibt der Autor des reddit-Beitrags. Wer also zu wenige USB-Anschlüsse hat, kommt unter Umständen mit einem USB-Hub, selbst wenn dieser eine Stromversorgung besitzt, nicht weit. Doof ist das für Geräte, die mit nur einer USB-C-Buchse kommen.
Was kann man tun?
Leider gibt es kein Dienstprogramm, welches angeben kann, wie viele EndPoints ein Gerät verwendet. Dienstprogramme wie der USB Device Tree Viewer von Uwe Sieber können zwar anzeigen, wie viele Controller verfügbar sind und welche Ports wohin gehen. Das Tool kann auch EndPoint-Konfigurationen anzeigen. Aber eine saubere Kalkulation, wie viele USB-Geräte am Port betrieben werden können, ist wohl nicht möglich.
Manchmal liest man (wie hier), dass man xHCI im BIOS abschalten solle. Das Deaktivieren von xHCI im BIOS zwingt alle USB 3.0-Ports in den 2.0-Modus. Damit ist aber das Problem, dass pro USB-Port nur 15 Endpunkte unterstützt werden, nicht weg. In diesem reddit.com-Post wird ein USB-Switcher-Tool erwähnt, mit dem sich USB 2.0-Posts auf andere Controller umschalten lassen. Möglicherweise hilft das, genügend Bandbreite zu reservieren.
Troubleshooter, wie sie auf einigen Webseiten zur automatischen Reparatur angeboten werden, sollte man tunlichst meiden. Man kann zwar die in Windows integrierten Assistenten zur Problembehebung verwenden. Ich bin aber skeptisch, dass diese das Problem lösen. Das Gleiche gilt für die De- und Neuinstallation von USB-Treibern – wenn kein neuer Treiber vorhanden ist.
Möglicherweise kann man USBDeView verwenden, um die früher verwendeten USB-Geräte zu entfernen und bekommt so den Fehler weg. Dieser Ansatz wird auch in diesem Forenthread erwähnt. Vielleicht hilft es weiter – falls jemand eine weitere Lösung kennt, kann er ja einen Kommentar hinterlassen.
Anzeige
> falls jemand eine weitere Lösung kennt, kann er ja einen Kommentar hinterlassen.
an einer Kommandozeile erst eine Umgebungsvariable setzen, anschliessend aus derselben Kommandozeile den Geraete-Manager aufrufen und die ausgeblendeten Geraete anzeigen (und ggf. loeschen):
set devmgr_show_nonpresent_devices=1
start devmgmt.msc
–> ggf. auch einfach mal etwas mehr/alle USB-Komponenten im Geraete-Manager loeschen und neu erkennen lassen (sofern nicht gerade Tastatur/Maus davon betroffen sind ;-) – hier falls noetig per VNC/RDP/TeamViewer eine Verbindung zum Zielsystem herstellen)
Ich glaube nicht, dass das hilft. Denn die Anzahl bei den benutzten Ressourcen bezieht sich ja auf die aktiven USB-Verbindungen. Sonst würde man diese Meldung ja auch bekommen, wenn man 126 (USB 1.1/2) bzw. 15 (USB 3) verschiedene USB-Sticks wechselseitig benutzt.
Hallo, falls das die Lösung sein könnte gibt es vom Uwe Sieber ein schönes Tool.
edit falscher Link:
https://www.uwe-sieber.de/files/drivecleanup.zip
derart probleme sind noch weitaus mehr zu erwarten dank dem schrittweisen rollout der neusten usb spezifikation (wie auf usb.org zu finden).
was ich als "lösung" hier anfügen will hat mir kürzlich fast die sprache verschlagen, genauer die ansage die der entwickler von "rufus" gegen den platform betreiber (microsoft) richtet :-)
hp://github.com/pbatard/libwdi/releases
damit kann man sein system unbedienbar machen oder z.b. einem hub einen eindeutigen bezeichner (uuid) und treiber (winusb libusb u.s.w.) zuweisen, was ich bis vor wenigen tagen nicht für möglich gehalten hätte.
die veränderungen bezüglich "drahtloskonnektivität" wird jedoch auch das nicht aufhalten nehme ich an. man betrachte nur den schleichenden wandel des ehemaligen windows ereignisprotokolls, wo man zunehmend nur noch bahnhof versteht.. .. ..
softwaregeräte
keine installationsklasse: wahr
status: dn_no_show_in_dm
fähigkeiten: cm_devcap_surpriseremovalok
Was soll das alles mit dem Thema zu tun haben? Es geht doch gar nicht um irgendwelche Treiber?!
Das bedeutet auch, dass PCs weiterhin USB 2.0 Ports behalten müssen, die man tunlichst für langsame Geräte nutzt, denn diese Ports haben mehr Ressourcen. Oder Intel muss dieses Nadelöhr beim USB 3 Root Hub aufweiten. Gleichzeitig erklärt es, warum man im Handel immer noch so schwierig USB 3.x Hubs bekommt. USB 3 scheint darauf augelegt zu sein, dass man an einen USB Root Hub nur 1 Gerät (Platte, Sticks, etc.) anschließen soll.
xHCI im BIOS deaktivieren? Klingt doch eher nach einem Enumerationsproblem, das gab es ja unter 1510 (oder so) und eine Zeit lang unter diversen Linux-Distributionen ebenfalls (dort war die Lösung der Bootparameter iommu=soft), aber im BIOS/UEFI auf jeden Fall OHCI, EHCI und xHCI aktiv lassen.
Guten Morgen,liebe Spezialisten.Ich bin keiner,trotz meinen 77 Jahren und seit es das Internet gibt,bin ich aber dabei.Das hat mit den HVS,Mini DV, und meinen damals 1999/2000 Geräten (Tower-PC, TOSHIBA-Laptop QOSMIO X70-A-135 und eine SONY
DCR-TRV730E Video-Handy-Camcorder gekauft und natürlich sämtlich mögliche Anschlußkabeln gekauft.Und nicht nur das,sondern Alles was alle 3 Monate Neu auf den Markt geworfen wurde.Dieser Laptop hat 4 USB-Anschlüße,oder wie man in Fachkreisen sagt , Schnittstellen. Und weil ich eben so viele Switscher mit bis zu 8 USB Port-Geräte anschließen kann.Dort hängen dann 8 große Externe Festplatten dran.Und natürlich meine Videocamera.(Keine neue Fotocamera,die seit neuersten auch Videofilme macht).Wie gesagt ich bin nur Laie,und versuche mich durch diesen Jungel durch zubeißen.Und die 2 Garagen voller VHS -DV-Bändern zu bearbeiten.Das ist für einen Laien wie mich eine Mamutaufgabe. Und auch ich bekomme solche Nachrichten,wie hier beschrieben wird.Zusätzlich natürlich zu allen anderen mir schleierhaften Nachrichten,die während der Arbeit dauernd aufploppen.Z.B.will ich diese Historischen Filmmaterialien auf USB-Stick´s sichern.Aber sie werden ja nicht angenommen,weil es angeblich keine Resourcen gibt.Dabei finde ich meine Videocamera auch nicht mehr.Die wird ja angeblich automatisch erkannt.Und durch den USB-Anschluß einfach zu Handhaben.Stimmt nicht! Denn sie wird weder im Gerätemenager noch im Windows Explorer erkannt!Ich arbeite mit Windows 10,und musste sie schon 6x neu installieren,weil der Laptop nicht mehr flüßig reagierte.Immer wieder ploppen da Fehlermeldungen auf.Das macht einen Laien Kirre,-Kirre!Und niemand kann mir helfen!Du auch nicht?? Wenn Du Lösungen hast,dann schick mir die an meine folgende E-Mail: **** Danke!!
—————–
GB: E-Mail-Adresse aus Datenschutzgründen gelöscht – Lösungen ggf. als Kommentar hier hinterlassen.
Hallo Hartmut Zach
Du brauchst ein Laptop mit AMD Prozessor und ein Motherboard wo man mehrere PCI Karten einstecken kann.
PCI-Karten? Im Laptop? Wie das denn?
Und Geräte mit PCMCIA habe ich auch schon viele Jahre nicht mehr gesehen. Gibt's wahrscheinlich gar nicht mehr.
So siehts aus. Manchmal ist das Weglassen pfiffiger Features Verschlimmbesserung. Anstatt die auf schnellere Standards modernisiert beizubehalten. Früher hat gerade diese Schnittstelle Notebooks näher an die Nach- und Aufrüstbarkeiten von Towern gerückt.
Der Schlankheitswahn kostet neuere Notebooks zunehmend Funktionalität und Flexibilität. Akkus reingeklebt, Ausdünnung von Schnittstellen, Wegfall von Opt. Laufwerken deren Einbauplatz dann auch für Caddys wegfällt wenn man lieber mehr als 1. HDD/SSD inside hätte.
Wenn man den Rückschritt bei heutigen Win 11 Notebook Flachheimern sieht könnte man Kotzen das 11 nicht mehr auf i5 und i7 Boliden läuft die noch mit Hand und Fuss gebaut waren und das rein von der Rechenpower locker könnten…
Windows 11 ist eh überbewertet – prüfe lieber, ob dort Linux läuft. Auf die Fehlentwicklung immer flacherer Notebooks unter dem Thema Ultrabooks mit verklebten Akkus hatte ich bereits vor über 10 Jahren hingewiesen, weil die Reparierbarkeit unter aller Sau ist. Hat keinen interessiert.