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

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
CX(4)               FreeBSD Kernel Interfaces Manual (i386)              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
     beginning 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
     synchronous 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
     created 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,
                TIOCMSET, TIOCMBIS, TIOCMBIC ioctl calls.
     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
     synchronous mode by the cxconfig(8) utility, are accessible as network
     interfaces 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 HDLC).

     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
     synchronous 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 synchronous serial channels.  The version of the driver for BSD/386
     (BSDI) operating 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

     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.0-PRERELEASE        December 12, 1994       FreeBSD 11.0-PRERELEASE

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