Windows 10 – the serial KILLER

By Ian VK3BUF

 

Serial Ports

This article is only going to have relevance for Amateurs wanting to support digital modes on late model PC’s.  If operators are tempted to have a go at some digital modes  like Packet, WSPR, or FT8 the chances are that you will require a fully functional Serial RS232 port to make the application work, even though nowadays very few PC’s come equipped with genuine serial ports.  A fair percentage of PC’s have been purchased with, or upgraded to the Windows 10 operating system.  This creates fresh problems for setting up that are not always simple.

 

Most modern rigs, like the FT950 here, want to make a connection to an RS232 port on a PC

 

So perhaps you think, ok, I just need to buy one of those cheap USB to RS232 adapters, insert it in a vacant USB hole in the back of the PC or notebook and away we go.  The problem is that 90% of these adapters use a ‘Prolific’ brand chipset inside the dongle.  In the past, you inserted the appropriate driver CD that comes with the adapter, then it is set up to work as say COM2 or COM4 and its all fine.   About $15-20 from Radio Parts or Jaycar will get one of these:

Very few of these adapters work with Win 10…

 

Unfortunately, while the Prolific serial chips will work under Windows XP, Vista, Windows 7 & 8, they won’t work under Windows 10.  The Comm Port settings in the Device Manager area will have a permanent exclamation mark next to it that won’t go away.

Setting compatibility modes won’t help.  Windows 10 just refuses to talk to the appropriate driver.  The Prolific company who created the chipset have given up, saying they won’t produce a Windows 10 driver or a future Windows 10 compatible product.  This makes most of the USB-RS232 adaptors in circulation permanently incompatible with most new PC’s.

The solution is to use a different USB dongle with a chipset made by FTDI (Future Technology Devices International) or Silabs and NOT by Prolific.  They are harder to find and they are usually twice the price than the Prolific versions, but they will work on Windows 10.

Windows 10 incompatibility is only part of the story, as the Prolific chips also have buffering and handshaking line issues that are sometimes problematic on the earlier operating systems.  For reliable comms, it’s best to avoid these cheaper adapters.  You can waste a lot of time with them…

The image below shows one obtainable from Radio Parts in Melbourne that works really well.  It is made by IOCrest in Shenzhen, China.  These support RS232 and RS485, with bonus LED indicators to show data traffic.  (A description of RS422 is at the end of this article)

There is an alternative from Jaycar which looks like it has the good Windows 10 compatible chipset that is worthwhile trying (below), but it is a new product and I have not tried one out yet:

 

 

Installing the IOCrest Adapter

Buying these FTDI adapters is one thing.  Getting them to work is another.  Take it out of the box and plug it into your Windows 10 pc.   The screen will grind for a while then it will tell you that the best driver for the job is now installed.  All lies.  You will need to delete the driver that Windows provided and force the PC to use the one that comes on a small CD with the adaptor.

Under the setup CD folder  \1411\Windows XP,Vista, 7,8,10\EXE\ is a file to execute called:

“xrusbser_ver2200_installer.EXE       Run this file to install your driver.  If you now go to Control Panel and select Device Manager, scroll down the list until you see Ports (COM & LPT)  Next to this it should say: XR21B1411 USB UART (COMnn)  where ‘nn’ is the communications port that was allocated to the device, such as Com3 or Com4.

Sometimes the pc will automatically allocate something unusual like Com19, which is a problem if your application only allows connections to say Com1 to Com4, but this can be fixed in Device Manager by opening the comm port driver window and selecting the Port Settings tab, then  ‘Advanced’ .  Here there is a drop box where you can force the pc to use a different comm. Port designation such as the more common Com3 or Com4.  If it says that this port is in use, it may be lying, so select that port anyway and give it a try.

Configuring the adapter

You may think that it is all good to go, but there is more.   These USB adaptors support both RS232 and RS422 standards.  We want RS232, but RS422 is the default standard and we have to change it.  Back on the CD that came with the adapter there is a sub-folder called \Tool.   In that folder there are two exe files and we want to run the one called ComConfig_EN.exe  (The English version)  This is a little utility to configure the adaptor to the necessary standard.  A window pops up which asks for three items to be entered.  For Port Num, select the active com port from the lis.   For Interface select RS232   For Term select Enable.  Then click on Apply.  If all went well you should get the message “Configuration succeeded”  Now (finally!)  you have a viable RS232 port to work with and most Windows based applications that look for a valid RS232 port will find your new adapter OK.

