Hallo, ich bin neu hier (freundliches Hallo in die Runde) und werfe gleich einmal eine für mich extrem schwere Frage und Wunsch nach Infos in den Raum. Die Suchfunktion habe ich natürlich benutzt und auch bei Google mehrere Wochen und über etliche Monate ab und an gesucht. Da ich als Laie die Fachterminologie nicht kenne, habe ich dementsprechend nichts gefunden. Als Laie weiß ich auch nicht genau, wo ich da ohne Fachbegriffe suchen muss. Hier im Forum ist es schon sehr speziell, aber vielleicht ist es genau der Ort, der mir Hilfe bieten kann. Zwecks "Kategorie" und "Forum" hoffe ich, dass ich mit meiner Frage hier richtig bin. Irgendwie scheint das Thema in viele Kategorien zu passen. Ich bin interessiert an Technik, Elektrik, Elektronik usw. und kann als sogenannter "Hausmann" hier und da eine Lampe befestigen, Netzzuleitungen konfigurieren & Stecker/Kupplung anbringen oder hier und da kleinere Lötarbeiten durchführen. Etwas "Basiswissen" für den Alltagsgebrauch ist vorhanden, aber das war es dann auch schon. So, nun zur (speziellen) Frage: Hobbymäßig interessiere ich mich für das Musikmachen und Mixen. Insofern habe ich ein paar Synthesizer und eine Unmenge an USB-Controllern. Es geht um ein USB-Interface bzw. die Grundlagen eines USB-Controllers. Als LAie ist mir nicht ganz klar, warum man manch identische Geräte an den PC stecken kann und dieser einfach "neue" Namen vergibt bzw. angesteckte Geräte selbst fortlaufend nummeriert oder identische Namen möglich sind, aber dies bei anderen Geräten missachtet wird. Insofern möchte ich nicht nur das Problem gelöst haben, sondern auch das "Warum?" verstehen. Beispiel: Habe ich z.B. einen USB-HUB und stecke dort z.B. 10x einen Intenso USB Stick ein, so erscheinen alle brav (Name: Intenso) im Windows Explorer. Im Explorer und auch in anderen Programmen kann ich einzeln auf die Sticks zugreifen. Nun interessiert mich, auch wenn "vermeintlich" der gleiche Name stets erscheint, wie das intern mit den USB-Controllern gehandhabt wird? Problem: Stecke ich z.B. Musikgeräte, Midi-Keyboards usw. per USB an, dann kann ich dummerweise immer nur "ein" GErät ansteuern. Ich möchte aber gerne mehrere identische Geräte -wie dies bei dem USB Stick der Fall ist- anstecken und unterschiedlich benutzen. Nun hatte ich mir als Laie gedacht, da es ja bei unterschiedlichen Geräten geht, dass man da evtl., wenn der Hersteller beim USB irgendetwas festgelegt oder eingestellt hat, etwas selbst ändern kann, sodass beide Geräte erkannt und auch benutzt werden können. Meine Zusatzfrage: Wo wird der Name vom USB-Gerät "wie" festgelegt? Hex? Kann man das "einfach" ändern bzw. ist Hardware vonnöten oder gibt es eine Software, die USB Geräte zwar nicht manipuliert, aber eine ID/NAmensänderung möglich macht? Das mag sich jetzt komisch lesen, aber mich interessiert nicht nur der Hintergrund bzw. warum dies bei manchen Geräten geht und bei anderen nicht, sondern hat auch einen praktischen Nutzen für mich. Wenn ich jetzt z.B. 4x das gleiche Midi-Keyboard (1x Traktor, 1x Laser, 1x DMX, 1x Scanner) benutzen möchte, geht das nicht. Auch wenn ich z.B. mehrere Akai APC anstecke, ist immer ein Gerät blockiert. Nutze ich unterschiedliche Marken, Hersteller usw., dann geht das wunderbar. Geld spielt jetzt nicht so die große Rolle, aber ich würde das schon selbst zerlegen und lösen. Ist mein Wunsch ein Ding der Unmöglichkeit? Geht das so "einfach"? Wo steht denn die ID? Kann man das nicht einfach per Software ändern bzw. eine andere ID/einen anderen Hersteller vorgaukeln? Vielen Dank & Gruß Thomas Nachtrag: Also so, dass ich z.B. 4x das gleiche Midi-Keyboard anstecke, aber es 4x eigenständig separat erkannt und nutzbar wird. Z.B. Akai 001, Akai 002, Akai 003, Akai 004 oder so. Das wäre genial.
:
Bearbeitet durch User
Es gab früher mal Windows Versionen, die Geräte mit gleicher ID und gleichem Namen immer wieder durcheinander gebracht haben. Das ist heute nicht mehr der Fall. Inzwischen wird der physikalische Anschluss (auch an Hubs) mit einbezogen. Spätesten nach einem Reboot hast du in Zukunft immer die selbe Reihenfolge, solange du nichts umsteckst. Ob deine Software mit mehreren gleichen Geräten klar kommt, ist ein anderes Thema. An Windows/Linux/Mac OS liegt es jedenfalls nicht. Wegen dem Umbenennen: Normalerweise melden sich die Geräte mindestens mit einer ID Nummer, oft aber auch mit einem Namen am Betriebssystem an. Der Name kann bei Windows durch eine inf Datei geändert werden. Die kannst du aber nicht einfach so editieren, weil ihr Zertifikat sonst ungültig wird. Ob man den Namen bei Linux und Mac OS ändern kann, weiß ich nicht. Ob deine Programme mit geänderten Namen zurecht kommen ist auch wieder ungewiss. Die ID Nummer ist auf jeden Fall nicht sinnvoll änderbar. Wenn du sie änderst, wird das Gerät gar nicht mehr erkannt (bzw. als "Unbekanntes Gerät"). Windows findet keinen passenden Treiber und auch die Anwendungsprogramme finden ihre Geräte nicht mehr.
Hallo USB Geräte werden anhand von VID (Venrod ID) und PID (Product ID) erkannt. Mit diesen Infos wird der Treiber gesucht. Weiter definiert USB noch je nach Geräte klasse eine Seriennummer. Beim Masstorage (USB Stiks und Co) ist diese Pflicht. Anhand dieser Seriennummer kann jetzt ein einzelnes gerät eindeutig identifiziert werden. Windows sucht dann nicht mehr nach treibern, kann dann diesem Gerät z.B. den letzten bekannten Laufwerksbuchstaben zuweisen (wenn dieser frei ist). Als fallback wird die USB Topologie wie oben beschreiben herangezogen (Das gerät das an Port 4 vom USB Hub 2 der an Port 1 des PCs angeschlossen ist) Mann erkennt das daran, das windows die ganze enumeration / treiber suchen und installieren von vorne anfängt wenn man das Gerät an einem anderen port einsteckt. ( oder wenn die Seriennummer doch nicht eindeutig ist ) Das ganze scheint aber auch von den treibern abhängig zu sein ob diese mehrere Geräte unterstützen, ... Zu XP zeiten, ... 2 USB Sticks mit gleicher VID, PID und Seriennummer, ... egal wo am PC angeschlossen das hat XP mit einem Bluescreen quittiert. gruss
Stefanus F. schrieb: > Wegen dem Umbenennen: Normalerweise melden sich die Geräte mindestens > mit einer ID Nummer, oft aber auch mit einem Namen am Betriebssystem an. Neben den bekannten IDs VID und PID haben korrekte USB-Geräte auch eine individuelle Seriennummer. Stecke zwei identische USB-COM-Adapter wechselweise an den selben USB-Port, und Du bekommst unter Windows verschiedene COM-Nummern. Eine bekannte Ausnahme sind die Chinesen CH340, die haben keine individuelle Kennung - da ist jeder China-Arduino immer auf dem gleichen COM-Port. > Der Name kann bei Windows durch eine inf Datei geändert werden. > Die kannst du aber nicht einfach so editieren, weil ihr Zertifikat sonst ungültig wird. Zertifikat ist eine Sache, es aber es macht schon deshalb keinen Sinn, weil für Devices gleicher IDs stets der selbe Treiber verwendet wird. > Ob deine Programme mit geänderten Namen zurecht kommen ist > auch wieder ungewiss. Das ist der nächste Punkt. Wenn die Musiksoftware den gleichzeitigen Betrieb mehrerer USB-Geräte nicht vorsieht, hat er verloren. > Die ID Nummer ist auf jeden Fall nicht sinnvoll änderbar. Kann man schon, wenn man denn kann - Programmiertool für den USB-Baustein erforderlich. Wenn man ändert, darf man dann einen eigenen Treiber mit angepasster ID bauen, unter Win2000 und XP habe ich sowas schon gemacht. Ist mehr theoretisch, wer das kennt, fragt hier nicht.
Die MIDI-Schnittstelle ist ein eigenständiger Standard. Diese verwenden die runden DIN Steckverbindungen. Der MIDI-Standard kann mehrere Geräte adressieren. Werden Schnittstellenwandler USB - MIDI verwendet, unter Umständen in den angeschlossenen Geräten eingebaut, hat das Ansteuerprogramm die MIDI-Adressen auf die einzelnen USB Schnittstellenwandler aufzuteilen. Hat der Hersteller dieser Schnittstellen beim lizenzieren der USB gespart, werden die gleichen ID von mehreren USB-Schaltkreisen verwendet, so dass Windows diese nicht mehr voneinander unterscheiden kann. Darauf deutet hin, dass Geräte unterschiedlicher Hersteller funktionieren.
Nun, zumindest unter Windows ist es so, dass Geräte anhand der - Vendor-ID (Herstellerkennung) - Produkt-ID - und Seriennnummer unterschieden werden. Zwei gleiche USB-Geräte unterscheiden sich allerdings in der Seriennummern. Anhand dieser drei Informationen wird das Gerät identifiziert und auch wiedererkannt, egal an welcher USB-Buchse es eingesteckt wird. Erlaubt ist auch der Verzicht auf die Seriennummer. In diesem Fall merkt sich Windows die Buchse, an der das Gerät eingesteckt wurde (USB-Geräteadresse). Wird das Gerät auf eine andere USB-Buchse umgesteckt, installiert es die Treiber für dieses Gerät (und für diese Buchse) neu. Auf diese Weise kann Windows immer noch zwischen mehreren gleichen Geräten unterscheiden. Allerdings provoziert man jedesmal eine Treiberinstallation, wenn eine andere Buchse verwendet wird.
Rainer R. schrieb: > Wird das Gerät auf eine andere USB-Buchse > umgesteckt, installiert es die Treiber für dieses Gerät (und für diese > Buchse) neu. Auf diese Weise kann Windows immer noch zwischen mehreren > gleichen Geräten unterscheiden. Allerdings provoziert man jedesmal eine > Treiberinstallation, wenn eine andere Buchse verwendet wird. Na und? Beim ersten Mal hat sich Windows die zu VID:PID passende .inf-Datei in sein Verzeichnis ..\Windows\inf kopiert, dort aber als OEM??.inf. Unter ..\drivers hat Windows die zugehörigen .sys gespeichert, mit deren originalen Namen. Kommt nun ein Gerät mit identischen IDs an einen anderen Port, zeigt Windows kurz an, es habe neue Hardware gefunden. Es greift aber direkt auf die bereits vorhandenen Dateien zu, weder eine Treiber-CD noch eine Internetsuche sind notwendig. Es werden auch keine zusaetzlichen Files abegelegt, also ist das egal.
Natürlich muss man nicht jedes mal eine Treiber-CD einlegen, wenn bei einem USB-Gerät ohne Seriennr. die Buchse gewechselt wird. Aber in der Registry wird jedes mal ein neues Gerät vermerkt! Die Registry wird also mit Geräteeintragungen zugemüllt, was jetzt nicht wirklich dramatisch ist. Das ist aber auch mit ein Aspekt, der Windows mit der Zeit etwas langsamer werden lässt.
Rainer R. schrieb: > Die Registry wird also mit Geräteeintragungen zugemüllt, was jetzt nicht wirklich dramatisch ist. Ersetze zugemüllt durch erweitert. > Das ist aber auch mit ein Aspekt, der Windows mit der Zeit etwas > langsamer werden lässt. Ich halte das für ein Märchen, Neudeutsch "urban legend".
Na ja, ich denke, man kann schon davon ausgehen, dass ein einzelner zusätzlicher Eintrag in der Registry zu keinem Totaleinbruch des Systems führt. Es ist vielleicht vielmehr die Masse an Einträgen, die es ausmacht. Zumindest bis Windows XP hat eine aufgeblähte Registry schon einen Einfluss auf die Boot-Zeit gehabt. Bei den späteren Versionen wurde diesbezüglich einiges optimiert, so dass es heute tatsächlich keine oder kaum eine praktische Auswirkung haben dürfte. Aber man müsste vielleicht mal recherchieren oder untersuchen, ob viele Einträge von Geräten, die gar nicht existieren, auch auf modernen Systemen nicht doch die Boot-Zeit verlängern, schließlich sollte das Betriebssystem ja kontrollieren, ob das, was an Geräten vermerkt ist, auch tatsächlich vorhanden ist.
Moeglicherweise hilft Dir das Programm von Uwe Sieber: https://www.uwe-sieber.de/usbdlm.html https://www.uwe-sieber.de/usbdriveinfo.html Ich selbst verwende dieses Programm um meinen externen USB-Festplatten etc. definierte Laufwerksbuchstaben zu vergeben.Dies kann man ueber verschiedene Parameter tun: z.B. HDD-Groesse,IDnummern etc. Inwiefern es fuer Dich einen Nutzen hat,kann ich so nicht sagen. Das Programm ist einfach,trotzdem man um etwas lesen nicht herum....
Die vielfachen Einträge im Gerätemanager sind bei der Zuordnung virtueller COM-Ports manchmal nervig, weil nicht jedes Programm zweistellige COMx Nummern unterstützt. Manche Uralt-Programme gehen sogar nur bis COM4 (habe ich zum Glück nicht mehr).
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.