Hi Pat,
The COM Port driver in Vista supports baud rates from 75bps upwards. Vista
itself has no problem communicating at 300 baud. You're seeing a genuine
problem, but it probably isn't coming from the COM Port driver in Vista.
It looks like you're using the DOS version of Procomm? This doesn't
communicate with the underlying Vista driver, in any case. It communicates
with the NTVDM ("NT Virtual DOS Machine") which Vista creates, to run 16
bit DOS applications (since a 16 bit app cannot communicate directly with
the 32 bit operating system). The NTVDM emulates a DOS-style COM port, in
software. In turn, the NTVDM communicates with Vista, which relays the
messages to the "real" Vista COM Port driver. It's possible there was some
subtle change in COM port handling in Vista's NTVDM (although, backwards
comptibility is always a big issue, in this area).
As a first step, I'd try manually configuring the speed for the COM Port
with a MODE command; eg:
C:\PROCOMM>mode COM1: baud=30
(for some obscure reason, you leave off the final "0" on baud speed,
that's the same as MODE worked in MS-DOS too). Run this to configure the
NTVDM's COM port, immediately before you start Procomm. For example in a
batch file:
@ECHO OFF
mode com1: baud=30
C:\Procomm\procomm.exe <command-line switches>
:END
You can also use MODE to set partiy, XON/XOFF etc. Run "mode /?" for the
full syntax. Procomm itself should normally be able to override the
default DOS COM port's settings; but as a rule of thumb, it never hurts
(and often helps) to configure the COM port to match the communication
parameters you want to use in your communications program. So, you can set
the baud, parity, data, stop, and retry; for example:
C:\PROCOMM>mode COM1: baud=30 parity=e data=7 stop=2 retry=b
Adjust this to match your own device settings. Note that the MODE command
only affects the COM Port in the current DOS NTVDM - it doesn't affect how
32-bit apps work with the COM port; and the settings evaporate when you
close the current Command Prompt or batch file; you need to run them every
time.
I doubt the Vista COM port driver is directly involved - but, you can also
set this to a default of 300 baud, in case it helps. Go to Device Manager,
and find Ports (COM & LPT). Expand the tree and select your COM Port.
Right-click and choose Properties. The Properties panel will appear.
Select the "Port Settings" tab. Set "Bits per second" to 300 from the
default 9,600. Hit OK to save changes.
Let us know how you get on (I'd like to know
If all else fails ... well, I salute you for continuing to use the old 16
bit DOS Procomm on Windows Vista, and encourage you to keep trying to make
it work ... but if all else fails, you could see if you can find a copy of
Procomm 4.8 for Windows. Procomm ended up being owned by Symantec but I
doubt they sell it any more (4.8 was released c.1999?). This was a 32 bit
app and thus, communicates directly with the Vista driver, without all the
interveaning NTVDM layers complicating things. I believe (unconfirmed)
that your old Procomm scripts can be imported directly into the "new"
Windows-based Procomm, and run. I'm assuming you have a huge bunch of
scripts that you don't want to convert. Otherwise, just use Hyperterminal
from Hilgraeve, for serial COMs on NT/Vista:
http://www.hilgraeve.com/htpe
Good luck!