What is RS422?

As it is largely an industrial standard, not a lot of hobbyists are familiar with the serial standard of RS422, or its close relative RS485.

As far as the computer (or microprocessor) is concerned, it wants its data to be 0-5V logic, but at baud rates of 9600 baud and above, the range is only a few metres.

The common RS232 protocol is an improvement where the transmission signal is converted to data on a single wire relative to a common ground where each bit of information alternates between +9V and –9V.  This alternating voltage polarity fights rounding of the data waveform by cable capacitance.  Doing this will extend a 9600 baud data stream to 40-50 metres in a wire.

PC data

The top waveform shows 0-5V inverted data inside the PC and the bottom +/- 9V data on the RS232 line.

Sometimes 40-50 metres is not enough, particularly where environments are noisy or data has to be sent across the width of a factory site.  RS232 signals are sent on un-balanced wires, which still limits the working range.  Here is where the RS422 standard is useful.

RS422 has two wires twisted together in a cable isolated from a grounded shield.  A constant current of a few milliamps flows through the two wires as a loop.  The polarity of the RS422 current loop reverses with every bit in the data stream.   Like analog telephone lines, balanced transmission lines carrying data can solve a lot of signalling problems.

Being current based, it has high noise immunity.  A 9600 baud data stream can be sent successfully for hundreds of metres.

RS485 is similar to the RS422 except that it has a bit more drive current and can support many more slave devices on the current loops. More of an industrial thing really.

RS422 and RS485 use balanced current loops for sending data

 

Crazy Mouse Syndrome

This article would not be complete unless I address the issue of Crazy Mouse Syndrome.  Ok, so you set up your receiver into a modem of some kind, which converts received signals to RS232 data.  This goes into your serial port via your USB adapter.   You turn on your radio, then re-start your PC and as soon as the desktop can be seen, the mouse pointer darts wildly around the screen clicking on random locations and generally making a mess of your PC desktop.

So, what is going on here?

This is not so much a fault as a facility, a very annoying legacy facility that has no place in a modern PC.   Back in the dark ages, computers had ‘Serial Mice’ which worked by connecting to the built-in RS232 port of early PC’s.   These mice would send a steady stream of mouse position information into the PC RS232 serial port, usually via a DB9 plug.   All Microsoft Windows (including Windows 10) has a special legacy feature where any serial data arriving at a serial port during power up is construed by the operating system as being connected to a serial mouse.  The PC will automatically load a mouse driver. This will make any data arriving at the serial port control the location of the mouse pointer and generates mouse single and double clicks.   If you have random noise or receiver data arriving at a Windows PC serial port during power up, it will load this mouse driver and immediately send your desktop wild.

There are three strategies that can resolve this issue.

  1. Ensure that the RS232 adapter is not plugged into your PC until after it has finished starting up. If you have a semi-permanent setup, then this is not a good fix.
  2. If the mouse has already gone wild, turn off your radio, or un plug the data cable, then go into Device Manager, find the serial mouse driver and disable it. (This is a temporary fix, as it will re-load the driver the next time the PC is restarted.)
  3. Make changes to your system registry so it never happens again.

The last option is the preferred one, but the most difficult to implement.  These instructions will work well from Windows 7 through to Windows 10.

  1. Click on the Windows start button
  2. In the search box, type in: regedit and press the enter key on your keyboard
  3. The Registry editor windows will open
  4. Navigate to the registry key named: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sermouse
  5. On the right hand side of the registry editor window you should find subkey named: start
  6. Double click on the “start” subkey and modify the value of the key to: 4 and click the OK button to return to the registry editor window
    Setting the “start” subkey value to 4 stops windows from looking for serial mice at startup
  7. Exit the regitstry editor window

With these settings in place and the right serial port adapter plugged into your machine, then you should be able to get reliable serial communications with your radio.  Good luck!

 

73