18The system uses two components: A "Host adapter", which is plugged into 19an ISA, EISA or PCI slot and provides intelligence and buffering/processing 20capabilities, as well as an external bus in the form of a 37 pin cable. 21.Pp 22On this cable, "modules" are connected. The "SI" module comes in a 4 and 8 23port version. The "XIO" and "SX" modules come only in 248 port versions. 25.Pp 26The host adapter polls and transfers data between the modules and the rest 27of the machine. 28The Host adapter provides a 256 byte transmit and 256 byte 29receive FIFO for each of the 32 ports that it can maintain. 30.Pp 31The XIO modules can operate each of their 8 ports at 115,200 baud. 32The SI version can run at 57,600 baud. 33The SX modules can operate each of their 348 ports at up to 921,600 baud. 35.Pp 36SX modules are only supported when connected to an SX host card. 37SI or 38XIO modules are supported on any host card. 39.Pp 40The host adapter uses a shared memory block in the traditional ISA bus 41"hole" between 0xA0000 and 0xEFFFF. The adapter can be configured outside 42range, but requires the memory range to be explicitly non-cached. The 43driver does not yet support this mode of operation. 44.Pp 45SX ISA Host cards have an 8/16 bit mode switch or jumper on them. 46This switch 47or jumper MUST be set for 8 bit mode. 48.Pp 49The ISA adapters can use Irq's 11, 12 or 15 (and 9 and 10 in the case of 50SX host cards). 51.Pp 52The si device driver may have some of its configuration settings changed 53at run-time with the 54.Xr sicontrol 8 55utility. 56.Pp 57The si device driver also responds to the 58.Xr comcontrol 8 59utility for configuring drain-on-close timeouts. 60.Pp 61The driver also defines 3 sysctl variables that can be manipulated: 62machdep.si_debug sets the debug level for the whole driver. 63It depends 64on the driver being compiled with SI_DEBUG. machdep.si_pollrate 65sets how often per second the driver polls for lost interrupts. 66machdep.si_realpoll sets whether or not the card will treat the 67poll intervals as if they were interrupts. 68.Pp 69An open on a /dev device node controlled by the si driver obeys the same 70semantics as the 71.Xr sio 4 72driver. It fully supports the usual semantics of the cua ports, and the 73"initial termios" and "locked termios" settings. In summary, an open on a 74tty port will block until DCD is raised, unless O_NONBLOCK is specified. 75CLOCAL is honored. An open on a cua port will always succeed, but DCD 76transitions will be honored after DCD rises for the first time. 77.Pp 78Up to four SI/XIO host cards may be controlled by the si driver. 79Due to the lack of available interrupts, only 3 ISA SI/XIO host cards can be 80used at once. 81.Pp 82The lowest 5 bits of the minor device number are used to select the port 83number on the module cluster. 84The next 2 bits select which of 4 host adapter 85cards. This allows a maximum of 128 ports on this driver. 86.Pp 87Bit 7 is used to differentiate a tty/dialin port (bit 7=0) and a 88cua/callout port (bit 7=1). 89.Pp 90Bit 8 through 15 (on 91.Fx ) 92are unavailable as they are a shadow of the 93major device number. 94.Pp 95If bit 16 is a 1, the device node is referring to the "initial state" device. 96This "initial state" is used to prime the 97.Xr termios 4 98settings of the device when it is initially opened. 99If bit 17 is a 1, the device node is referring to the "locked state" device. 100The "locked state" is used to prevent the 101.Xr termios 4 102settings from being changed. 103.Pp 104To manipulate the initial/locked settings, the 105.Xr stty 1 106command is useful. When setting the "locked" variables, enabling the mode 107on the lock device will lock the termios mode, while disabling the mode will 108unlock it. 109.Sh FILES 110.Bl -tag -width /dev/si_control -compact 111.It Pa /dev/si_control 112global driver control file for 113.Xr sicontrol 8 114.It Pa /dev/ttyA* 115terminal/dialin ports 116.It Pa /dev/cuaA* 117dialout ports 118.It Pa /dev/ttyiA* 119initial termios state devices 120.It Pa /dev/ttylA* 121locked termios state devices 122.It Pa /dev/cuaiA* 123initial termios state devices for dialout ports 124.It Pa /dev/cualA* 125locked termios state devices for dialout ports 126.El 127.Sh SEE ALSO 128.Xr stty 1 , 129.Xr sio 4 , 130.Xr termios 4 , 131.Xr tty 4 , 132.Xr comcontrol 8 , 133.Xr sicontrol 8 134.Sh HISTORY 135This driver is loosely based on driver code originating at Specialix, which 136was ported to run on BSDI by 137.An Andy Rutter Aq andy@specialix.co.uk . 138The System V driver source is/was available by ftp from 139.Sy ftp.specialix.co.uk . 140.Pp 141This driver is not supported by Specialix International. 142.Sh AUTHORS 143.An -nosplit 144.An Peter Wemm Aq peter@netplex.com.au 145obtained the code from 146.An Andy Rutter 147and ported it to 148.Fx 149and threw the man page together. 150.An Bruce Evans Aq bde@zeta.org.au 151provided a large amount of assistance during porting. 152.An Nick Sayer Aq nick@specialix.com 153wrote the EISA, PCI and SX portions. 154.Sh BUGS 155The interrupt tuning rate is not believed to be optimal at this time for 156maximum efficiency. 157.Pp 158Polled mode (a feature of standard Specialix drivers) is not implemented, 159but it can be approximated by turning on machdep.si_realpoll. The poll 160frequency is set by machdep.si_pollrate (in units of 1/100th of a second). 161.Pp 162The driver does not yet support baud rates higher than 115,200 on SX 163modules. 164.Pp 165Operation outside the traditional ISA "hole" is not yet supported, although it 166should work if the test is removed from the probe routine. 167.Pp 168Multiple host cards are supported although combinations of hosts on 169different bus types have not been tested - device numbering is known to 170be a problem and may lead to unexpected results.
| 20The system uses two components: A "Host adapter", which is plugged into 21an ISA, EISA or PCI slot and provides intelligence and buffering/processing 22capabilities, as well as an external bus in the form of a 37 pin cable. 23.Pp 24On this cable, "modules" are connected. The "SI" module comes in a 4 and 8 25port version. The "XIO" and "SX" modules come only in 268 port versions. 27.Pp 28The host adapter polls and transfers data between the modules and the rest 29of the machine. 30The Host adapter provides a 256 byte transmit and 256 byte 31receive FIFO for each of the 32 ports that it can maintain. 32.Pp 33The XIO modules can operate each of their 8 ports at 115,200 baud. 34The SI version can run at 57,600 baud. 35The SX modules can operate each of their 368 ports at up to 921,600 baud. 37.Pp 38SX modules are only supported when connected to an SX host card. 39SI or 40XIO modules are supported on any host card. 41.Pp 42The host adapter uses a shared memory block in the traditional ISA bus 43"hole" between 0xA0000 and 0xEFFFF. The adapter can be configured outside 44range, but requires the memory range to be explicitly non-cached. The 45driver does not yet support this mode of operation. 46.Pp 47SX ISA Host cards have an 8/16 bit mode switch or jumper on them. 48This switch 49or jumper MUST be set for 8 bit mode. 50.Pp 51The ISA adapters can use Irq's 11, 12 or 15 (and 9 and 10 in the case of 52SX host cards). 53.Pp 54The si device driver may have some of its configuration settings changed 55at run-time with the 56.Xr sicontrol 8 57utility. 58.Pp 59The si device driver also responds to the 60.Xr comcontrol 8 61utility for configuring drain-on-close timeouts. 62.Pp 63The driver also defines 3 sysctl variables that can be manipulated: 64machdep.si_debug sets the debug level for the whole driver. 65It depends 66on the driver being compiled with SI_DEBUG. machdep.si_pollrate 67sets how often per second the driver polls for lost interrupts. 68machdep.si_realpoll sets whether or not the card will treat the 69poll intervals as if they were interrupts. 70.Pp 71An open on a /dev device node controlled by the si driver obeys the same 72semantics as the 73.Xr sio 4 74driver. It fully supports the usual semantics of the cua ports, and the 75"initial termios" and "locked termios" settings. In summary, an open on a 76tty port will block until DCD is raised, unless O_NONBLOCK is specified. 77CLOCAL is honored. An open on a cua port will always succeed, but DCD 78transitions will be honored after DCD rises for the first time. 79.Pp 80Up to four SI/XIO host cards may be controlled by the si driver. 81Due to the lack of available interrupts, only 3 ISA SI/XIO host cards can be 82used at once. 83.Pp 84The lowest 5 bits of the minor device number are used to select the port 85number on the module cluster. 86The next 2 bits select which of 4 host adapter 87cards. This allows a maximum of 128 ports on this driver. 88.Pp 89Bit 7 is used to differentiate a tty/dialin port (bit 7=0) and a 90cua/callout port (bit 7=1). 91.Pp 92Bit 8 through 15 (on 93.Fx ) 94are unavailable as they are a shadow of the 95major device number. 96.Pp 97If bit 16 is a 1, the device node is referring to the "initial state" device. 98This "initial state" is used to prime the 99.Xr termios 4 100settings of the device when it is initially opened. 101If bit 17 is a 1, the device node is referring to the "locked state" device. 102The "locked state" is used to prevent the 103.Xr termios 4 104settings from being changed. 105.Pp 106To manipulate the initial/locked settings, the 107.Xr stty 1 108command is useful. When setting the "locked" variables, enabling the mode 109on the lock device will lock the termios mode, while disabling the mode will 110unlock it. 111.Sh FILES 112.Bl -tag -width /dev/si_control -compact 113.It Pa /dev/si_control 114global driver control file for 115.Xr sicontrol 8 116.It Pa /dev/ttyA* 117terminal/dialin ports 118.It Pa /dev/cuaA* 119dialout ports 120.It Pa /dev/ttyiA* 121initial termios state devices 122.It Pa /dev/ttylA* 123locked termios state devices 124.It Pa /dev/cuaiA* 125initial termios state devices for dialout ports 126.It Pa /dev/cualA* 127locked termios state devices for dialout ports 128.El 129.Sh SEE ALSO 130.Xr stty 1 , 131.Xr sio 4 , 132.Xr termios 4 , 133.Xr tty 4 , 134.Xr comcontrol 8 , 135.Xr sicontrol 8 136.Sh HISTORY 137This driver is loosely based on driver code originating at Specialix, which 138was ported to run on BSDI by 139.An Andy Rutter Aq andy@specialix.co.uk . 140The System V driver source is/was available by ftp from 141.Sy ftp.specialix.co.uk . 142.Pp 143This driver is not supported by Specialix International. 144.Sh AUTHORS 145.An -nosplit 146.An Peter Wemm Aq peter@netplex.com.au 147obtained the code from 148.An Andy Rutter 149and ported it to 150.Fx 151and threw the man page together. 152.An Bruce Evans Aq bde@zeta.org.au 153provided a large amount of assistance during porting. 154.An Nick Sayer Aq nick@specialix.com 155wrote the EISA, PCI and SX portions. 156.Sh BUGS 157The interrupt tuning rate is not believed to be optimal at this time for 158maximum efficiency. 159.Pp 160Polled mode (a feature of standard Specialix drivers) is not implemented, 161but it can be approximated by turning on machdep.si_realpoll. The poll 162frequency is set by machdep.si_pollrate (in units of 1/100th of a second). 163.Pp 164The driver does not yet support baud rates higher than 115,200 on SX 165modules. 166.Pp 167Operation outside the traditional ISA "hole" is not yet supported, although it 168should work if the test is removed from the probe routine. 169.Pp 170Multiple host cards are supported although combinations of hosts on 171different bus types have not been tested - device numbering is known to 172be a problem and may lead to unexpected results.
|