mikrocontroller.net

Forum: PC Hard- und Software USB - Die Frage aller Fragen!


Autor: Udo Boorler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Udo Boorler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: derWarze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: SiO2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jupp: 100ACK. Ich bin auch dafür, daß man für jedes Fahrzeug einen 
extra Führerschein braucht.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: USB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: derWarze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: USB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Marco S. (masterof)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.