diff --git a/share/man/man4/man4.i386/cx.4 b/share/man/man4/man4.i386/cx.4 index 969b7350282f..8f03d144e35e 100644 --- a/share/man/man4/man4.i386/cx.4 +++ b/share/man/man4/man4.i386/cx.4 @@ -1,144 +1,180 @@ -.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 +.Dd "December 12, 1994" +.Dt CX 4 i386 +.Os FreeBSD +.Sh NAME +.Nm cx , +.Nm if_cx +.Nd asynchronous/synchronous Cronyx-Sigma adapter driver +.Sh CONFIGURATION +.Cd "device cx0 at isa? port 0x240 irq 15 drq 7" +.Cd "device cx1 at isa? port 0x260 irq 12 drq 6" +.Cd pseudo-device sppp +.Pp 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 +.Pp +.Bl -tag -compact -width Port +.It Port 0x240, 0x260, 0x280, 0x300, 0x320, 0x380 -.IP IRQ +.It IRQ 3, 5, 7, 10, 11, 12, 15 -.IP DMA +.It DMA 5, 6, 7 -.SH DESCRIPTION -.PP +.Sh DESCRIPTION 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 +.Pp +.Bl -tag -compact -width Cronyx-Sigma-999 +.It Model +Channels +.It Cronyx-Sigma-100 +0 +.It Cronyx-Sigma-400 +4, 5, 6, 7 +.It Cronyx-Sigma-500 +0, 4, 5, 6, 7 +.It Cronyx-Sigma-401 +0, 1, 2, 3 +.It Cronyx-Sigma-404 +0, 1, 2, 3 +.It Cronyx-Sigma-410 +0, 1, 2, 3 +.It Cronyx-Sigma-440 +0, 1, 2, 3 +.It Cronyx-Sigma-703 +0, 1, 2, 4, 5, 6, 7 +.It Cronyx-Sigma-801 +0, 1, 2, 3, 4, 5, 6, 7 +.It Cronyx-Sigma-810 +0, 1, 2, 3, 4, 5, 6, 7 +.It Cronyx-Sigma-840 +0, 1, 2, 3, 4, 5, 6, 7 +.El +.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 +.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 +.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''. +.Pp +The special device files, +.Pa /dev/* , +for the adapter Cronyx-Sigma +are created by th +.Xr MAKEDEV 8 An example: -.ES +.Bd -literal cd /dev -sh MAKEDEV.cx cronyx ttyx0 ttyx1 ttyy0 -.EE -.SH "Asynchronous driver" -.PP +sh MAKEDEV cronyx ttyx0 ttyx1 ttyy0 +.El +.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 +.Pa /dev/ttyx# +- for adapter cx0, +.Pa /dev/ttyy# +- for adapter cx1, +.Pa /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 +.Xr ioctl ) : +.Pp +.Bl -tag -width TIOCXXXXX -compact +.It Dv TIOCSBRK Start sending BREAK. -.IP TIOCCBRK +.It Dv TIOCCBRK Stop sending BREAK. -.IP TIOCSDTR +.It Dv 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 +.Dv TIOCCDTR , +.Dv TIOCSDTR , +.Dv TIOCMSET , +.Dv TIOCMBIS , +.Dv TIOCMBIC +ioctl calls. +.It TIOCCDTR Clear DTR signal (DTR := 0). -.IP TIOCMSET +.It TIOCMSET Set the given values of DTR and RTS signals ( := data). -The signals DTR and RTS are controlled by TIOCM_DTR and TIOCM_RTS +The signals DTR and RTS are controlled by +.Dv TIOCM_DTR +and +.DvTIOCM_RTS bits of the data argument of the ioctl system call. -.IP TIOCMBIS +.It TIOCMBIS Set DTR and RTS signals ( |= data). -The signals DTR and RTS are controlled by TIOCM_DTR and TIOCM_RTS +The signals DTR and RTS are controlled by +.Dv TIOCM_DTR +and +.Dv TIOCM_RTS bits of the data argument of the ioctl system call. -.IP TIOCMBIC +.It TIOCMBIC Clear DTR and RTS signals ( &= ~data). -The signals DTR and RTS are controlled by TIOCM_DTR and TIOCM_RTS +The signals DTR and RTS are controlled by +.Dv TIOCM_DTR +and +.Dv TIOCM_RTS bits of the data argument of the ioctl system call. -.IP TIOCMGET +.It 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 +.Pp +.Bl -tag -width TIOCM_XXX -compact +.It TIOCM_LE +always set (Line Enabled) +.It TIOCM_DSR +Data Set Ready signal received +.It TIOCM_CTS +Clear To Send signal received +.It TIOCM_CD +Data Carrier Detect signal received +.It TIOCM_DTR +Data Terminal Ready signal transmitted +.It TIOCM_RTS +Request To Send signal transmitted +.El +.El +.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 +mode by the +.Xr 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 +.Xr ifconfig 8 +utility. +The +.Xr 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 +(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 could be changed by +.Xr 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 +.Sj "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 +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. @@ -146,26 +182,33 @@ 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. +(see +.Xr cxconfig 8 ) . +.Sh "Channel Options Management" +.Pp +The +.Xr 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). +system (for example, from the file +.Pa /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 +.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 +.Pp +.Bl -tag -width CXIOCXXXXXXX -compact +.It CXIOCGETMODE Get the channel option values. -.IP CXIOCSETMODE +.It CXIOCSETMODE Set the channel option values. -.PP +.El +.Pp The data argument of the ioctl call has an address of the options structure: -.ES +.Bd -literal typedef struct { unsigned char board; /* adapter number, 0..2 */ unsigned char channel; /* channel number, 0..15 */ @@ -181,59 +224,56 @@ typedef struct { 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 +.Ed +.Pp +.Bl -tag -width rxbaudxxx +.It Fa board The adapter number, 0..2. -.IP channel +.It Fa channel The channel number, 0..15. -.IP type +.It Fa type The type of the channel (read-only argument). -.IP iftype +.It Fa iftype The interface type of the zero (and also the eight) channel: 0 - RS-232, 1 - RS-449/V.35. -.IP rxbaud +.It Fa rxbaud The receiver data baud rate. -.IP txbaud +.It Fa txbaud The transmitter data baud rate. -.IP mode +.It Fa mode The channel mode: asynchronous/HDLC/Bisync/X.21. -.IP opt +.It Fa opt The general channel options. -.IP aopt +.It Fa aopt The asynchronous mode options. -.IP hopt +.It Fa hopt The HDLC mode options. -.IP bopt +.It Fa bopt The Bisync mode options. -.IP xopt +.It Fa xopt The X.21 mode options. -.IP sopt +.It Fa sopt The software protocol options. -.SH FILES -.PP -/dev/cx?? -.IP +.El +.Sh FILES +.Bl -tag -width /dev/cxXXXX -compact +.It Pa /dev/cx?? Asynchronous channels. -.PP -/dev/cronyx -.IP +.It Pa /dev/cronyx +.El 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) +.Pp +The sources for the driver reside in: +.Pp +.Bl -tag -width /dev/cxXXXX -compact +.It Pa /sys/i386/isa/cronyx.c +.It Pa /sys/i386/isa/cx.c +.It Pa /sys/i386/isa/if_cx.c +.It Pa /sys/i386/isa/cronyx.h +.It Pa /sys/i386/isa/cxreg.h +.It Pa /sys/net/if_spppsubr.c +.It Pa /sys/net/if_sppp.h +.El +.Sh SEE ALSO +.Xr cxconfig 8 , +.Xr ifconfig 8