Hallo! Nach ewiger Diskussion mit einem Bekannten von mir, möchte ich nun Klarheit schaffen und von Fachleuten folgende Frage beantwortet bekommen: Ist es tatsächlich so, dass bei PCs mit USB-Anschluss NICHT egal ist, wo ich die Peripherie anschließe, wenn beispielsweise Treiber installiert sind, um die Hardware zum laufen zu kriegen? Warum sonst, sollte dann immer "Neue Hardware gefunden" auftauchen, wenn man den USB mal in eine andere USB-Buchse am PC stöpselt? Ich finde das zudem richtig doof, weil man sich ja nicht die ganze USB-Peripherie auswendig lernen kann, an welcher Stelle z.B. am Notebook der Drucker, die Maus, das Handy usw. steckte. Gibt es da ein Tool oder ähnliches, was oben genanntes Problem umgehen kann? Danke!
Das hat mich auch schon geärgert, ist aber zum Glück nur bei Windows so. Dort scheinen aus unerfindlichen Gründen Treiber nicht an das Peripheriegerät, sondern an den USB-Port gebunden zu sein. Unter Linux ist es bspw. völlig egal, an welchen Port welches Gerät angeschlossen wird. Ein Treiber ist immer für alle Ports zuständig.
Das heißt also, dass es ein "Mist" in der Software unter Windows ist und durch ein Tool das problem ggf behoben werden könnte. Hat jemand ein solches Tool?
Das liegt nicht an Windows sondern an den Treibern. zum beispiel muss man FTDI USB-Serialports nur je Gerät einmal irgendwo anstecken, danach ist es egal, wo man es ansteckt, es behält die virtuelle COM-Port Nummer und es wird kein Treiber mehr verlangt. Bei den meisten USB-Sticks genauso. Bei Druckern usw hat man das allerdings öfters. Das lässt sich umgehen, indem man jedes neue Gerät einmal an alle USB Ports anschließt. Dann ist Ruhe. Das ist aber definitiv ein Problem des Treibers und nicht von Windows selber. Ich meine, dass es daran liegt, ob im USB Descriptor eine Serialnummer vergeben ist oder nicht, und außerdem der Treiber digital signiert ist. Wie genau die beiden Faktoren allerdings zusammen hängen, hab ich noch nicht vollständig durchschaut.
Genau das Ärgert mich auch öfters, da ich diverse USB Geräte öfters zwischen Werkstatt und Büro/Labor wechseln muss und gerade hat man die passende Treiberdatei gerade nicht da. So ein Tool für Windoof wäre wirlich sehr hilfreich. Wenn sich die Peripheriehersteller sich endlich mal dazu durchringen könnten immer Linux-Treiber bzw. passende Linux-Software mitzuliefern wär es um vieles leichter ganz auf Linux umzusteigen.
>Unter Linux ist es bspw. völlig egal, an welchen Port welches Gerät >angeschlossen wird. Ein Treiber ist immer für alle Ports zuständig. Woran man wieder schön die Frickelbaustelle sehen kann.
@Jupp: 100ACK. Ich bin auch dafür, daß man für jedes Fahrzeug einen extra Führerschein braucht.
derWarze wrote: > Genau das Ärgert mich auch öfters, da ich diverse USB Geräte öfters > zwischen Werkstatt und Büro/Labor wechseln muss und gerade hat man die > passende Treiberdatei gerade nicht da. > So ein Tool für Windoof wäre wirlich sehr hilfreich. Wie stellst du dir das vor? Was soll das für ein Tool sein. Ein Gerät braucht einen Treiber. Fertig. Unter Windos, wie unter Linux. Und wenn der Treiber so gestaltet ist, dass er nur immer an einem USB port geht, dann kann da auch kein Tool was machen, da musst du dich beim Treiber-Hersteller beschweren.
Das Hauptproblem bei USB ist die nicht eindeutige Zuordnung von Gerät und Device-Namen bei mehreren gleichen Geräten. Jedes Gerät hat eine eindeutige ID, aber weiter runter geht es nicht. Wenn also 4 AVR-USB-Programmiergeräte am PC hängen, können die nur durch den jeweiligen USB-Port unterschieden werden. Die FTDI-Chips können über das EEProm personalisiert werden und danach ist es egal an welchen Port sie stecken, sie bekommen immer einen eindeutigen Device-Namen im System (z.B. COM99).
Bezog mich auch auf den Post oben. Das der Treiber schon auf den Geräten installiert ist ist doch klar. Es geht doch darum das nicht, vorausgesetzt der Treiber ist schon im Systen installiert, beim anstecken an einen anderen USB-Port am Gerät der Treiber noch einmal installiert werden muss. Der USB Port an dem das Gerät bei der Installation steckt wird also irgendwo in der Registry gespeichert. Es sollte doch möglich sein irgendwie dem System beizubringen das angesteckte Gerät an jedem Port zu erkennen und dann dem ja schon in System befindlichen Treiber zu benutzen. Wie die Geräte erkannt werden ist schon klar, es geht aber darum das Windows dort offenbar noch zusätzlich mitmischt. Da das Problem offenbar bei vielen verschiedenen Geräten (Drucker, Scanner, USB-Scopes ...) auftritt müsste doch der Fehler im Win-System liegen oder sollten etliche Gerätehersteller den selben Fehler machen. Leider kann ich nicht testen ob die fraglichen USB Teile das auch unter Linux machen da es dafür keine Linux Treiber gibt.
Sowas gibt es unter Linux nicht. Unter Windows wird das System für diese seltsame Geschichte verantwortlich sein und nicht der Treiber. Das sieht man ja schon an der Installation: "Stecken sie bloß nicht das Gerät vor der eigentlichen Treiberinstallation an den Computer". g
USB wrote: > Sowas gibt es unter Linux nicht. > Unter Windows wird das System für diese seltsame Geschichte > verantwortlich sein und nicht der Treiber. Quatsch mit Soße. Das liegt definitiv am Treiber und der USB Hardware. Wir entwickeln selber hier Hardware, da kommt in die Descriptoren immer eine Serialnummer. Da gibts ja ein extra 8 Byte langes Feld dafür. Steht die drin, muss man das Gerät nur einmal anstecken, es ist ja dann eindeutig gekennzeichnet. Genauso ist es bei den FTDI Chips, wenn die Seriennummer vergeben ist und sich von den anderen Nummern der gleichen VID/PID Kombination im System unterscheidet, kann das System den Treiber sofort zuordnen. Kann man sich übrigens mit USBView anschauen. > Das sieht man ja schon an der > Installation: "Stecken sie bloß nicht das Gerät vor der eigentlichen > Treiberinstallation an den Computer". *g* Ist doch Unsinn, sowas hatte ich noch nie. PC immer komplett zusammen gebaut, und dann installiert. Niemals Probleme gehabt. Nicht alles glauben, was in der ComputerBild steht.
Kann auch bestätigen, dass es definitiv am Treiber liegt. Im Treiber wird definiert, ob er an einen spezifischen Port gebunden sein soll oder nicht. Je nach Anwendung kann es auch Sinn machen je nach Port einen anderen treiber zu verwenden. Aber wie gesagt, an Windows liegt es definitiv nicht, sondern am Entwickler, der am Treiber die entsprechenden Einstellungen vorgenommen hat.
ich habe mal ein 8-Port-USB-Hub anschließen müssen. Dieses Mistding hat 8 mal nach dem selben Treiber verlangt und die Dateien wurde 8 mal in den system32-Ordner kopiert. Ist doch irre, oder?
Das muss aber ein ganz besonderer Hub gewesen sein, daß das OS beim Anschließen nach einem Treiber verlangt. Wozu gibt es Standardgeräteklassen? Und der Treiber ist dann offensichtlich von retardierten Affen "geproggt" worden.
Hallo Christian, Das Problem ist Windows. Schlisse ich den USB/RS232-Konverter an den linken USB-Port an hat der den COM-Port 2 , in der mitte den COM5 und am rechten Port ist es COM-Port 15. Noch besser wird es mit Bluetooth-Stack von Windows. Mittlerweile ist mein Laptop bei COM-Port COM46 angekommen. Wenn du mal Zeit hast. Höre dir bitte mal den Padcast vom CCC an, über das Thema USB http://chaosradio.ccc.de/cre086.html . gruß Marco
Nein, das Problem ist nicht Windows, sondern in Deinem Falle ein nicht eineindeutig identifizierbarer USB-Seriell-Konverter. Der hat keine Seriennummer, und kann daher nicht eineindeutig erkannt werden. Vernünftige USB-Seriell-Konverter haben eine Seriennummer, und die Zuordnung COM-Nr zu Konverter erfolgt aufgrund dieser Seriennummer. Wenn aber keine Seriennummer vorhanden ist, dann erfolgt die Zuordnung anhand des verwendeten USB-Ports. Und das ist auch sinnvoll; stell' Dir einfach mal vor, daß Du zwei oder gar drei identische USB-Seriell-Konverter hast.
Ganz genau, das ist ein Feature und kein Fehler. Die Linux Fritzen können das ja schlecht besser lösen wenn keine eindeutige Seriennummer im USB Gerät vorhanden ist.
Marco Schwan wrote: > Hallo Christian, > > Das Problem ist Windows. > Schlisse ich den USB/RS232-Konverter an den linken USB-Port an hat der > den COM-Port 2 , in der mitte den COM5 und am rechten Port ist es > COM-Port 15. Noch besser wird es mit Bluetooth-Stack von Windows. Nein, ist es definitiv nicht. Der Adapter ist Murks, er hat keinen Serial-Nummern-String im USB Descriptor. Die von FTDI haben den, ich hab immer den gleichen COM-Port, egal, wo der dran steckt. hab sogar einen Aufkleber am Kabel, welcher COM das ist. Unsere eigene USB Hardware hat den auch drin, auch da ist es egal, wo man die ansteckt. > Mittlerweile ist mein Laptop bei COM-Port COM46 angekommen. Aus dem Gerätemanager die alten deinstallieren. Vorher ausgeblendete Geräte anzeigen lassen.
Unter Windows funktioniert USB in mehreren Belangen nicht richtig. Wieso kann ich unter Windows z.B. keine USB-Sticks partitionieren, wohingegen das mit externen USB-Festplatten funktioniert? Unter Linux ist das alles kein Problem. http://www.heise.de/ct/08/15/166/
USB funktioniert auch mit Windows richtig. Windows lässt allerdings das Partitionieren von "Wechseldatenträgern" generell nicht zu, das aber hat nichts mit USB zu tun. Ein USB-Stick oder auch eine CF-Karte ist ein "Wechseldatenträger", eine Festplatte nicht. Auch eine direkt am IDE-Bus hängende CF-Karte kann mit Windows nicht partitioniert werden, weil sie sich auch dort als "Wechseldatenträger" identifiziert. Das mag eine beknackte Eigenschaft von Windows sein, hat aber eben mit USB nichts zu tun.
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.