mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-17 10:26:15 +00:00
6014635361
from Serge Vakulenko
240 lines
7.4 KiB
Groff
240 lines
7.4 KiB
Groff
.TH Cronyx-Sigma 1
|
|
.rm ES
|
|
.rm EE
|
|
.de ES
|
|
.PP
|
|
.nf
|
|
.in +0.5i
|
|
..
|
|
.de EE
|
|
.in -0.5i
|
|
.fi
|
|
..
|
|
.na
|
|
.SH NAME
|
|
.B cx
|
|
\- asynchronous Cronyx-Sigma adapter driver
|
|
.br
|
|
.B if_cx
|
|
\- synchronous Cronyx-Sigma adapter driver
|
|
.SH CONFIGURATION
|
|
.B
|
|
device cx0 at isa? port 0x240 irq 15 drq 7
|
|
.br
|
|
.B
|
|
device cx1 at isa? port 0x260 irq 12 drq 6
|
|
.br
|
|
.B
|
|
pseudo-device sppp
|
|
.P
|
|
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:
|
|
.IP Port
|
|
0x240, 0x260, 0x280, 0x300, 0x320, 0x380
|
|
.IP IRQ
|
|
3, 5, 7, 10, 11, 12, 15
|
|
.IP DMA
|
|
5, 6, 7
|
|
.SH DESCRIPTION
|
|
.PP
|
|
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:
|
|
.ES
|
|
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
|
|
.EE
|
|
.PP
|
|
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''.
|
|
.PP
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
The special device files (/dev/*) for the adapter Cronyx-Sigma
|
|
are created by the command file ``/dev/MAKEDEV.cx''.
|
|
An example:
|
|
.ES
|
|
cd /dev
|
|
sh MAKEDEV.cx cronyx ttyx0 ttyx1 ttyy0
|
|
.EE
|
|
.SH "Asynchronous driver"
|
|
.PP
|
|
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.
|
|
.PP
|
|
The driver fulfills the following standard ioctl requests (see ioctl(2)):
|
|
.IP TIOCSBRK
|
|
Start sending BREAK.
|
|
.IP TIOCCBRK
|
|
Stop sending BREAK.
|
|
.IP 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.
|
|
.IP TIOCCDTR
|
|
Clear DTR signal (DTR := 0).
|
|
.IP 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 call.
|
|
.IP 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.
|
|
.IP 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.
|
|
.IP TIOCMGET
|
|
Determine the state of the modem signals of the line.
|
|
After the call the data argument contains the following bits:
|
|
.ES
|
|
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
|
|
.EE
|
|
.SH "Synchronous driver"
|
|
.PP
|
|
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).
|
|
.PP
|
|
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 up).
|
|
.SH "Synchronous Point-to-Point protocol"
|
|
.PP
|
|
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)).
|
|
.SH "Channel Options Management"
|
|
.PP
|
|
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.
|
|
.PP
|
|
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:
|
|
.IP CXIOCGETMODE
|
|
Get the channel option values.
|
|
.IP CXIOCSETMODE
|
|
Set the channel option values.
|
|
.PP
|
|
The data argument of the ioctl call has an address of the options structure:
|
|
.ES
|
|
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 */
|
|
.EE
|
|
.IP board
|
|
The adapter number, 0..2.
|
|
.IP channel
|
|
The channel number, 0..15.
|
|
.IP type
|
|
The type of the channel (read-only argument).
|
|
.IP iftype
|
|
The interface type of the zero (and also the eight) channel: 0 - RS-232,
|
|
1 - RS-449/V.35.
|
|
.IP rxbaud
|
|
The receiver data baud rate.
|
|
.IP txbaud
|
|
The transmitter data baud rate.
|
|
.IP mode
|
|
The channel mode: asynchronous/HDLC/Bisync/X.21.
|
|
.IP opt
|
|
The general channel options.
|
|
.IP aopt
|
|
The asynchronous mode options.
|
|
.IP hopt
|
|
The HDLC mode options.
|
|
.IP bopt
|
|
The Bisync mode options.
|
|
.IP xopt
|
|
The X.21 mode options.
|
|
.IP sopt
|
|
The software protocol options.
|
|
.SH FILES
|
|
.PP
|
|
/dev/cx??
|
|
.IP
|
|
Asynchronous channels.
|
|
.PP
|
|
/dev/cronyx
|
|
.IP
|
|
The special device file for the channel options management.
|
|
.PP
|
|
/sys/i386/isa/cronyx.c
|
|
.br
|
|
/sys/i386/isa/cx.c
|
|
.br
|
|
/sys/i386/isa/if_cx.c
|
|
.br
|
|
/sys/i386/isa/cronyx.h
|
|
.br
|
|
/sys/i386/isa/cxreg.h
|
|
.br
|
|
/sys/net/if_spppsubr.c
|
|
.br
|
|
/sys/net/if_sppp.h
|
|
.IP
|
|
The sources of the driver.
|
|
.SH SEE ALSO
|
|
.PP
|
|
cxconfig(8)
|