Using Virtual Serial Port Driver

 Managing Virtual Serial Ports

To add virtual serial pair, please, do the following:

  • select "Manage ports" tab in the Main Window
  • choose the names of virtual serial ports from corresponding drop-down list (First port/Second port) or enter any name you like ("port", "virtual1" "1", etc), but make sure that programs working with these ports support custom port names.
  • click "Add pair" button
  • on successful creation you can see newly created ports in Serial Ports Explorer and in Device Manager in your system
  • repeat steps above as many times as many new pairs you need to create

Note: you will not be able to select port names which are already given to ports created by our driver.

Deleting Virtual Serial Ports
To delete virtual serial pair do the following:

  • select virtual serial pair in Serial Ports Explorer by clicking it once
  • go to "Manage ports" tab
  • click "Delete pair" button
  • repeat steps above as many times as you need to remove existing pairs

Note: you may delete virtual serial pair only if both ports are closed.

Deleting all Virtual Serial Ports

  • go to "Manage ports" tab
  • click "Delete all" button
  • you will need to confirm ports deleting, if you say Yes, your virtual serial ports configuration will be erased and you won't be able to recover it, you will have to manually re-create all ports

Note: make sure all ports are closed before deleting them, otherwise they will not be deleted.

Enabling/Disabling strict baudrate emulation

You can enable strict baudrate emulation per port. To do this just add a pair of virtual ports (as described above), select one of the newly created ports in Serial Ports Explorer and mark the checkbox "Enable strict baudrate emulation" below. Now, all programs connected to virtual serial ports will work with specified baudrate value, otherwise baudrate value set by the opening application will be ignored. Now you can set the baudrate in a standard way (SetCommConfig() ) and it will not be ignored by the driver.

Note: this features is only available in Windows NT4/2000/XP/2003/Vista.

Breaking line/restoring connection

In order to emulate physical line break, please, mark Break line/Restore connection checkbox within "Manage ports" tab. In fact this option drops all incoming signal lines (DCD, DSR, CTS, RI) and data from one port is not transferred to another.

Note: this feature is only available in Windows NT4/2000/XP/2003/Vista.

Customizing port access rights

With the help of port access list you can restrict access to created virtual serial ports for various applications. Let's review an example:

  • first of all click one of the created virtual serial ports in Serial Ports Explorer and select "Port access list" tab in the Main Window.
  • click , select the required application and click button (or enter full destination path to the required application manually). Now you can see your application in the table, choose access rights status from either "Denied" or "Granted" in "Access" column for the selected application.
  • repeat above steps as many times as you need
  • besides, you are able to set priority to the selected applications, delete mask, or delete all masks

Now, let's review 5 different examples of masks usage:

1. All applications are forbidden to use the virtual port, except for Windows HyperTerminal:

 2. All applications, which are located on local disc C only can use the virtual port:

3. All applications can use the virtual port, except for those which are located on local disc C: 


4. Windows HyperTerminal and Command Prompt can use the virtual port only:

 

5. All applications, located in Program Files on local disc C only can use the virtual port:

6. In this case, note, that access will be granted to all applications, Windows HyperTerminal will be forbidden. 

Notes: 1) priority for masks is ascending, meaning when first match is met, further masks are ignored.

2) this feature is only available in Windows 2000/XP/2003/Vista

Setting custom pinout

 

Starting from version 5.0 you can choose which signal lines at one end should be connected to signal lines at the other end. In addition, you may save your custom settings as a preset and get back to it later. Custom pinouts/wiring feature has been greatly improved in the 6th edition.

In order to set custom pinout, please, go to "Custom pinout" tab in the Main Window, select virtual serial pair in the Serial Ports Explorer , select one of the required signal lines (RTS, DTR, OUT1, OUT2) in "IN side of the pair" list for internal serial port and mark corresponding checkboxes at the OUT side. After customizing signal lines pinout, you may save settings to your own preset. Just enter the desired name of preset and click "Save preset" button. Select one of the presets in the list and click "Delete" button if you want to delete it.

Different null-modem schemes are available here.

Note: you are not able to save your preset if it has "Standard", "Loopback mode", "Custom" names.

Signal lines:

  • RTS (Request to Send) - This signal is asserted (logic '0', positive voltage) to prepare the DCE device for accepting transmitted data from the DTE device. Such preparation might include enabling the receive circuits, or setting up the channel direction in half-duplex applications. When the DCE is ready, it acknowledges by asserting Clear to Send.
  • DTR (DTE Ready) - This signal is asserted (logic '0', positive voltage) by the DTE device when it wishes to open a communications channel. If the DCE device is a modem, the assertion of DTE Ready prepares the modem to be connected to the telephone circuit, and, once connected, maintains the connection. When DTE Ready is deasserted (logic '1', negative voltage), the modem is switched to "on-hook" to terminate the connection.
  • OUT1 - signal is used only by specialized hardware (like the Hayes SmartModem internal board). The meaning of this bit is determined by the hardware using it. For example, if the computer has a Hayes SmartModem board then OUT1=1 resets the modem.
  • OUT2 - controls interrupt servicing for the UART: OUT2=0 blocks the interrupt generated by the UART. This allows the user to prevent UART interrupts from reaching the computer's priority interrupt controller, while still generating them within the UART.
  • CTS (Clear to Send) - This signal is asserted (logic '0', positive voltage) by the DCE device to inform the DTE device that transmission may begin. RTS and CTS are commonly used as handshaking signals to moderate the flow of data into the DCE device.
  • DSR (DCE Ready) - When originating from a modem, this signal is asserted (logic '0', positive voltage) when the following three conditions are all satisfied:
    1. The modem is connected to an active telephone line that is "off-hook"
    2. The modem is in data mode, not voice or dialing mode
    3. The modem has completed dialing or call setup functions and is generating an answer tone
  • DCD (Carrier Detect) - This signal is relevant when the DCE device is a modem. It is asserted (logic '0', positive voltage) by the modem when the telephone line is "off-hook", a connection has been established, and an answer tone is being received from the remote modem. The signal is deasserted when no answer tone is being received, or when the answer tone is of inadequate quality to meet the local modem's requirements (perhaps due to a noisy channel).
  • RI ( Ring Indicator) - his signal is relevant when the DCE device is a modem, and is asserted (logic '0', positive voltage) when a ringing signal is being received from the telephone line. The assertion time of this signal will approximately equal the duration of the ring signal, and it will be deasserted between rings or when no ringing is present.

DTE (Data Terminal Equipment) is a computer or terminal and has a male serial port connector attached.

DCE (Data Circuit-terminating Equipment) is a modem with female serial port attached.

Connector 1 Connector 2 Function
1 7 + 8 RTS2 CTS2 + CD1
2 3 Rx Tx
3 2 Tx Rx
4 6 DTR DSR
5 5 Signal ground
6 4 DSR DTR
7 + 8 1 RTS1 CTS1 + CD2

In the image above you can see RS232 null modem scheme with partial handshaking which VSPD uses by default (standard pinout preset).