Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CX(4)		     FreeBSD/i386 Kernel Interfaces Manual		 CX(4)

     cx	-- asynchronous/synchronous Cronyx-Sigma adapter driver

     device cx0	at isa?	port 0x240 irq 15 drq 7
     device cx1	at isa?	port 0x260 irq 12 drq 6
     pseudo-device sppp

     The base i/o port address should be set by	jumpers	on the board.  The DMA
     i/o channel and interrupt request numbers are configured by software at
     adapter initialization.  Legal values are:

     Port  0x240, 0x260, 0x280,	0x300, 0x320, 0x380
     IRQ   3, 5, 7, 10,	11, 12,	15
     DMA   5, 6, 7

     The Cronyx-Sigma driver supports the adapters of models 100, 400, 500,
     401, 404, 410, 440, 703, 801, 810,	840. Different models have different
     set of channels:

     Model	       Channels
     Cronyx-Sigma-100  0
     Cronyx-Sigma-400  4, 5, 6,	7
     Cronyx-Sigma-500  0, 4, 5,	6, 7
     Cronyx-Sigma-401  0, 1, 2,	3
     Cronyx-Sigma-404  0, 1, 2,	3
     Cronyx-Sigma-410  0, 1, 2,	3
     Cronyx-Sigma-440  0, 1, 2,	3
     Cronyx-Sigma-703  0, 1, 2,	4, 5, 6, 7
     Cronyx-Sigma-801  0, 1, 2,	3, 4, 5, 6, 7
     Cronyx-Sigma-810  0, 1, 2,	3, 4, 5, 6, 7
     Cronyx-Sigma-840  0, 1, 2,	3, 4, 5, 6, 7

     A pair of two adapters can	be united together by the special short	inter-
     board cable.  Two united adapters use the same IRQ	and DMA	channels and
     from the point of driver works as the single 16-channel multiplexer.  One
     of	the united boards is ``master''	and the	other is ``slave''.

     The channels of the slave united board are	numbered by the	driver begin-
     ning with 8, for example, the united adapter of the model 100/500 has
     channels 0, 8, 12,	13, 14,	15.

     The channels which	have the RS-232	interface can be used both in synchro-
     nous and asynchronous modes (software selectable by cxconfig utility) and
     hence are called ``universal'' channels.

     The special device	files, /dev/*, for the adapter Cronyx-Sigma are	cre-
     ated by th	MAKEDEV(8) An example:

     cd	/dev
     sh	MAKEDEV	cronyx ttyx0 ttyx1 ttyy0

Asynchronous driver
     The asynchronous channel device files have	the names: /dev/ttyx# -	for
     adapter cx0, /dev/ttyy# - for adapter cx1,	/dev/ttyz# - for cx2.  Here #
     is	the channel number in hexadecimal form,	0-9-a-f.

     The driver	fulfills the following standard	ioctl requests (see ioctl(2)):

     TIOCSBRK	Start sending BREAK.
     TIOCCBRK	Stop sending BREAK.
     TIOCSDTR	Set DTR	signal (DTR := 1).  The	DTR signal is always set on
		the first open(2) and could be changed by TIOCCDTR, TIOCSDTR,
     TIOCCDTR	Clear DTR signal (DTR := 0).
     TIOCMSET	Set the	given values of	DTR and	RTS signals (<DTR:RTS> :=
		data).	The signals DTR	and RTS	are controlled by TIOCM_DTR
		and TIOCM_RTS bits of the data argument	of the ioctl system
     TIOCMBIS	Set DTR	and RTS	signals	(<DTR:RTS> |= data).  The signals DTR
		and RTS	are controlled by TIOCM_DTR and	TIOCM_RTS bits of the
		data argument of the ioctl system call.
     TIOCMBIC	Clear DTR and RTS signals (<DTR:RTS> &=	~data).	 The signals
		DTR and	RTS are	controlled by TIOCM_DTR	and TIOCM_RTS bits of
		the data argument of the ioctl system call.
     TIOCMGET	Determine the state of the modem signals of the	line.  After
		the call the data argument contains the	following bits:

		TIOCM_LE   always set (Line Enabled)
		TIOCM_DSR  Data	Set Ready signal received
		TIOCM_CTS  Clear To Send signal	received
		TIOCM_CD   Data	Carrier	Detect signal received
		TIOCM_DTR  Data	Terminal Ready signal transmitted
		TIOCM_RTS  Request To Send signal transmitted

Synchronous driver
     The synchronous channels and universal channels, turned to	the synchro-
     nous mode by the cxconfig(8) utility, are accessible as network inter-
     faces named ``cx#'' where # is the	channel	number,	0..47.	All standard
     network interface parameters could	be set by ifconfig(8) utility.	The
     cxconfig(8) command is used to change some	extended channel options, and
     also for setting the high-level software protocol (e.g. PpP or Cisco

     The universal channels could be used both in asynchronous and synchronous
     modes.  By	default	the asynchronous mode is set.  The mode	could be
     changed by	cxconfig(8) utility.  The mode is blocked while	the channel is
     busy (an asynchronous channel in open state or the	network	interface is

Synchronous Point-to-Point protocol
     The Cronyx-Sigma driver uses the built-in implementation of the synchro-
     nous Point-to-Point protocol (sppp).  It includes the support for such
     protocols as PpP/HDLC and Cisco/HDLC, and also the	automatic connection
     loss test (via keepalive packets).	 The sppp protocol set is implemented
     as	an independent module and could	be used	by other drivers of synchro-
     nous serial channels.  The	version	of the driver for BSD/386 (BSDI) oper-
     ating system also supports	the usage of the general set of	synchronous
     protocols,	implemented inside the OS.  The	external protocol set could be
     selected by ``cxconfig ext'' command (see cxconfig(8)).

Channel	Options	Management
     The cxconfig(8) utility is	used for setting the channels options.	The
     channel options are generally set at the start of the operating system
     (for example, from	the file /etc/rc).  Note, that not all options have a
     sense for every particular	case, and an attempt to	set some of them can
     hang up the channel or the	whole adapter.

     The actual	channel	options	control	functions are implemented via the
     ioctl-s on	the special device file	/dev/cronyx.  There are	the following
     ioctl-s available:

     CXIOCGETMODE  Get the channel option values.
     CXIOCSETMODE  Set the channel option values.

     The data argument of the ioctl call has an	address	of the options struc-

     typedef struct {
	 unsigned char board;	/* adapter number, 0..2	*/
	 unsigned char channel;	/* channel number, 0..15 */
	 unsigned char type;	/* channel type	(read only) */
	 unsigned char iftype;	/* chan0 interface */
	 unsigned long rxbaud;	/* receiver speed */
	 unsigned long txbaud;	/* transmitter speed */
	 cx_chan_mode_t	mode;	/* channel mode	*/
	 cx_chan_opt_t opt;	/* common channel options */
	 cx_opt_async_t	aopt;	/* async mode options */
	 cx_opt_hdlc_t hopt;	/* hdlc	mode options */
	 cx_opt_bisync_t bopt;	/* bisync mode options */
	 cx_opt_x21_t xopt;	/* x.21	mode options */
	 cx_soft_opt_t sopt;	/* software options and	state flags */
     } cx_options_t;		/* user	settable options */

     board	The adapter number, 0..2.

     channel	The channel number, 0..15.

     type	The type of the	channel	(read-only argument).

     iftype	The interface type of the zero (and also the eight) channel: 0
		- RS-232, 1 - RS-449/V.35.

     rxbaud	The receiver data baud rate.

     txbaud	The transmitter	data baud rate.

     mode	The channel mode: asynchronous/HDLC/Bisync/X.21.

     opt	The general channel options.

     aopt	The asynchronous mode options.

     hopt	The HDLC mode options.

     bopt	The Bisync mode	options.

     xopt	The X.21 mode options.

     sopt	The software protocol options.

     /dev/cx??	  Asynchronous channels.
     /dev/cronyx  The special device file for the channel options management.

     The sources for the driver	reside in:


     cxconfig(8), ifconfig(8)

FreeBSD	11.1		       December	12, 1994		  FreeBSD 11.1

NAME | SYNOPSIS | DESCRIPTION | Asynchronous driver | Synchronous driver | Synchronous Point-to-Point protocol | Channel Options Management | FILES | SEE ALSO

Want to link to this manual page? Use this URL:

home | help