Wie bereinige ich verwendete COM-Ports?

36

Wie bereinige ich diese verwendeten COM-Anschlüsse? Bildbeschreibung hier eingeben

Die COM-Port-Nummern scheinen immer von etwas belegt zu sein und obwohl ich momentan nur 4 serielle Ports (3 über Bluetooth und einen USB zu RS-232) habe, habe ich zahlreiche COM-Ports als belegt eingestellt. Ich möchte diese Liste ein bisschen aufräumen.

Außerdem scheint es mir, dass von Zeit zu Zeit einer der belegten COM-Anschlüsse freigegeben wird und dann eines der von mir verwendeten Geräte diese Nummer verwendet, was Verwirrung stiftet, da ich seine COM-Nummer im Geräte-Manager suchen muss .

AKTUALISIEREN:

Nun, ich habe gerade unzählige USB-Geräte aufgeräumt, die einmal mit USBDeview an den Computer angeschlossen waren, und das Problem bleibt weiterhin bestehen.

AndrejaKo
quelle

Antworten:

33

Führen Sie den Geräte-Manager über die Befehlszeile mit erhöhten Rechten aus:

> set DEVMGR_SHOW_NONPRESENT_DEVICES=1
> devmgmt.msc

Aktivieren Sie "Versteckte Geräte anzeigen" im Menü und deinstallieren Sie abgeblendete COM-Anschlüsse.

Grawity
quelle
1
Die versteckten seriellen Schnittstellen scheinen nicht die Hauptursache für das Problem zu sein. Wie erwartet habe ich zahlreiche Instanzen von seriellen Ports gefunden, die von meinem USB-zu-RS-232-Adapter erstellt wurden, aber selbst wenn sie bereinigt wurden, sind immer noch 11 zusätzliche COM-Ports als belegt festgelegt.
AndrejaKo
1
@AndrejaKo: Hast du irgendwelche Geräte unter "Modems" aufgelistet? Sie belegen jeweils 1 serielle Schnittstelle.
Grawity
Ja, aber es gibt nur ein Modem.
AndrejaKo
Dies funktioniert, aber das Einstellen der Systemvariablen, wie in der Antwort @Michael Herman zu sehen, ist IMHO besser und die Ansicht im Geräte-Manager "Versteckte Geräte anzeigen" funktioniert danach. Ich weiß nicht, warum MS diese Systemvariable auf meinem PC standardmäßig deaktiviert hat.
Tom Kuschel
Dies funktionierte für mich unter Windows 7 64-Bit Enterprise Edition über eine Eingabeaufforderung mit erhöhten Rechten
Tahir Khalid,
28

Ich fand eine nützliche Antwort unter Wie lösche oder setze ich den COM-Port zurück?

  1. Klicken Sie auf Start → Ausführen → Typ regeditund klicken Sie auf OK
  2. Navigiere zu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
  3. Jetzt können Sie auf der rechten Seite den Schlüssel sehen ComDB. Klicken Sie mit der rechten Maustaste darauf und klicken Sie auf Ändern
  4. Wählen Sie im Abschnitt Wertdaten alle aus und löschen Sie das Zurücksetzen auf Null ( 0).
    Seine 32 Bytes mit 8 Bits in jedem Byte in hexadezimaler Darstellung. Ein Bit mit dem Wert 1 reserviert eine Portnummer (1 ... 256). Die ersten 8 Ports befinden sich in zwei ganz linken Hexadezimalwerten, wobei die Bits von rechts nach links von unten nach oben aufsteigen, die nächsten 8 Ports in den zweiten beiden und so weiter: hex F3 24wäre binär 1111 0011 0010 0100, was bedeutet, dass die folgenden Ports verwendet werden: 1, 2, 5, 6, 7, 8( 1111 0011)und 11, 14( 0010 0100). Bildbeschreibung hier eingeben
  5. Schließen Sie den Registrierungseditor und starten Sie Ihren Computer neu. Wenn Sie den Wert auf 0alle COM-Ports setzen, sind diese frei.

Möglicherweise müssen Sie einen USB-Seriell-Konverter neu installieren.

Hockeyplatz
quelle
1
Willkommen beim Superuser. Ich habe Ihre Antwort bearbeitet und weitere Details hinzugefügt. Fühlen Sie sich frei, Ihren Beitrag bei Bedarf zurückzusetzen.
Nixda
Sieht interessant aus! Ich werde es ausprobieren und die Ergebnisse berichten.
AndrejaKo
Nein, ich habe das genau befolgt und es hat keinen von ihnen entfernt.
Bob Brunius
@ Nixda ist es nicht 1,2,5,6,7,8, 11,14 ?
Kimliv
@kimliv Ich habe diesen Teil der Antwort nicht eingefügt. Das war der Redakteur nach mir :) Also musst du ihn fragen
nixda
13

Vielen Dank für all die Ratschläge oben. Ich habe Software geschrieben, um die Registrierung automatisch zu bereinigen, aber obwohl die Bereiche Hardware, Software und Arbiter angepasst wurden, wurden die Phantom-COM-Port-Einträge NICHT entfernt. Selbst ein Neustart mit entferntem Gerät "USB to 2Serial Port" hat das System nicht ordnungsgemäß aufgeräumt.

