Correcting USB/Serial Driver Problems

To connect a serial stream in SNIP see the article:   Adding Serial UART Data Streams

To understand and connect all the physical cables, then this article covers the hardware side.

To understand and install the required device drivers needed, read on…  This article covers a few hints and best practices on how to install, or confirm that you have installed, a suitable device driver for your serial ports and USB devices.

Background:

In order to use the serial ports (or to use a USB dongle that creates a serial port for you over USB), you need to have both the hardware and the software (the drive driver) correctly installed on the machine.  From a narrow point of view, this is not a SNIP operational issue but one with the base machine environment.

Sometimes this works wonderfully with “plug and play” operation, but other times it does not.  The phrase “driver hell” is often uttered at such times.  The goal of this article is to move you ahead to “driver purgatory” so that with some fiddling all will again be well.

The best resource to assist you with this is the maker of the serial/USB device and their web pages.  They will have the most current approved device drivers for your operating system.  If the serial or USB device is built into your GNSS device, the same rule applies.  The second best resource is the PC manufacturer who may be able to inform you about any incompatibility issues that they are aware of.

How SNIP works with Serial Devices

The SNIP Caster software will detect and allow you to use any serial port that the machine has loaded. It also displays some basic information (description and a device maker name) about the device driver which can be very useful when there are several different ports to choose from.  The image below shows this:

SerialPortSetUp-UARTWhenever you open the serial dialog from SNIP, all of the the known serial ports are discovered and displayed in the drop down list.  Any that are already in use are grayed out.  When there are no serial ports present, the dialog does not display.

Hint: Where there are no serial ports present on a machine,
you cannot set up a serial stream from that tab.

A deliberate side effect of this design logic is, if you were to plug in a new port while this dialog is open, it is not seen.  But the dialog re-loads this list every time it is created.  But as a best practice, it is best to install the required serial port devices before running SNIP or any terminal type devices, so the drive installation process is fully completed.  Keep in mind this may take several minutes on some machines.  As a further best practice, keep any USB serial port cables with the machine (rather than moving them to another machine) to ensure you will see the same port number assignment each time it is used.

Hint: Users report that a machine reset is often required to complete the installation of a new device.  Problems and issues with serial port device installation are well known with Windows (and to a lesser extent with other operating systems) for many years.

What Serial Ports do I have?

Windows

On Windows, you can see what devices are currently installed on your machine by looking at serial ports of the Device Manager  (under the Control Panel):

DeviceManagerIn the above image you can see that there are five serial ports present in this machine.  All are in fact USB devices.  And they come from four different device makers, and hence four different drivers have been used.  Two of these devices come directly from the hardware built into GNSS devices, while the other three use common hardware cables.

If a device is missing it may be that the proper driver has failed to install.  Sometimes this is shown with a small “x” in the icon, while at other times there is no visual indication. We suggest you look at the vendor’s website for a device driver suitable for your operating system and try to reinstall.

Ubuntu and other *nix users

On Ubuntu there is no similar Device Manager.  You can see what devices are currently installed on your machine by using the “setserial” command.

Here is an external article that covers this topic nicely:
https://www.cyberciti.biz/faq/find-out-linux-serial-ports-with-setserial/

The GUI for SNIP displays the same information shown above for these devices in the serial tab.

Was this article helpful?

Related Articles