pc micro systems
 


Home
Information
Download
User's Guide
Support
About Us

Using Cyclades-Serial-Client with NetModem Server

Introduction

Cyclades-Serial-Client is a free open source Virtual serial port redirector for Linux which supports the RFC-2217 COM Port Control Telnet extention, making it compatible with NetModem Server. The client creates a pseudo TTY port in Linux, which redirects to a Terminal Server or a Modem Server over a network. When used with NetModem Server, it attaches to the next available modem in a pool of modems, allowing linux applications dialout/dialin access to the modem(s) over the network.

Cyclades-Serial-Client is included in software repositories for many Linux distributions including Ubuntu, Fedora, Debain, OpenSuse, Lucid, Mint, and Boss. Installers are provided for both 32-bit and 64-bit environments.

By installing both Cyclades-Serial-Client and a modem terminal emulator such as Minicom, Linux users are provided dialout access to analog or digital modems which are physically attached to a Windows PC running NetModem Server. The modem server can manage a pool of up to 256 modems, commonly 2, 4 or 8 modems using standard RJ45 telephone connectors for smaller applications, and up to 256 modems per server when using T1 phone lines for enterprise applications.

 

Installing Cyclades-Serial-Client

Cyclades-Serial-Client can be downloaded and installed from most Linux software repositories by using the following command line:
sudo apt-get install cyclades-serial-client

sudo is needed to grant root access to the apt-get installer program, and will prompt you for your administraor credentials.

apt-get will download and install the current available version of cyclades-serial-client software from your configured software repository. It will select the proper 32-bit or 64-bit installer, matching the OS its installing to.

Configuring Cyclades-Serial-Client

Once Cyclades-Serial-Client is installed, you can optionally edit the configuration file named cyclades-devices with a text editor.
To view the help file use: "man cyclades-devices".
The configuration file is usually located in /etc/, so to edit the file using gedit you could use this command line:
sudo gedit /etc/cyclades-devices

The cyclades-devices configuration file uses the following format:
device:rastype:rasname:physport:type:options

device = local device name, starting with a "/dev/" prefix.
rastype = "prts" or "path" can be used
rasname = IP Address of the NetModem Server
physport = must be "1"
type = must be "rtelnet" for remote telnet
options = this can be left blank

Here is an example of a cyclades-devices configuration file:
/dev/ptyp0:prts:192.168.1.100:1:

The config is file can also contain comments, which are lines beginning with a # character.

Pseudo device names work best: /dev/ptypX where X is a value between 0-9 or A-Z.
Any non-standard pseudo device name such as /dev/modem can be used with Minicom, but such names may fail to be accessible by some other serial communication applications. Therefore we recommend using a valid pseudo device name such as: /dev/ptyp0


The Client includes two executables:

cyclades-serial-cli - The virtual COM port redirector client
cyclades-serial-client - The client status/manager tool


The cyclades-serial-cli program is designed to be run from init, so that is is loaded during boot up. However doing so will cause it to continuously hold one of the modems open in NetModem Server, so it is recomended to run this from a terminal console instead where it can easily be controlled (ie: stopped by pressing Ctrl-C). This is done using the -x command line parameter from a Terminal.

Open a Terminal and type the following command line:
sudo cyclades-ser-cli -p 5999 -m 1 -x /dev/ptyp0 192.168.1.100 1

Subsitute the above IP address with the actual IP address (or hostname) of the NetModem Server PC.

The most common parameters used are defined below:
-p 5999
[This must be one less then the NetModem Server TCP Port]
-m 1     [Causes the client to ignore the Carrier Detection signal]
-x         [Causes the client to run in forground Console mode when started from a Terminal]
/dev/ptyp0 [This overrides the device name in the configuration file]
192.168.1.100 [The IP address (or hostname) of the Modem Server]
1          [This should always be 1. A 0 setting will select TCP port 23]


You should see the following:

The client is now running, redirecting data between the pseudo TTY named /dev/ptyp0 on the Linux box and a physical modem device on the NetModem Modem Server software running on a Windows PC.

The client also connects to the current Terminals pseudo terminal device, usually named /dev/pts/1 or /dev/pts/2. This is not a modem or serial device and should not be used in Minicom.

It is important to use the -p parameter to specify a value that is one less then the TCP port on the NetModem Server. NetModem Server defaults to using TCP port 6000, in which case -p 5999 should always be used in the client's command line.

It is also important to use the -m 1 parameter to instruct the client to ignore the Device Carrier Detection (commonly called the CD or DCD line). This is due to a bug in cyclades-ser-cli that causes it to detach the pseudo TTY from the telnet/socket connection as soon as the modem server reports that the DCD line is low(set to zero).
This prevents the applications from "hanging up" or knowing when the modem has been disconnected, but Minicom will still show the user a "NO CARRIER" message to indicate the disconnection. A hangup can be achived by closing/restarting cyclades-ser-cli .


Once the cyclades-serl-cli program is running, you can optionally change the permissions of the pseudo TTY port (virtual serial port) it creates, using the chmod command from another Terminal or a script. This will allow Minicom to access the port without needing to elevate the users access using using Sudo when running Minicom. For example:
sudo chmod og=rw /dev/ptyp0

This gives everyone read and write access to the named pseudo TTY device (a virtual serial port) created by the client.

As with any serial device, only one user can open a device at any given time. You can use multiple instances of cyclades-serial-client to create additional pseudo TTY devices so that other users or applications can be connected to other modems/devices on the Server at the same time, limited only to the number of shared modems/devices on the Server.

To stop the client and to release the modem back to the servers pool you can press Ctrl-C in the cyclades-ser-cli Terminal window, or the program can be sent a SIGTERM by any other means.


The cyclades-serial-client program is a client status/manager tool which can monitor and control the status of each cyclades-ser-cli that is defined in the cyclades-devices file. However, this tool does not appear to function with non cyclades devices.

The tool must be involked with one of the following commands: start, stop, restart, or status, and optionally a second parameter can be passed with the specific device name to control such as /dev/ptyp0 or if the second parameter is not passed then the requested action will be performed on all the devices defined in cyclades-devices.


Limitations of Cyclades-Serial-Client connecting to NetModem Server:

The Cyclades-Serial-Client is an excellent tool, but lacks some of the features of NetModem Client:
  • No automated credential handling. If the modem server requires user authentication, the user can manually enter their username and password into Minicom.

  • No support for multiple pools. The Cyclades-Serial-Client will always connect to the first modem pool defined in NetModem Server, on the next available COM port found in this modem pool.

  • No SSL/TLS Encryption support. It may be possible using SSLTunnel, but this is not suggested or supported by PC Micro staff.

  • No Carrier Detect (DCD) signal. This is due to a bug in the current version of cyclades-ser-cli requiring the -m 1 parameter to ignore this signal.

  • No ability to connect to the modem on the server ONLY while the pseudo TTY device is held open. This means that one of the devices\modems on the NetModem Server will be held open the entire time that cyclades-ser-cli is running. Press Ctrl-C to exit cyclades-serl-cli and release the modem device back to the NetModem Server modem pool.

For more information on using Minicom, refer to our Minicom walkthrough page.

 



hot deals on computers

Copyright © 2000- 2011 pcmicro.com    All rights reserved