Immer wenn ein neues Gerät installiert wird, das einen COM-Port bereitstellt,
ordnet Windows dem COM-Port die erste noch nie für einen COM-Port benutzte Nummer zu.
Jede COM-Port-Nummer merkt sich Windows als benutzt damit niemals zwei Geräte die selbe Nummer haben.
Leider bleiben selbst die Ports schon längts deinstallierter Geräte als reserviert markiert, so dass man hier ein lästiges endloses Hochzählen der Portnummern erhält.
Die Rerservierung speichert Windows in der Registry unter
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
daher der Name des Programms.
Dort sind 32 Bytes mit je 8 Bit hinterlegt, jedes gesetzte Bit steht für einen reservierten COM-Port von 1 bis 256.
Die einzige Auswirkung einer entfernten Reservierung ist, dass die Nummer bei einem neuen Gerät wieder vergeben werden kann (oder manuell bei einem vorhandenen). So lange man nicht zwei Geräte mit gleichen Portnummern anschließt gibt es kein Problem. Tut man es dennoch wird das zweite Gerät nicht starten, weil es den symbolic link mit dem COM-Port-Namen nicht anlegen kann. Das passiert auch bei neuen Geräten, wenn der erste vermeintlich freie Port in Wirklichkeit doch belegt ist. Also beim Aufräumen nicht übertreiben!
Das Tool zeigt alle möglichen 256 Ports, wenn ein Kernel-Name (z.B. \Device\Serial0) dahinter steht, ist das zugehörige Gerät gerade angeschlossen (oder dessen Treiber hat beim Entfernen nicht aufgeräumt). Ein gesetzter Haken heißt "reserviert".
Ab V0.5 kann man per Rechtsklick den symbolic link löschen.
Man kann dann Reservierungen durch gezieltes "Abhaken" aufheben oder durch Klick auf "Clear non present" die Haken bei allen derzeit nicht angeschlossenen Ports entfernen. Mit "Apply" wird das in die Registry geschrieben, F5 aktualsiert die Liste, was ab V0.5 aber auch automatisch gemacht wird.
Mit dem Paramter /rnp (remove non present) gestartet setzt es aktuell nicht vorhandene Ports auf 'verfügbar' und endet ohne Dialog.
Screenshot:
Download: com_name_arbiter_setter.zip
Letzes Update: 16.05.2013
|