Whenever a new COM port is installed, Windows looks for the first
never used number. This ensures that there are no conflicts when
two of the devices are attached at the same time.
In real live the users do not use their devices (as USB to COM adaptors)
at the same time, but the COM numbers increase and increase...
Windows stores used COM port numbers in the registry here:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
It is 32 bytes with 8 bits in each byte. A set bit makes a port number
(1..256) reserved.
Removing the reservation does not do anything else than making Windows
reassign the number to a new device when it is attached.
As long as the new device is not attached at the same time as the
device which had these COM port before there is no problem.
If the devices are attached at the same time then the second one will
not start because it cannot create its "COMx" symbolic link. This happens too
if a new device wants to get a port which is supposed to be free because
its arbiter bit is not set but in fact the port is in use! So don't
clean up to much...
Since V0.5 you can delete a symbolic link by right-clicking it.
F5 refreshes the list (done automatically since V0.5.
Started with parameter /rnp (remove non present) it sets currently non present ports to 'available' and ends without showing the dialog.
Screenshot:
By unchecking and pressing "Apply" reservations can be removed.
Download: com_name_arbiter_setter.zip
Last update: 16 May 2013
|