How to stop Vista from sending data on COM1/COM2 during startup?

D

Dave R.

I have a process control system that uses two computers connected by
RS232 serial ports. One end is running on Windows XP Pro, and the other
is now on Windows Vista Business (used to be a DOS machine).
Unfortunately, as soon as we put the other end on Vista we started
getting a flurry of data (about 150 bytes or so) during Vista's startup
sequence. Also, we get a number of CTS state transitions. I've
eliminated our app completely, and here's what I get on a clean boot of
Vista in the logs on my XP machine:

09:40:11:468 CTS is ON
09:40:11:484 RX: 00
09:40:12:000 CTS is OFF
09:40:31:937 CTS is ON
09:40:31:937 CTS is OFF
09:40:32:546 CTS is ON
09:40:32:875 CTS is OFF
09:40:32:890 CTS is ON
09:41:06:468 CTS is OFF
09:41:06:484 CTS is ON
09:41:06:828 RX: 80F88000F87800
09:41:07:375 RX: 80F88000F87800
09:41:07:843 RX: 80F8808080807800
09:41:08:328 RX: 80F8808080807880
09:41:08:328 RX: 7800
09:41:08:781 RX: 80F8808080807800
09:41:09:218 RX: 80F8808080807880
09:41:09:234 RX: 7800
09:41:09:687 RX: 807800800000F878
09:41:09:703 RX: F8F8
09:41:10:171 RX: 807800800000F878
09:41:10:187 RX: F8F8
09:41:10:656 RX: 8078800080007800
09:41:10:671 RX: 800080F880807880
09:41:10:687 RX: 7880787878
09:41:11:140 RX: 8078800080007800
09:41:11:156 RX: 800080F880807880
09:41:11:171 RX: 7880787878
09:41:11:625 RX: 0080787878F800
09:41:12:109 RX: 80F880F87878F800
09:41:12:593 RX: 80F880F87878F800
09:41:13:000 CTS is OFF
09:41:13:015 CTS is ON

I've Googled till I'm sick, and it appears that Vista might be doing
some sort of serial device detection. Under XP, the solution appeared
to be making sure that /FASTDETECT is in boot.ini (which it is by
default). Just for fun, I removed /FASTDETECT from an XP machine's
boot.ini and saw a similar (though shorter) burst of data and a bunch of
CTS transitions.

Other results suggested adding "SkipEnumerations"=dword:ffffffff to the
Device Parameters key under each port number you want to disable PnP
enumerations in HKLM\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\. Doing
this, and putting /FASTDETECT back in on the XP machine eliminated all
but a single pair of CTS transitions.

Unfortunately, I can't find any way to do this under Vista - the BCD
doesn't appear to support a parameter similar to /FASTDETECT. I've
tried adding the SkipEnumerations value, and that got rid of 3 pairs of
the CTS state transitions and the first 00 byte sent at the beginning,
but did nothing to stop the burst of data or the remaining CTS
transitions.

Anyone have any ideas? I'd really like to get this serial port under
control on Vista.

Regards,

Dave
 
D

Dave R.

Dave R. said:
I have a process control system that uses two computers connected by
RS232 serial ports. One end is running on Windows XP Pro, and the
other is now on Windows Vista Business (used to be a DOS machine).
Unfortunately, as soon as we put the other end on Vista we started
getting a flurry of data (about 150 bytes or so) during Vista's startup
sequence. Also, we get a number of CTS state transitions. I've
eliminated our app completely, and here's what I get on a clean boot of
Vista in the logs on my XP machine:

09:40:11:468 CTS is ON
09:40:11:484 RX: 00
09:40:12:000 CTS is OFF
09:40:31:937 CTS is ON
09:40:31:937 CTS is OFF
09:40:32:546 CTS is ON
09:40:32:875 CTS is OFF
09:40:32:890 CTS is ON
09:41:06:468 CTS is OFF
09:41:06:484 CTS is ON
09:41:06:828 RX: 80F88000F87800
09:41:07:375 RX: 80F88000F87800
09:41:07:843 RX: 80F8808080807800
09:41:08:328 RX: 80F8808080807880
09:41:08:328 RX: 7800
09:41:08:781 RX: 80F8808080807800
09:41:09:218 RX: 80F8808080807880
09:41:09:234 RX: 7800
09:41:09:687 RX: 807800800000F878
09:41:09:703 RX: F8F8
09:41:10:171 RX: 807800800000F878
09:41:10:187 RX: F8F8
09:41:10:656 RX: 8078800080007800
09:41:10:671 RX: 800080F880807880
09:41:10:687 RX: 7880787878
09:41:11:140 RX: 8078800080007800
09:41:11:156 RX: 800080F880807880
09:41:11:171 RX: 7880787878
09:41:11:625 RX: 0080787878F800
09:41:12:109 RX: 80F880F87878F800
09:41:12:593 RX: 80F880F87878F800
09:41:13:000 CTS is OFF
09:41:13:015 CTS is ON

I've Googled till I'm sick, and it appears that Vista might be doing
some sort of serial device detection. Under XP, the solution appeared
to be making sure that /FASTDETECT is in boot.ini (which it is by
default). Just for fun, I removed /FASTDETECT from an XP machine's
boot.ini and saw a similar (though shorter) burst of data and a bunch
of CTS transitions.

Other results suggested adding "SkipEnumerations"=dword:ffffffff to
the Device Parameters key under each port number you want to disable
PnP enumerations in HKLM\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\.
Doing this, and putting /FASTDETECT back in on the XP machine
eliminated all but a single pair of CTS transitions.

Unfortunately, I can't find any way to do this under Vista - the BCD
doesn't appear to support a parameter similar to /FASTDETECT. I've
tried adding the SkipEnumerations value, and that got rid of 3 pairs
of the CTS state transitions and the first 00 byte sent at the
beginning, but did nothing to stop the burst of data or the remaining
CTS transitions.

Anyone have any ideas? I'd really like to get this serial port under
control on Vista.

Just discovered the hardware_devices group, so I thought I'd try there
instead of general. Follow-up set.

Regards,

Dave
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top