Die Anweisungen in diesem PDF funktionierten jedoch ordnungsgemäß:

Für Win7 habe ich die Anweisungen in dieser PDF-Datei wie folgt angepasst:

  1. Klicken Sie auf Start / (Rechtsklick :) Computer / Eigenschaften / Erweiterte Systemeinstellungen (nicht Geräte-Manager)
  2. Klicken Sie auf Umgebungsvariablen
  3. Klicken Sie im unteren Bereich der Systemvariablen auf Neu
  4. Variablenname eingeben: DEVMGR_SHOW_NONPRESENT_DEVICES
    Variablenwert eingeben : 1
  5. Klicken Sie auf OK (beendet die Umgebung)
  6. Klicken Sie auf OK (beendet die Systemeigenschaften)

  7. Klicken Sie auf Start. Geben Sie in das Befehlsfeld Verwalten ein. Dies zeigt das Fenster Computerverwaltung ...

  8. Klicken Sie auf Geräte-Manager
  9. Klicken Sie auf "Anzeigen" und wählen Sie "Versteckte Geräte anzeigen"
  10. Klicken Sie auf
    Anschlüsse (COM & LPT). Nun werden alle Anschlüsse (schwarzer Text) und Phantom (grauer Text) angezeigt.
  11. Klicken Sie nacheinander mit der rechten Maustaste auf die Phantom-Ports und wählen Sie Deinstallieren

Dies sollte Ihr System nun von unerwünschten Phantom-USB-Anschlüssen befreit haben.

Hinweis: Nachdem ich alle meine Phantom-Ports gesäubert habe und nur "COM1" übrig gelassen habe, wird in meiner Registrierung Folgendes angezeigt:

Hardware:   COM1
Software:   COM1, COM2, COM3, COM4, COM5
Arbiter:    COM1, COM2, COM3

Wenn Sie mit der rechten Maustaste auf Computer / Eigenschaften / Geräte-Manager / Anschlüsse klicken, wird nur COM1 angezeigt. Klicken Sie mit der rechten Maustaste auf COM1 / Properties / Port Settings / Advanced, um COM1 mit COM2 "in use" und COM3 "in use" anzuzeigen. Alle anderen Einstellungen bis zu 7, die "in Verwendung" waren, werden jetzt freigegeben. Daher scheint nur die Einstellung "Arbiter" dem Win7-System mitzuteilen, was wirklich "in Benutzung" ist. Das Computerverwaltungssystem hat den Arbiter bereinigt, aber den Softwarebereich nicht bereinigt ...

... viele sind die Geheimnisse von Microsoft ...

Michael Herman
quelle
Diese Einreichung hat viel zu viele Formatierungsfehler für meinen Geschmack. Nehmen Sie sich Zeit, um Ihren Beitrag zu formatieren, und ich werde meine Stimme umkehren.
Ramhound
überrascht, dass diese Antwort keine Gegenstimmen hat, da es die einzige Antwort ist, die mein Problem auf Win7
bas am
Wow, ich hatte eine Menge unbenutzter Ports zugeordnet. Obwohl ich noch nie Probleme mit der Zuordnung zu einem "in Gebrauch" -Port hatte, ist seine nette Zimmerreinigung.
Ninga
PDF Fehlerhafter Link. Wo in der Registrierung ist "Hardware, Software Arbiter"? Gibt es noch andere Anweisungen, die übertragen werden sollten, aber im PDF verloren gingen?
Assimilater
8

Beheben von Problemen mit dem USB-Treiber

Methode mit erhöhter Eingabeaufforderung

Geben Sie cmd in die Suchleiste ein und klicken Sie mit der rechten Maustaste auf cmd.exe und wählen Sie Als Administrator ausführen

• 1. Stufe Wie an der Eingabeaufforderung erläutert; set devmgr_show_non_present_devices = 1 devmgmt.msc

    Under Ports (Com & LPT) delete all instances of  prolific USB to Serial Comm Port

• Zweite Stufe erneut über die Eingabeaufforderung mit erhöhten Rechten - Entfernen Sie die Treiberpakete aus dem Treiberspeicher. Der Treiberspeicher ist ein geschützter Bereich des Computers, der Gerätetreiberpakete enthält, die für die Installation auf dem Computer genehmigt wurden

    You need to Identify OEM#.inf  where # is a number so type 
        pnputil.exe -e      (then enter)

    Read the entries in the output to find the description of your package(s) and its file name(s)


    Its highly likely you will have multiple entries from previous attempts.

Notieren Sie sich alle OEM ###. Inf-Instanzen des produktiven Treibers, wobei # (Hash) die Nummer ist.

    To remove entries type:
        pnputil.exe -d  oem###.inf

(Verwenden Sie ein Leerzeichen zwischen exe & - und d & Oem und drücken Sie die Eingabetaste.) Ersetzen Sie # durch die Nummer der zu löschenden inf-Datei.

