From 1e6f21ed41e83670488677de0b159748eb02a365 Mon Sep 17 00:00:00 2001 From: wollman Date: Fri, 2 Dec 1994 23:23:01 +0000 Subject: Cronyx/Sigma sync/async serial driver with PPP support from Serge Vakulenko --- share/man/man4/man4.i386/cx.4 | 239 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100644 share/man/man4/man4.i386/cx.4 (limited to 'share/man/man4/man4.i386/cx.4') diff --git a/share/man/man4/man4.i386/cx.4 b/share/man/man4/man4.i386/cx.4 new file mode 100644 index 0000000..969b735 --- /dev/null +++ b/share/man/man4/man4.i386/cx.4 @@ -0,0 +1,239 @@ +.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 ( := 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 ( |= 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 ( &= ~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) -- cgit v1.1