Serial Port Tutorial COMM1

Top  Previous  Next

Serial Ports Overview

When ComCap was originally designed all PCs had one or two fixed serial RS232 ports with a DB9 connector.  Fixed serial ports with DB9 or DB25 connectors are now rare, although PCI or PCI Express expansion cards are available used, and removable USB, virtual and Bluetooth serial ports are common.  Some of these serial ports can come and go as they are plugged and unplugged. Up to 999 installed serial COM ports will be displayed, not necessarily contiguously, but only three may be captured with ComCap Standard.   Note that RS232 serial ports not recognised by the PC BIOS need special windows driver software installed, which is usually supplied with the hardware.  Some virtual ports may have strange names like CNCA2, but these will work identically to those starting with COM.

 

The Serial Port Channels grid in Common Settings shows all ports installed on the PC including those currently removed and unusable, which are typically USB serial ports that are unplugged.  This means capture can be set-up and started for ports that are currently removed, and will start immediately the USB device is plugged into and becomes available to Windows. Likewise capture will be paused if a serial port disappears, and restart if it re-appears.

 

If the port is unknown, the Test Serial Ports and Hardware utility supplied with ComCap may be used to find which port has active signal lines.

 

Virtual serial ports may also be installed by some applications to allow those applications to be accessed by software such as ComCap. If the requirement is to capture serial data from another application on the same PC, ComCap includes a Null Modem Emulator (com0com) from http://com0com.sourceforge.net/ that installs a linked pair of virtual serial ports, CNCA0 and CNCB0e, instead of needing to use a physical pair of COM ports and a null modem cable.

 

When ComCap starts, the Info Log reports all installed serial ports, with various items of information that may be found in different places in Windows, for example:

 

COM1, Enabled=Y, Communications Port, (Standard port types), Serial0

COM3, Enabled=N, Prolific USB-to-Serial Comm Port, Prolific, , USB\VID_067B&PID_2303&REV_0400, Port_#0001.Hub_#0003

COM4, Enabled=N, CyberSerial 950 16C950, SIIG, , OXPCIMF\*PNP0509

COM11, Enabled=Y, D-Link DU-562M External Modem, CXT, Winachsf0, USB\VID_0572&PID_1300&REV_0100, Port_#0007.Hub_#0004

COM12, Enabled=Y, Enhanced Communication Port, Oxford Semiconductor, OXMF0, OXMF\*PNP0501, oxmf bus, port 0

COM24, Enabled=N, Standard Serial over Bluetooth link, Microsoft, , BTHENUM\{}_VID&0001000f_PID&1200,

COM26, Enabled=Y, USB Serial Port, FTDI, VCP0, FTDIBUS\COMPORT&VID_0403&PID_6001,

CNCA0, Enabled=Y, com0com - serial port emulator, Vyacheslav Frolov, com0com10, com0com\port, CNCA0

 

where COM1 is a motherboard port, COM3 is a removed USB Prolific port, COM4 is a null modem, COM11 is a USB modem, COM12 (and COM13 to COM19) are an 8-way MRI PCI card, COM24 is a Bluetooth serial port, COM26 is a USB FTDI port. The VID_x strings may be used to Google search for unknown hardware device identification if looking for new drivers.  Enabled=N means the port is removed, usually an unplugged USB device, but could be a removed PCI card.  Port and hub may identify USB ports.  Beware if a USB device is plugged into a different socket, it will often be installed as a new COM port.

 

Signed Device Drivers for Windows 64-bit

With the 64-bit editions of Windows 7, 8, 10, 2008 R2, 2012, 2016, 2019 and later, Windows will no longer accept unsigned drivers for serial port expansion products such as USB, PCI or PCI Express cards.  For manufacturers, getting signed drivers from Microsoft is expensive and they are usually only available for products still being manufactured and supported.  Some RS232 cards and dongles used for testing ComCap under Windows XP no longer work under Windows 7 64-bit and later, but new signed drivers are now available from Microsoft Update or manufacturers sites for other newer hardware. Specific hardware still working includes:

 

 

Lava Computer DSerial 2-port PCI card, Lava also sells 4 and 8 port serial cards, http://www.lavalink.com/ .

 

StarTek FTDI (Future Technology Devices International) USB serial cables, http://www.startech.com/ and http://www.ftdichip.com/, widely available.

 

StarTek Prolific USB serial cable (beware cheap imitations), http://www.startech.com/ and http://www.prolific.com.tw/ often included in other products such as GPS devices, also used by http://plugable.com/ USB to RS232 Adapters..
 
Winchiphead CH340 USB serial cable from http://wch-ic.com/

 

Serial to Network Converters or Ethernet Device Servers

To overcome the restricted length of RS232 serial port cables (about 30 metres), in recent years serial ethernet device servers have evolved which convert serial port data to network protocols, usually TCP/IP. Usually small modem sized units, but sometimes just large plugs, these converters usually have a small internal web server used to configure the IP address and port and serial port parameters, and support TCP Client and TCP Server protocols. Some support two or more serial ports.

 

Such converters are offered by Brainboxes, StarTek, Lantronix, Lavalink and RE Smith for instance, easing data capture distances, Audon in the UK sells various converters.

 

Note ComCap can itself be used as serial to network converter, by capturing from one or more serial ports and echoing data using network protocols.  There are also open source free software network converters, such as 'COM Port to TCP Redirector' from http://com0com.sourceforge.net/.

 

Most of these serial ethernet device servers come with Windows driver software that causes the remote serial ports to be presented as virtual serial ports in Windows.  While convenient for supporting old software that only recognises serial ports, these drivers are usually unnecessary for ComCap capture since the original TCP/IP stream can usually be captured directly.  Bypassing these virtual serial ports removes a possible failure mode, and will usually result in better performance due to use of IP packets.