comservd man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

COMSERVD(8)		  BSD System Manager's Manual		   COMSERVD(8)

NAME
     comservd — make network terminal server serial ports accessible via /dev

SYNOPSIS
     comservd [-f config_file]

DESCRIPTION
     The comservd program provides a facility to access network terminal
     server serial ports, such as those available on Xyplex terminal server
     models, via /dev device file entries.  This allows programs such as
     tip(1) to access devices connected to the terminal server serial ports.
     Comservd can also serve local serial ports to remote systems via the net‐
     work, turning the local system into a network terminal server with
     respect to its own local serial ports.  At startup, comservd loads and
     executes commands from its configuration file.

     The options are as follows:

     -f config_file
	     At startup, read configuration commands from the file config_file
	     instead of the default /usr/local/etc/comservd.conf.

     The configuration file should contain the commands required to tell com‐
     servd what terminal server ports to attach to and name the local device
     file used to access those ports.  It also contains which local serial
     ports the localhost will serve out via the network, making it function
     like a terminal server itself.  See below for a few examples.  The com‐
     plete list of valid commands are:

     add devid devname host hwport tcpport logspec
	     Add a remote endpoint to local enpoint mapping.  This associates
	     the device file named by devname with the terminal server, serial
	     port, and tcp port named by host, hwport and tcpport.  If devname
	     is not an absolute path, it is taken relative to the path speci‐
	     fied by the devdir command.  comservd creates the device name
	     named by devname which is a symbolic link to the slave side of a
	     pty(4) device.  comservd opens the master side of the pty(4)
	     pair.  Logspec may be log, nolog, or a filename.  If log is used,
	     the log file is the same as was specified for the device id and
	     is relative to the path specified by the logdir command.  If any‐
	     thing other than log or nolog is used, it is treated as a file‐
	     name.  Relative filenames are treated relative to the path speci‐
	     fied by the logdir command.

     ctl devid devname
	     Add a control port to local enpoint mapping.  This allows one to
	     establish a direct local command mode connection to the daemon on
	     the specified device file named by devname.

     devdir path
	     Specify the default path to place symbolic links to pty(4) device
	     files.  The devdir path is the default location for relative
	     device names specified in the devname field of the add command.

     endpoints
	     List local and remote endpoint connections.

     help, ?
	     Print a list of valid commands.

     list    List all device ids and their corresponding device and log files.

     logdir path
	     Specify the default path to place session log files.  The logdir
	     path is the default directory to place log files specified in the
	     logspec field of the add command.	Each connection may have a log
	     file to which the data flow is logged.

     quit    Quit command mode and disconnect from the daemon.

     restart
	     Restart the daemon.

     serve devid devname hwport tcpport logspec
	     Specify a local serial port to serve over the network at the
	     specified TCP port.  The serial port is named by devname, with
	     the serial port number specified by hwport.  The hwport value is
	     actually not used by comservd except for display purposes.	 The
	     TCP port number is given by tcpport.  If devname is not an abso‐
	     lute path, it is taken relative to the path specified by the
	     devdir command.  Unlike the add command, serve does not create
	     the device named by devname.  Instead, devname must be a real
	     device and must already exist.  comservd creates a network socket
	     and binds it to the specified TCP port and then listens for
	     incoming connections.  When an incoming connection is made,
	     comservd passes data between the network connection and the local
	     device.  Logspec serves the same purpose as in the add command
	     above.

     set devid parmeter = value
	     Set operation parameters for the device referenced by device
	     named by devid.  The special devid global refers to parameters
	     that affect all connections.  Valid paremeter values are:

	     options
		     Valid values for the options parameter are:

		     wait, nowait
			     wait for data on the local side before initiating
			     a connection to the remote side.  nowait is
			     appropriate if the remote side functions indepen‐
			     dently of the local side, such as when the remote
			     side is a serial system console.  The default is
			     nowait.

		     block, noblock
			     block the producing side if the receiving side
			     can't receive the data immediately.  When noblock
			     is in effect, data is lost if the receiver is not
			     ready.  Regardless of the whether block or
			     noblock is in effect, all data is properly writ‐
			     ten in the log file if logging is enabled.
			     noblock is appropriate when the producing side
			     must be able to continue even if there is not a
			     process on the receiving side to see the data.
			     Examples include when the remote side is a serial
			     system console.  block is appropriate when reli‐
			     able transmission of all data between the local
			     and remote sides is required, even if it means
			     blocking one of the sides until the other can
			     consume the data.	The default is block.

		     logall, nologall
			     When logall is specified, comservd will log all
			     data originating from the local side of the con‐
			     nection as well as data originating from the
			     remote side of the connection to the log file.
			     When nologall is in effect, comservd will log
			     only data originating from the remote side of the
			     connection.  Use nologall for most cases.	The
			     logall option is useful when debugging a protocol
			     stream between two devices.  The default is
			     nologall.

		     loghex, nologhex
			     When loghex is in effect, comservd will write its
			     data to the log file in hexadecimal format as
			     well as provide an ASCII representation and iden‐
			     tify the source of the data, either remote or
			     local.  loghex is useful for debugging a protocol
			     stream between two devices.  nologhex is appro‐
			     priate when only ASCII data is present.  The
			     default is nologhex.

	     verbose
		     The verbose variable takes a numeric value, and the
		     higher the value, the more verbose the output of
		     comservd.	At present, any setting of 1 or greater will
		     enable all informational messages.

	     The special device id global is available for setting global
	     options which are used as defaults for new device ids.

     show devid
	     Show operational settings for the device id specified by devid.

     shutdown
	     Shutdown the server.

     version
	     Display the revision timestamp.  This information is very useful
	     to include in bug reports.