Wenn der Computer meldet, dass das Treiberpaket von einem derzeit installierten Gerät verwendet wird, müssen Sie entweder zuerst das Gerät deinstallieren oder den Befehl -f im Befehl pnputil verwenden, um das Löschen des Pakets zu erzwingen.

Möglicherweise ist auch ein Treiberpaket als Programm geladen, das über die Systemsteuerung / Programme / deinstalliert werden muss.

Wenn Sie dies alles tun, bevor Sie das richtige Treiberpaket laden, und versuchen, das Com-Gerät im selben Anschluss zu belassen, anstatt es um die Anschlüsse herumzuführen, treten weniger Probleme mit dem Produktivtreiber auf.

Antonius
quelle
1

Ich fand, dass dieses Tool für dieses Problem hervorragend funktioniert.

Device Remover https://www.majorgeeks.com/files/details/device_remover_543c.html

Laden Sie es einfach hoch, klicken Sie auf "Anzeigemodus", "Nur ausgeblendete / getrennte Geräte anzeigen", " Anschlüsse" markieren (wodurch alle nicht verwendeten COM-Anschlüsse ausgewählt werden), klicken Sie dann auf "Alle markierten entfernen" und bestätigen Sie das Entfernen, wenn die Warnung angezeigt wird erscheint.

Prost!

~ Andrew

EmpoweringSolutions.net

EmpoweringSolutions.net
quelle
0

Ich habe eine einfache Lösung, die für mich funktioniert hat ... meine Anzahl war bis zu 45 COM-Ports im Einsatz!

1) Öffnen Sie den Geräte-Manager

2) Wählen Sie im Menü "Ansicht" die Option "Versteckte Geräte anzeigen".

3) Erweitern Sie die Kategorie 'Anschlüsse (COM & LPT)' aus der Liste

4) Klicken Sie mit der rechten Maustaste auf alle Geräte und entfernen Sie sie (zum Löschen des Treibers ist kein Häkchen erforderlich).

5) Wählen Sie im Menü "Aktion" die Option "Nach neuen Geräten suchen".

6) Bratsche! Alle tatsächlichen Geräte werden von COM1 neu zugewiesen

Paul Pritsis
quelle
1
Voila nicht Bratsche
Jason S
Dies wurde bereits in einer bestehenden Antwort vorgeschlagen .
Gast-vm
0

Diese haben bei mir nicht funktioniert. Aber die offizielle Microsoft-Hilfeseite hat bei mir funktioniert.

Von https://support.microsoft.com/en-us/kb/222018

  • Klicken Sie im Ordner Drucker im Menü Datei auf Servereigenschaften.
  • Klicken Sie auf die Registerkarte Anschlüsse, klicken Sie auf den Anschluss, den Sie entfernen möchten, klicken Sie auf Anschluss löschen, und klicken Sie dann auf OK.
Nasif Md. Tanjim
quelle
1
Funktioniert dies tatsächlich für serielle Schnittstellen unter Windows 7? Außerdem sollten Sie den Linkinhalt in Ihrer Antwort zusammenfassen, anstatt nur den Link anzugeben, falls der Link rot wird.
AndrejaKo
Link rot ist passiert - verlinkte Seite existiert nicht mehr
sdbbs
-1

(Für diejenigen, die von Google kamen)

Wenn die vorherige Antwort nicht funktioniert und Windows Mobile 6 SDK installiert hat. Möglicherweise liegt ein Problem mit XPVCOM.SYS vor (dieser Treiber hat 14 COM-Anschlüsse reserviert). Zum Deinstallieren in der Konsole

CD \ Programme \ Windows Mobile 6 SDK \ Tools \ Cellular Emulator \

InstallXPVCom.exe deinstallieren

dann neu starten.

ZtareKQF
quelle
-1

Für diejenigen, die die CMD-Leitungsschnittstelle nicht verwenden möchten, verwende ich diese in Windows 7.

  1. Öffnen Sie die Systemsteuerung
  2. Wählen Sie "SYSTEM" aus dem Menü
  3. Wählen Sie links "ERWEITERTE SYSTEMEINSTELLUNGEN"
  4. Wählen Sie unten rechts im Feld "UMWELTVARIABLEN" aus
  5. Suchen Sie in der Liste der Systemvariablen nach "DEVMGR_SHOW_NONPRESENT_DEVICES". Wenn es nicht vorhanden ist, erstellen Sie es und weisen Sie ihm den variablen Wert von zu
    1. Zurück mit OK, OK, OK. Sie befinden sich jetzt wieder auf dem Systemsteuerungsbildschirm.
  6. Wählen Sie "Geräte-Manager" und gehen Sie zu "Ansicht"
  7. Wählen Sie "Versteckte Geräte anzeigen". Alle versteckten Geräte, einschließlich der Kommunikationsanschlüsse, werden ausgegraut oder als "Geisterbilder" angezeigt.
  8. Wählen Sie diejenigen, die Sie entfernen möchten, klicken Sie mit der rechten Maustaste und wählen Sie "Deinstallieren"
Gary Karli - Com Tech
quelle
3
Dies wurde bereits in einer bestehenden Antwort vorgeschlagen .
Gast-vm