Prevent windows from toggling usb serial control lines

From HeepyWiki
Revision as of 06:07, 23 January 2014 by Morris (talk | contribs) (Created page with "Windows 7 (at least), in its infinite wisdom, whenever a serial port appears (USB on install, onboard serial on boot) will repeatedly toggle the RTS and DTR lines on said seri...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Windows 7 (at least), in its infinite wisdom, whenever a serial port appears (USB on install, onboard serial on boot) will repeatedly toggle the RTS and DTR lines on said serial port. Why does it do this? Because it is looking for a serial mouse from the early 1990s, and because why would any other device be bothered by that? What could go wrong?

Well, for example, you might have a radio transmitter connected to the port, using DTR to key it.

Anyway, it is possible to make windows stop doing this, on a per-serial-device basis. Naturally it involves registry tweaks.

For a USB serial device, at least, you can prevent windows from trying to probe it by using REGEDIT.EXE (as Administrator) the registry key:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_XXXX&PID_YYYY\ZZZZZZZZ\Device Parameters

XXXX and YYYY are the USB Vendor ID and Product ID values, which can be learned in the Device Manager for the desired serial port by looking in the Details tab on the "Properties" window for that device, and pulling down "Hardware Ids" from the Property dropdown. ZZZZZZZZ is the "instance ID" which for a USB serial port is probably the device's self-reported serial number, and in any case will already be visible there in the registry under the VID_XXXX&PID_YYYY key.

Open "Device Parameters", right click on the right panel, select New->DWORD (32-bit) VALUE, and name it "SkipEnumerations" Then double click the icon to the left of the new key "SkipEnumerations" and set it's value to the hex value FFFFFFFF. This will prevent windows from ever trying to probe for 1990s serial mice on that particular device.

Now you get to go do the same for every other serial device you might ever attach, for which you don't want the random DTR/RTS toggling to happen.