Hallo, eben mal mein USB-Device an einer anderen USB-Buchse eingesteckt, es macht PlingPlong - neue Hardware gefunden, Treiber will installiert werden. Also das USB-Device wieder raus und an die sonst übliche Buchse angeschlossen, alles paletti. Ich staune nicht schlecht, denn mein PC hat eine Menge USB-Buchsen. Muss man ein USB-Device an jeder Buchse installieren? Oliver
Oliver K. schrieb: > USB-Device Je Nachdem was drauf ist wird es nur für den einen Port installiert. So wenig wie möglich, so viel wie nötig.
Oliver K. schrieb: > Also das USB-Device wieder raus Und wenn du es drinlässt und die Installation laufen lässt, geht dann der PC kaputt? Wenn nicht ist alles ok oder sogar besser - dein Device wird ja wiedererkannt, soweit man das deinen Angaben entnehmen kann. Viele haben eher Probleme damit dass sie 2 Devices an wechselnden USB-Buchsen nicht unterscheiden können. Georg
Dein Device hat keine Seriennummer. Windows nutzt dann die Information, an welche Buchse es gesteckt ist.
Rainer S. schrieb: > Je Nachdem was drauf ist wird es nur für den einen Port installiert. Interessant. Dachte bisher, eine USB-Buchse ist wie die andere. So wie die Steckdosen in einer Wohnung, überall kommen 230V raus.
> Interessant. Dachte bisher, eine USB-Buchse ist wie die andere.
Bei einer USB-Buchse ist das auch so, bei einem US-Bus aber nicht. .-)
Olaf
Oliver K. schrieb: > Interessant. Dachte bisher, eine USB-Buchse ist wie die andere. So wie > die Steckdosen in einer Wohnung, überall kommen 230V raus. Ist auch so. Nur dein geheimnisvolles USB-Device ist die Ursache.
Georg schrieb: > Und wenn du es drinlässt und die Installation laufen lässt, geht dann > der PC kaputt? Nö, aber das System steht, weil ein Assistent für die Installation neuer Hardware erscheint und von mir Sachen wissen will, die er selber nicht weiß. Das ist für manchen User gleichbedeutend mit PC kaputt.
michael_ schrieb: > Nur dein geheimnisvolles USB-Device ist die Ursache. Richtige Männer haben eine Menge Geheimnisse.
Oliver K. schrieb: > Ich staune nicht schlecht, denn mein PC hat eine Menge USB-Buchsen. > Muss man ein USB-Device an jeder Buchse installieren? Das ist kein generelles USB-Problem, sondern eine Eigenheit von Windows. War dort schon immer so. Mich würde auch mal interessieren, wie die den USB-Stack so verkorkst haben, dass das nötig ist. Sei froh, dass man nicht wie früher nach so einer Aktion erstmal rebooten muss.
Ist bei Windows nicht immer so, sondern nur bei Devices ohne Seriennummer. Z.B. mein SanDisk USB-Stick wird an jeder Buchse ohne Treiberinstallation gefunden, während viele billige Sticks jedesmal eine Treiberinstallation erfordern.
Mit billig oder WIN hat es nichts zu tun. Mein Laserdrucker war bestimmt nicht billig.
michael_ schrieb: > Mit billig oder WIN hat es nichts zu tun. > Mein Laserdrucker war bestimmt nicht billig. Und der macht das nicht nur bei Windows, sondern bei allen Betriebssystemen?
Rolf M. schrieb: > sondern eine Eigenheit von Windows. > War dort schon immer so. Mich würde auch mal interessieren, wie die den > USB-Stack so verkorkst haben, dass das nötig ist. Ich weiß nicht, wie dein Betriebssystem Geräte ohne Seriennummer auseinanderhält, aber bei Windows ist das meines Erachtens völlig einwandfrei gelöst. Steckst du beispielsweise einen "USB-zu-seriell-Wandler" mit Seriennnummer an, kannst du alle USB-Ports durchprobieren, es wird nur einmal eine Treiberinstallation durchgeführt und an jedem Port wird derselbe COM-Port erreichbar sein. Hast du hingegen einen ohne Seriennummer, hast du an jedem USB-Port auch einen neuen COM-Port. Wie macht dein Betriebssystem das? (Ich nehme an Linux?) Fängt das nach jedem Reboot wieder bei ttyUSB0? Das fände ich jedenfalls schlechter...
Rolf M. schrieb: > Und der macht das nicht nur bei Windows, sondern bei allen > Betriebssystemen? Weiß ich nicht. Nutze Linux nur sporadisch und schließe den da auch nur selten an. Aber eigentlich meine ganzen älteren Tintenstrahler, Fotodrucker, Dymo-Dr., Scanner wollen an jedem Eingang neu installiert werden. Geht aber automatisch.
Michael schrieb: > Rolf M. schrieb: >> sondern eine Eigenheit von Windows. >> War dort schon immer so. Mich würde auch mal interessieren, wie die den >> USB-Stack so verkorkst haben, dass das nötig ist. > > Ich weiß nicht, wie dein Betriebssystem Geräte ohne Seriennummer > auseinanderhält, aber bei Windows ist das meines Erachtens völlig > einwandfrei gelöst. Es geht nicht um das Auseinanderhalten von verschiedenen Geräten, sondern darum, dass für jeden USB-Port, an dem ein Gerät angeschlossen wird, der Treiber neu installiert werden muss. Was hat das mit der Zuordnung der Geräte zu tun? > Wie macht dein Betriebssystem das? (Ich nehme an Linux?) Fängt das nach > jedem Reboot wieder bei ttyUSB0? Das fände ich jedenfalls schlechter... Ich kann es mir aussuchen über entsprechende udev-Rules.
> Mein Laserdrucker war bestimmt nicht billig.
Mein aktueller Laserdrucker ist vom Schrott, und hat
einen Ethernetprintserver und kann nebenbei auch noch
Postscript.
Ob er USB hat, weiss ich gar nicht.
Vor dem Verschrotten hat man sogar noch eine volle
Tonerkassette eingesetzt.
Qualitaet ist, wie man sieht, nicht an den bezahlten
Preis gebunden.
Rolf M. schrieb: > Es geht nicht um das Auseinanderhalten von verschiedenen Geräten, > sondern darum, dass für jeden USB-Port, an dem ein Gerät angeschlossen > wird, der Treiber neu installiert werden muss. Was hat das mit der > Zuordnung der Geräte zu tun? Genau das macht Windows ja nicht. Wenn ein Gerät eine Seriennummer hat, wird genau einmal ein Treiber beim ersten Einstecken installiert. Danach kannst du es an jeden beliebigen USB-Port stecken, anhand der Seriennummer (und natürlich VID/PID) erkennt Windows das Gerät wieder und lädt den bereits installierten Treiber. Hat das Gerät jedoch keine Seriennummer weiß Windows nicht, dass es sich um dasselbe Gerät handelt und installiert bei jedem weiteren Port, an dem du das Gerät ansteckt, den Treiber neu. Ich wüsste auch nicht, wie man das sinnvoll anders lösen könnte. Eine einzelne Treiberinstallation reicht bei zwei Geräten (oder einem aber ununterscheidbaren Gerät) nicht, da jede Treiberinstallation eine andere Konfiguration haben kann (beim COM-Port beispielsweise die Baudrate).
Michael schrieb: > Rolf M. schrieb: >> Es geht nicht um das Auseinanderhalten von verschiedenen Geräten, >> sondern darum, dass für jeden USB-Port, an dem ein Gerät angeschlossen >> wird, der Treiber neu installiert werden muss. Was hat das mit der >> Zuordnung der Geräte zu tun? > > Genau das macht Windows ja nicht. Wenn ein Gerät eine Seriennummer hat, Ja, wenn… > Hat das Gerät jedoch keine Seriennummer weiß Windows nicht, dass es sich > um dasselbe Gerät handelt und installiert bei jedem weiteren Port, an > dem du das Gerät ansteckt, den Treiber neu. Es könnte aber wissen, dass es sich um den selben Typ von Gerät handelt, der schon mal angeschlossen war. Man braucht ja in der Regel nicht einen Treiber pro Gerät, sondern einen pro Gerätetyp. > Ich wüsste auch nicht, wie man das sinnvoll anders lösen könnte. Eine > einzelne Treiberinstallation reicht bei zwei Geräten (oder einem aber > ununterscheidbaren Gerät) nicht, da jede Treiberinstallation eine andere > Konfiguration haben kann (beim COM-Port beispielsweise die Baudrate). Warum sollte ein Treiber nicht mehrere Geräte bedienen können, die unterschiedlich konfiguriert sind?
Gerader Ast schrieb: > Z.B. mein SanDisk USB-Stick wird an jeder Buchse ohne > Treiberinstallation gefunden, während viele billige Sticks jedesmal eine > Treiberinstallation erfordern. Was ist das für ein merkwürdiges Betriebssystem?
Da staunst du, was? Unter W98 war das noch so. Rolf M. schrieb: > Warum sollte ein Treiber nicht mehrere Geräte bedienen können, die > unterschiedlich konfiguriert sind? Wird ja auch gemacht. Wenn man den Gleichen Drucker mehrmals hat. Löscht man diese, wird man erst beim letzten gefragt, ob man den Treiber physisch entfernen möchte. Es wird auch Unterschiede zwischen Datenspeicher und Geräten wie Druckern geben. Datenspeicher brauchen nicht konfiguriert werden. Bei Druckern u.ä. ist das sogar ein Vorteil. An einem Port als SW-Drucker und am anderen Anschluß als Farbe.
Rolf M. schrieb: > Warum sollte ein Treiber nicht mehrere Geräte bedienen können, die > unterschiedlich konfiguriert sind? Der Treiber existiert physisch im Dateisystem auch tatsächlich nur einmal. Wenn der fünfmal installiert wird (wegen der fünf USB-Ports) bedeutet das letztlich nur, dass in der Registry die notwendigen Eintragungen erzeugt werden. Nur bei der ersten Installation des Treibers werden tatsächlich Dateien auf die Festplatte kopiert. Außerdem ist dieser ganze Vorgang gar nicht so abenteuerlich, wie hier manche annehmen. Man wechselt den USB-Port, es erscheint "neue Hardware gefunden", dann irgendwann "das Gerät kann jetzt verwendet werden". Dieser Vorgang dauert vielleicht zehn Sekunden maximal. Einzig das erste Vorkommen eines neuen Geräts, für das Windows keinen Treiber mitbringt, dauert länger, da zunächst online gesucht wird - und erst dann - wenn dies zu keinem Erfolg führt, belästigt Windows den Anwender mit dem Dialog in dem man den Pfad zum Installationsverzeichnis angeben soll. Aber auch hier muss man nur bei einer Mehrdeutigkeit selbst Hand anlegen. Ist das Treiber-Beschreibungs-File (*.inf) eindeutig, macht Windows alles selbst. Ist das File nicht eindeutig bekommt man eine Liste aller Möglichkeiten und muss das richtige Device selbst auswählen. Ich entwickele seit vielen Jahren USB-Geräte. Wenn die Descriptors okay sind, gibt es keine Probleme beim Anwender. Meistens sind die USB-Geräte schrottig implementiert. Selbst "Compound-Devices" mit vielen Interfaces (HID, CDC, MSD) installiert Windows seit vielen Jahren ohne irgendein Mucken völlig automatisch. Probleme kommen meistens durch fehlende Seriennummer, proprietäre Treiber, fehlende oder ungültige Code-Signatur und schlechte Implementierung der Standby-Geschichte. Wenn man seinem Device eine Seriennummer gibt und sich an die Standardgeräteklassen hält, so dass Windows mit Bordmitteln auskommt, kann gar nichts schief gehen.
Michael schrieb: > Der Treiber existiert physisch im Dateisystem auch tatsächlich nur > einmal. > > Wenn der fünfmal installiert wird (wegen der fünf USB-Ports) bedeutet > das letztlich nur, dass in der Registry die notwendigen Eintragungen > erzeugt werden. Für Eintragungen in der Registry braucht es 20 Sekunden? Habe hier zwei verschiedene USB-Geräte der gleichen Geräteklasse (Datenlogger) vom gleichen Hersteller. Der Hersteller hat insgesamt 6 verschiedene solche USB-Geräte im Programm und einen Treiber für alle Geräte. In der *.inf Datei findet man die VID/PID von allen 6 Geräten gelistet. Beim ersten Einstecken von Gerät 1 wird der Treiber geladen und es rödelt ca. 20 sec. Stecke ich nun an der gleichen Buchse das Gerät 2 ein, dann rödelt es erneut 20 sec. Nur für Einträge in der Registry etwas lange, wie ich finde.
Ich habe gerade mal spaßeshalber per Smartphone-Timer nachgemessen: Eine 0815-China-Webcam und ein ft232r-Adapter sind bei mir hier nach Umstecken in einen anderen Port jeweils binnen 2s verwendbar. Damit hätte ich ehrlich gesagt nicht gerechnet, gefühlt kam mir das auch immer recht langsam vor. Könnte ggf. dem geschuldet sein, dass die Anzeige der "...ist eingerichtet und kann verwendet werden"-Meldung der Realität teilweise sogar mehr als 10 Sekunden hinterher hängt - Ich vermute fast das Windows die aus irgendwelchen Gründen absichtlich verzögert ausgibt. Ein zuvor noch nicht angeschlossen gewesener "RD9700"-USB-Ethernet-Adapter war nach knapp 4s einsatzbereit (wenn ich vorheriges googlen nach einem passenden Treiber nicht mitzähle - Verflucht seine die Hersteller, die ihre Treiber nicht per Windows Update verfügbar machen. Mitgezählt ist allerdings die Treiber-Vorinstallation per dpinst) Umstecken in anderen Port dann erneut fast genau 2s bis der Netzwerkadapter auftauchte und anfing per DHCP eine IP zu beziehen. Andere USB-Geräte habe ich gerade leider nicht zum Testen zur Hand. Könnte mir aber gut vorstellen, das sehr lange Initialisierungszeiten womöglich an den jeweiligen Treibern selbst liegen könnten. (Getestet unter Windows 10 (19042, x64) auf Ryzen 5 1600X mit Samsung 970 EVO SSD)
Es wäre mir unter Windows allgemein nicht anders bekannt. Dort brauche es für JEDE USB Buchse erneut den Treiber... :-(
Gerader Ast schrieb: > Ist bei Windows nicht immer so, sondern nur bei Devices ohne > Seriennummer. Wenn man mehere Devices des gleichen Typs hat, dann passiert das auch bei Seriennummern wieder, weil für jede Seriennummer dann ein Eintrag angelegt wird. Es bleibt dabei: Die USB-Implementierung auf Windows ist krank. Es muss absolut nichts installiert oder gespeichert werden, denn USB-Devices tragen die Informationen welcher Treiber zu ihnen gehört in sich. Linux und MacOS zeigen auch, dass es richtig geht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.