16The DMA i/o channel and interrupt request numbers are configured 17by software at adapter initialization. Legal values are: 18.Pp 19.Bl -tag -compact -width Port 20.It Port 210x240, 0x260, 0x280, 0x300, 0x320, 0x380 22.It IRQ 233, 5, 7, 10, 11, 12, 15 24.It DMA 255, 6, 7 26.El 27.Sh DESCRIPTION 28The Cronyx-Sigma driver supports the adapters of models 100, 29400, 500, 401, 404, 410, 440, 703, 801, 810, 840. Different models have 30different set of channels: 31.Pp 32.Bl -tag -compact -width Cronyx-Sigma-999 33.It Model 34Channels 35.It Cronyx-Sigma-100 360 37.It Cronyx-Sigma-400 384, 5, 6, 7 39.It Cronyx-Sigma-500 400, 4, 5, 6, 7 41.It Cronyx-Sigma-401 420, 1, 2, 3 43.It Cronyx-Sigma-404 440, 1, 2, 3 45.It Cronyx-Sigma-410 460, 1, 2, 3 47.It Cronyx-Sigma-440 480, 1, 2, 3 49.It Cronyx-Sigma-703 500, 1, 2, 4, 5, 6, 7 51.It Cronyx-Sigma-801 520, 1, 2, 3, 4, 5, 6, 7 53.It Cronyx-Sigma-810 540, 1, 2, 3, 4, 5, 6, 7 55.It Cronyx-Sigma-840 560, 1, 2, 3, 4, 5, 6, 7 57.El 58.Pp 59A pair of two adapters can be united together by the special 60short inter-board cable. Two united adapters use the same 61IRQ and DMA channels and from the point of driver works 62as the single 16-channel multiplexer. One of the united 63boards is ``master'' and the other is ``slave''. 64.Pp 65The channels of the slave united board are numbered by the driver 66beginning with 8, for example, the united adapter of the model 100/500 67has channels 0, 8, 12, 13, 14, 15. 68.Pp 69The channels which have the RS-232 interface can be used 70both in synchronous and asynchronous modes (software selectable 71by cxconfig utility) and hence are called ``universal'' channels. 72.Pp 73The special device files, 74.Pa /dev/* , 75for the adapter Cronyx-Sigma 76are created by th 77.Xr MAKEDEV 8 78An example: 79.Bd -literal 80cd /dev 81sh MAKEDEV cronyx ttyx0 ttyx1 ttyy0 82.Ed 83.Sh "Asynchronous driver" 84The asynchronous channel device files have the names: 85.Pa /dev/ttyx# 86- for adapter cx0, 87.Pa /dev/ttyy# 88- for adapter cx1, 89.Pa /dev/ttyz# 90- for cx2. 91Here # is the channel number in hexadecimal form, 0-9-a-f. 92.Pp 93The driver fulfills the following standard ioctl requests (see 94.Xr ioctl 2 ) : 95.Pp 96.Bl -tag -width TIOCXXXXX -compact 97.It Dv TIOCSBRK 98Start sending BREAK. 99.It Dv TIOCCBRK 100Stop sending BREAK. 101.It Dv TIOCSDTR 102Set DTR signal (DTR := 1). The DTR signal is always set 103on the first 104.Xr open 2 105and could be changed by 106.Dv TIOCCDTR , 107.Dv TIOCSDTR , 108.Dv TIOCMSET , 109.Dv TIOCMBIS , 110.Dv TIOCMBIC 111ioctl calls. 112.It TIOCCDTR 113Clear DTR signal (DTR := 0). 114.It TIOCMSET 115Set the given values of DTR and RTS signals (<DTR:RTS> := data). 116The signals DTR and RTS are controlled by 117.Dv TIOCM_DTR 118and 119.Dv TIOCM_RTS 120bits of the data argument of the ioctl system call. 121.It TIOCMBIS 122Set DTR and RTS signals (<DTR:RTS> |= data). 123The signals DTR and RTS are controlled by 124.Dv TIOCM_DTR 125and 126.Dv TIOCM_RTS 127bits of the data argument of the ioctl system call. 128.It TIOCMBIC 129Clear DTR and RTS signals (<DTR:RTS> &= ~data). 130The signals DTR and RTS are controlled by 131.Dv TIOCM_DTR 132and 133.Dv TIOCM_RTS 134bits of the data argument of the ioctl system call. 135.It TIOCMGET 136Determine the state of the modem signals of the line. 137After the call the data argument contains the following bits: 138.Pp 139.Bl -tag -width TIOCM_XXX -compact 140.It TIOCM_LE 141always set (Line Enabled) 142.It TIOCM_DSR 143Data Set Ready signal received 144.It TIOCM_CTS 145Clear To Send signal received 146.It TIOCM_CD 147Data Carrier Detect signal received 148.It TIOCM_DTR 149Data Terminal Ready signal transmitted 150.It TIOCM_RTS 151Request To Send signal transmitted 152.El 153.El 154.Sh "Synchronous driver" 155The synchronous channels and universal channels, turned to the synchronous 156mode by the 157.Xr cxconfig 8 158utility, are accessible as network 159interfaces named ``cx#'' where # is the channel number, 0..47. 160All standard network interface parameters could be set by 161.Xr ifconfig 8 162utility. 163The 164.Xr cxconfig 8 165command is used to change some extended channel 166options, and also for setting the high-level software protocol 167(e.g. PpP or Cisco HDLC). 168.Pp 169The universal channels could be used both in asynchronous and synchronous modes. 170By default the asynchronous mode is set. 171The mode could be changed by 172.Xr cxconfig 8 173utility. 174The mode is blocked while the channel is busy (an asynchronous channel 175in open state or the network interface is up). 176.Sh "Synchronous Point-to-Point protocol" 177The Cronyx-Sigma driver uses the built-in implementation of the synchronous 178Point-to-Point protocol (sppp). It includes the support for such 179protocols as PpP/HDLC and Cisco/HDLC, and also the automatic 180connection loss test (via keepalive packets). 181The sppp protocol set is implemented as an independent module 182and could be used by other drivers of synchronous serial channels. 183The version of the driver for BSD/386 (BSDI) operating system 184also supports the usage of the general set of synchronous 185protocols, implemented inside the OS. 186The external protocol set could be selected by ``cxconfig ext'' command 187(see 188.Xr cxconfig 8 ) . 189.Sh "Channel Options Management" 190The 191.Xr cxconfig 8 192utility is used for setting the channels options. 193The channel options are generally set at the start of the operating 194system (for example, from the file 195.Pa /etc/rc ) . 196Note, that not all options have a sense for every particular 197case, and an attempt to set some of them can hang up the channel or 198the whole adapter. 199.Pp 200The actual channel options control functions are implemented via 201the ioctl-s on the special device file /dev/cronyx. 202There are the following ioctl-s available: 203.Pp 204.Bl -tag -width CXIOCXXXXXXX -compact 205.It CXIOCGETMODE 206Get the channel option values. 207.It CXIOCSETMODE 208Set the channel option values. 209.El 210.Pp 211The data argument of the ioctl call has an address of the options structure: 212.Bd -literal 213typedef struct { 214 unsigned char board; /* adapter number, 0..2 */ 215 unsigned char channel; /* channel number, 0..15 */ 216 unsigned char type; /* channel type (read only) */ 217 unsigned char iftype; /* chan0 interface */ 218 unsigned long rxbaud; /* receiver speed */ 219 unsigned long txbaud; /* transmitter speed */ 220 cx_chan_mode_t mode; /* channel mode */ 221 cx_chan_opt_t opt; /* common channel options */ 222 cx_opt_async_t aopt; /* async mode options */ 223 cx_opt_hdlc_t hopt; /* hdlc mode options */ 224 cx_opt_bisync_t bopt; /* bisync mode options */ 225 cx_opt_x21_t xopt; /* x.21 mode options */ 226 cx_soft_opt_t sopt; /* software options and state flags */ 227} cx_options_t; /* user settable options */ 228.Ed 229.Pp 230.Bl -tag -width rxbaudxxx 231.It Fa board 232The adapter number, 0..2. 233.It Fa channel 234The channel number, 0..15. 235.It Fa type 236The type of the channel (read-only argument). 237.It Fa iftype 238The interface type of the zero (and also the eight) channel: 0 - RS-232, 2391 - RS-449/V.35. 240.It Fa rxbaud 241The receiver data baud rate. 242.It Fa txbaud 243The transmitter data baud rate. 244.It Fa mode 245The channel mode: asynchronous/HDLC/Bisync/X.21. 246.It Fa opt 247The general channel options. 248.It Fa aopt 249The asynchronous mode options. 250.It Fa hopt 251The HDLC mode options. 252.It Fa bopt 253The Bisync mode options. 254.It Fa xopt 255The X.21 mode options. 256.It Fa sopt 257The software protocol options. 258.El 259.Sh FILES 260.Bl -tag -width /dev/cxXXXX -compact 261.It Pa /dev/cx?? 262Asynchronous channels. 263.It Pa /dev/cronyx 264The special device file for the channel options management. 265.El 266.Pp 267The sources for the driver reside in: 268.Pp 269.Bl -tag -width /dev/cxXXXX -compact 270.It Pa /sys/i386/isa/cronyx.c 271.It Pa /sys/i386/isa/cx.c 272.It Pa /sys/i386/isa/if_cx.c 273.It Pa /sys/i386/isa/cronyx.h 274.It Pa /sys/i386/isa/cxreg.h 275.It Pa /sys/net/if_spppsubr.c 276.It Pa /sys/net/if_sppp.h 277.El 278.Sh SEE ALSO 279.Xr cxconfig 8 , 280.Xr ifconfig 8
| 24The DMA i/o channel and interrupt request numbers are configured 25by software at adapter initialization. Legal values are: 26.Pp 27.Bl -tag -compact -width Port 28.It Port 290x240, 0x260, 0x280, 0x300, 0x320, 0x380 30.It IRQ 313, 5, 7, 10, 11, 12, 15 32.It DMA 335, 6, 7 34.El 35.Sh DESCRIPTION 36The Cronyx-Sigma driver supports the adapters of models 100, 37400, 500, 401, 404, 410, 440, 703, 801, 810, 840. Different models have 38different set of channels: 39.Pp 40.Bl -tag -compact -width Cronyx-Sigma-999 41.It Model 42Channels 43.It Cronyx-Sigma-100 440 45.It Cronyx-Sigma-400 464, 5, 6, 7 47.It Cronyx-Sigma-500 480, 4, 5, 6, 7 49.It Cronyx-Sigma-401 500, 1, 2, 3 51.It Cronyx-Sigma-404 520, 1, 2, 3 53.It Cronyx-Sigma-410 540, 1, 2, 3 55.It Cronyx-Sigma-440 560, 1, 2, 3 57.It Cronyx-Sigma-703 580, 1, 2, 4, 5, 6, 7 59.It Cronyx-Sigma-801 600, 1, 2, 3, 4, 5, 6, 7 61.It Cronyx-Sigma-810 620, 1, 2, 3, 4, 5, 6, 7 63.It Cronyx-Sigma-840 640, 1, 2, 3, 4, 5, 6, 7 65.El 66.Pp 67A pair of two adapters can be united together by the special 68short inter-board cable. Two united adapters use the same 69IRQ and DMA channels and from the point of driver works 70as the single 16-channel multiplexer. One of the united 71boards is ``master'' and the other is ``slave''. 72.Pp 73The channels of the slave united board are numbered by the driver 74beginning with 8, for example, the united adapter of the model 100/500 75has channels 0, 8, 12, 13, 14, 15. 76.Pp 77The channels which have the RS-232 interface can be used 78both in synchronous and asynchronous modes (software selectable 79by cxconfig utility) and hence are called ``universal'' channels. 80.Pp 81The special device files, 82.Pa /dev/* , 83for the adapter Cronyx-Sigma 84are created by th 85.Xr MAKEDEV 8 86An example: 87.Bd -literal 88cd /dev 89sh MAKEDEV cronyx ttyx0 ttyx1 ttyy0 90.Ed 91.Sh "Asynchronous driver" 92The asynchronous channel device files have the names: 93.Pa /dev/ttyx# 94- for adapter cx0, 95.Pa /dev/ttyy# 96- for adapter cx1, 97.Pa /dev/ttyz# 98- for cx2. 99Here # is the channel number in hexadecimal form, 0-9-a-f. 100.Pp 101The driver fulfills the following standard ioctl requests (see 102.Xr ioctl 2 ) : 103.Pp 104.Bl -tag -width TIOCXXXXX -compact 105.It Dv TIOCSBRK 106Start sending BREAK. 107.It Dv TIOCCBRK 108Stop sending BREAK. 109.It Dv TIOCSDTR 110Set DTR signal (DTR := 1). The DTR signal is always set 111on the first 112.Xr open 2 113and could be changed by 114.Dv TIOCCDTR , 115.Dv TIOCSDTR , 116.Dv TIOCMSET , 117.Dv TIOCMBIS , 118.Dv TIOCMBIC 119ioctl calls. 120.It TIOCCDTR 121Clear DTR signal (DTR := 0). 122.It TIOCMSET 123Set the given values of DTR and RTS signals (<DTR:RTS> := data). 124The signals DTR and RTS are controlled by 125.Dv TIOCM_DTR 126and 127.Dv TIOCM_RTS 128bits of the data argument of the ioctl system call. 129.It TIOCMBIS 130Set DTR and RTS signals (<DTR:RTS> |= data). 131The signals DTR and RTS are controlled by 132.Dv TIOCM_DTR 133and 134.Dv TIOCM_RTS 135bits of the data argument of the ioctl system call. 136.It TIOCMBIC 137Clear DTR and RTS signals (<DTR:RTS> &= ~data). 138The signals DTR and RTS are controlled by 139.Dv TIOCM_DTR 140and 141.Dv TIOCM_RTS 142bits of the data argument of the ioctl system call. 143.It TIOCMGET 144Determine the state of the modem signals of the line. 145After the call the data argument contains the following bits: 146.Pp 147.Bl -tag -width TIOCM_XXX -compact 148.It TIOCM_LE 149always set (Line Enabled) 150.It TIOCM_DSR 151Data Set Ready signal received 152.It TIOCM_CTS 153Clear To Send signal received 154.It TIOCM_CD 155Data Carrier Detect signal received 156.It TIOCM_DTR 157Data Terminal Ready signal transmitted 158.It TIOCM_RTS 159Request To Send signal transmitted 160.El 161.El 162.Sh "Synchronous driver" 163The synchronous channels and universal channels, turned to the synchronous 164mode by the 165.Xr cxconfig 8 166utility, are accessible as network 167interfaces named ``cx#'' where # is the channel number, 0..47. 168All standard network interface parameters could be set by 169.Xr ifconfig 8 170utility. 171The 172.Xr cxconfig 8 173command is used to change some extended channel 174options, and also for setting the high-level software protocol 175(e.g. PpP or Cisco HDLC). 176.Pp 177The universal channels could be used both in asynchronous and synchronous modes. 178By default the asynchronous mode is set. 179The mode could be changed by 180.Xr cxconfig 8 181utility. 182The mode is blocked while the channel is busy (an asynchronous channel 183in open state or the network interface is up). 184.Sh "Synchronous Point-to-Point protocol" 185The Cronyx-Sigma driver uses the built-in implementation of the synchronous 186Point-to-Point protocol (sppp). It includes the support for such 187protocols as PpP/HDLC and Cisco/HDLC, and also the automatic 188connection loss test (via keepalive packets). 189The sppp protocol set is implemented as an independent module 190and could be used by other drivers of synchronous serial channels. 191The version of the driver for BSD/386 (BSDI) operating system 192also supports the usage of the general set of synchronous 193protocols, implemented inside the OS. 194The external protocol set could be selected by ``cxconfig ext'' command 195(see 196.Xr cxconfig 8 ) . 197.Sh "Channel Options Management" 198The 199.Xr cxconfig 8 200utility is used for setting the channels options. 201The channel options are generally set at the start of the operating 202system (for example, from the file 203.Pa /etc/rc ) . 204Note, that not all options have a sense for every particular 205case, and an attempt to set some of them can hang up the channel or 206the whole adapter. 207.Pp 208The actual channel options control functions are implemented via 209the ioctl-s on the special device file /dev/cronyx. 210There are the following ioctl-s available: 211.Pp 212.Bl -tag -width CXIOCXXXXXXX -compact 213.It CXIOCGETMODE 214Get the channel option values. 215.It CXIOCSETMODE 216Set the channel option values. 217.El 218.Pp 219The data argument of the ioctl call has an address of the options structure: 220.Bd -literal 221typedef struct { 222 unsigned char board; /* adapter number, 0..2 */ 223 unsigned char channel; /* channel number, 0..15 */ 224 unsigned char type; /* channel type (read only) */ 225 unsigned char iftype; /* chan0 interface */ 226 unsigned long rxbaud; /* receiver speed */ 227 unsigned long txbaud; /* transmitter speed */ 228 cx_chan_mode_t mode; /* channel mode */ 229 cx_chan_opt_t opt; /* common channel options */ 230 cx_opt_async_t aopt; /* async mode options */ 231 cx_opt_hdlc_t hopt; /* hdlc mode options */ 232 cx_opt_bisync_t bopt; /* bisync mode options */ 233 cx_opt_x21_t xopt; /* x.21 mode options */ 234 cx_soft_opt_t sopt; /* software options and state flags */ 235} cx_options_t; /* user settable options */ 236.Ed 237.Pp 238.Bl -tag -width rxbaudxxx 239.It Fa board 240The adapter number, 0..2. 241.It Fa channel 242The channel number, 0..15. 243.It Fa type 244The type of the channel (read-only argument). 245.It Fa iftype 246The interface type of the zero (and also the eight) channel: 0 - RS-232, 2471 - RS-449/V.35. 248.It Fa rxbaud 249The receiver data baud rate. 250.It Fa txbaud 251The transmitter data baud rate. 252.It Fa mode 253The channel mode: asynchronous/HDLC/Bisync/X.21. 254.It Fa opt 255The general channel options. 256.It Fa aopt 257The asynchronous mode options. 258.It Fa hopt 259The HDLC mode options. 260.It Fa bopt 261The Bisync mode options. 262.It Fa xopt 263The X.21 mode options. 264.It Fa sopt 265The software protocol options. 266.El 267.Sh FILES 268.Bl -tag -width /dev/cxXXXX -compact 269.It Pa /dev/cx?? 270Asynchronous channels. 271.It Pa /dev/cronyx 272The special device file for the channel options management. 273.El 274.Pp 275The sources for the driver reside in: 276.Pp 277.Bl -tag -width /dev/cxXXXX -compact 278.It Pa /sys/i386/isa/cronyx.c 279.It Pa /sys/i386/isa/cx.c 280.It Pa /sys/i386/isa/if_cx.c 281.It Pa /sys/i386/isa/cronyx.h 282.It Pa /sys/i386/isa/cxreg.h 283.It Pa /sys/net/if_spppsubr.c 284.It Pa /sys/net/if_sppp.h 285.El 286.Sh SEE ALSO 287.Xr cxconfig 8 , 288.Xr ifconfig 8
|