RE: Virtual comport with usbser.sys by johngar
johngar
Thu Mar 08 15:40:03 CST 2007
------=_NextPart_0001_1DF18E72
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
"Benji" wrote:
Looking into the registry I found the entry \Device\USBSER000 which value
is
set to "COM11" under HKLM\Hardware\DEVICEMAP\SERIALCOMM but my device is
not accessible via that COM Port (Com 11).
I would expect this to occur if COM ports COM1 through COM10 had already
been defined on the system at some previous time, and the next available
port was therefore COM11.
If these additional ports are not listed in Device Manager (even with "Show
Hidden Devices" enabled), then you may need to manually remove the entries
for previous devices from the registry. These should be found under
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSER\Enum.
In the case you describe, I would expect device instances to be listed with
value names "0" through "11", the "Count" value set to 11, and
"NextInstance" value set to 11. The string data listed for each value
named "0" through "11" point to subkeys under
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum where the devices are
listed.
If you find everything as I'm predicting you will, then deleting the
device-instance subkeys under HKLM\SYSTEM\CurrentControlSet\Enum, deleting
the device-instance values under
HKLM\SYSTEM\CurrentControlSet\Services\USBSER\Enum, and editing the
"Count" and "NextInstance" values appropriately (e.g., 0) would clear out
all unused entries and allow you to start enumerating new devices with
names beginning with COM1.
If you have non-USBSER serial devices, then the maximum values under
HKLM\SYSTEM\CurrentControlSet\Services\USBSER\Enum would be less. In
Device Manager, you can examine the Properties of the COM ports present in
the system, particularly the driver details, for clues as to which driver
is loading for each device, and thus make a guess as to which keys in the
registry contain the info on those devices.
John Garrett [MSFT]
This posting is provided "AS IS" with no warranties, and confers no rights.
------=_NextPart_0001_1DF18E72
Content-Type: text/x-rtf
Content-Transfer-Encoding: 7bit
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Trebuchet MS;}}
\viewkind4\uc1\pard\f0\fs20 "Benji" wrote:
\par \pard\li720 Looking into the registry I found the entry \\Device\\USBSER000 which value is
\par set to "COM11" under HKLM\\Hardware\\DEVICEMAP\\SERIALCOMM but my device is
\par not accessible via that COM Port (Com 11).
\par \pard
\par I would expect this to occur if COM ports COM1 through COM10 had already been defined on the system at some previous time, and the next available port was therefore COM11.
\par
\par If these additional ports are not listed in Device Manager (even with "Show Hidden Devices" enabled), then you may need to manually remove the entries for previous devices from the registry. These should be found under HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\USBSER\\Enum.
\par
\par In the case you describe, I would expect device instances to be listed with value names "0" through "11", the "Count" value set to 11, and "NextInstance" value set to 11. The string data listed for each value named "0" through "11" point to subkeys under HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Enum where the devices are listed.
\par
\par If you find everything as I'm predicting you will, then deleting the device-instance subkeys under HKLM\\SYSTEM\\CurrentControlSet\\Enum, deleting the device-instance values under HKLM\\SYSTEM\\CurrentControlSet\\Services\\USBSER\\Enum, and editing the "Count" and "NextInstance" values appropriately (e.g., 0) would clear out all unused entries and allow you to start enumerating new devices with names beginning with COM1.
\par
\par If you have non-USBSER serial devices, then the maximum values under HKLM\\SYSTEM\\CurrentControlSet\\Services\\USBSER\\Enum would be less. In Device Manager, you can examine the Properties of the COM ports present in the system, particularly the driver details, for clues as to which driver is loading for each device, and thus make a guess as to which keys in the registry contain the info on those devices.
\par
\par John Garrett [MSFT]
\par This posting is provided "AS IS" with no warranties, and confers no rights.
\par
\par }
------=_NextPart_0001_1DF18E72--