EXAMPLES
     comservd can be used for many applications.  One of the more common
     applications is using comservd to provide access to serial system con‐
     soles.  A Xyplex MAXserver 1600 has 16 serial ports which can be con‐
     nected to the serial console of your system.  The example below provides
     the setup:

	   #
	   # /usr/local/etc/comservd.conf
	   # Configuration file for serial consoles
	   # Host terminal server is named xyplex1

	   # Specify default directory for device log files and for device symlinks.
	   logdir /usr/local/comserv/log
	   devdir /usr/local/comserv/dev

	   # Define a control port
	   ctl comserv comserv

	   # Don't block the remote side of a connection if there is no one
	   # listening locally.
	   set default options=noblock

	   # Serve up our own com1 and com2 serial ports for remote access at
	   # ports 2100 and 2200 respectively.
	   #
	   #	   DevId      Device  Com#  TCP/IP Port	 LogFile Spec
	   #	   -----  ----------  ----  -----------	 ------------
	   serve   com1	  /dev/cuaa0	 1	   2100	 nolog
	   serve   com2	  /dev/cuaa1	 2	   2200	 nolog

	   # Add device nodes to point to the first 4 serial ports of 'xyplex1'.
	   #
	   #   DevId  Device   TermSrv	 Termsrv	TermSrv	 LogFile
	   #	      Symlink  Hostname	  Port #  TCP/IP Port #	    Spec
	   #   -----  -------  --------	 -------  -------------	 -------
	   add	srv1	 srv1	xyplex1	       1	   2100	 log
	   add	srv2	 srv2	xyplex1	       2	   2200	 log
	   add	srv3	 srv3	xyplex1	       3	   2300	 log
	   add	srv4	 srv4	xyplex1	       4	   2400	 log

     Add the following entries to /etc/remote:

	   comserv:dv=/usr/local/comserv/dev/comserv:br#9600:pa=none
	   srv1:dv=/usr/local/comserv/dev/srv1:br#9600:pa=none
	   srv2:dv=/usr/local/comserv/dev/srv2:br#9600:pa=none
	   srv3:dv=/usr/local/comserv/dev/srv3:br#9600:pa=none
	   srv4:dv=/usr/local/comserv/dev/srv4:br#9600:pa=none

     One can now use a program like tip(1) to connect to comserv and issue
     commands or connect to srv1-srv4 and attach to the console of the respec‐
     tive machine.  The console log files are placed in
     /usr/local/comserv/log/srv1-srv4.	Additionally, one can connect to TCP
     ports 2100 and 2200 of the system running comservd and to access its
     local serial ports.

     To use comservd to debug the data stream between two devices, set up the
     device entry as follows in /usr/local/etc/comservd.conf:

	   ctl comserv comserv
	   add ppp ppp xyplex1 1 2100 log
	   set ppp options=block,logall,loghex

     The log file /usr/local/comserv/log/ppp will contain the data transmis‐
     sion log of the form:

     L	7e ff 7d 23 c0 21 7d 21	 7d 21 7d 20 7d 2e 7d 25  |~.}#.!}!}!} }.}%|
     L	7d 26 89 4b f6 e5 7d 27	 7d 22 7d 28 7d 22 7d 2b  |}&.K..}'}"}(}"}+|
     L	f3 7e						  |.~		   |
     R	7e ff ff 7d 23 c0 21 7d	 21 7d 25 7d 20 7d 34 7d  |~..}#.!}!}%} }4}|
     R	22 7d 26 7d 20 7d 2a 7d	 20 7d 20 7d 25 7d	  |"}&} }*} } }%}  |
     R	26 7d 25 7d 24 92 70 7d	 27 7d 22 7d 28 7d 22 bb  |&}%}$.p}'}"}(}".|
     R	c8 7e						  |.~		   |
     L	7e ff 7d 23 c0 21 7d 21	 7d 21 7d 20 7d 2e 7d 25  |~.}#.!}!}!} }.}%|
     L	7d 26 89 4b f6 e5 7d 27	 7d 22 7d 28 7d 22 7d 2b  |}&.K..}'}"}(}"}+|
     L	f3 7e						  |.~		   |

     Data prefixed with L originate from the local endpoint, while data pre‐
     fixed with R originate from the remote side.

FILES
     /usr/local/etc/comservd.conf	  Configuration file.
     /usr/local/etc/comservd.conf.sample  Sample configuration file.
     /usr/local/comserv/log		  Default directory for session logs.
     /usr/local/comserv/dev		  Default directory for device sym‐
					  links.

SEE ALSO
     pty(4), remote(5), syslogd(8), tip(1)

AUTHORS
     Brian S. Dean <bsd@FreeBSD.org>

BUGS
     Please send bug reports to bsd@FreeBSD.org.

4.4BSD				 May 14, 2002				4.4BSD
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net