'\" te .\" Copyright (c) 2009, Sun Microsystems, Inc. .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. .\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with .\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] .TH zs 7D "16 Jul 2009" "SunOS 5.11" "Devices" .SH NAME zs \- Zilog 8530 SCC serial communications driver .SH SYNOPSIS .LP .nf #include .fi .LP .nf #include .fi .LP .nf open("/dev/term/\fIn\fR", \fImode\fR); .fi .LP .nf open("/dev/tty\fIn\fR", \fImode\fR); .fi .LP .nf open("/dev/cua/\fIn\fR", \fImode\fR); .fi .SH DESCRIPTION .sp .LP The Zilog 8530 provides two serial input/output channels capable of supporting a variety of communication protocols. A typical system uses two or more of these devices to implement essential functions, including RS-423 ports (which also support most RS-232 equipment), and the console keyboard and mouse devices. .sp .LP The \fBzs\fR module is a loadable STREAMS driver that provides basic support for the Zilog 8530 hardware and basic asynchronous communication support. The driver supports the \fBtermio\fR(7I) device control functions specified by flags in the \fBc_cflag\fR word of the \fBtermios\fR structure and by the \fBIGNBRK,\fR \fBIGNPAR,\fR \fBPARMRK,\fR or \fBINPCK\fR flags in the \fBc_iflag\fR word. All other \fBtermio\fR(7I) functions must be performed by \fBSTREAMS\fR modules pushed atop the driver. When a device is opened, the \fBldterm\fR(7M) and \fBttcompat\fR(7M) \fBSTREAMS\fR modules are automatically pushed on top of the stream, providing the standard \fBtermio\fR(7I) interface. .sp .LP The character-special devices \fB/dev/term/a\fR and \fB/dev/term/b\fR are used to access the two serial ports on the \fBCPU\fR board. .sp .LP Valid name space entries are \fB/dev/cua/\fR[\fIa-z\fR], \fB/dev/term/\fR[\fIa-z\fR] and \fB/dev/tty\fR[\fIa-z\fR]. The number of entries used in a name space are machine dependent. .sp .LP To allow a single tty line to be connected to a modem and used for both incoming and outgoing calls, a special feature is available that is controlled by the minor device number. By accessing character-special devices with names of the form \fB/dev/cua/\fR[\fIn\fR], it is possible to open a port without the \fBCarrier Detect\fR signal being asserted, either through hardware or an equivalent software mechanism. These devices are commonly known as dial-out lines. .sp .LP Once a \fB/dev/cua/\fR[\fIn\fR] line is opened, the corresponding tty line cannot be opened until the \fB/dev/cua/\fR\fIn\fR line is closed. A blocking open will wait until the \fB/dev/cua/\fR[\fIn\fR] line is closed (which will drop \fBData Terminal Ready\fR, and \fBCarrier Detect\fR) and carrier is detected again. A non-blocking open will return an error. If the tty line has been opened successfully (usually only when carrier is recognized on the modem) , the corresponding \fB/dev/cua/\fR[\fIn\fR] line cannot be opened. This allows a modem to be attached to \fB/dev/term/\fR[\fIn\fR] (renamed from \fB/dev/tty\fR[\fIn\fR]) and used for dial-in (by enabling the line for login in \fB/etc/inittab\fR) and also used for dial-out (by \fBtip\fR(1) or \fBuucp\fR(1C)) as \fB/dev/cua/\fR[\fIn\fR] when no one is logged in on the line. .LP Note - .sp .RS 2 This module is affected by the setting of specific eeprom variables. For information on parameters that are persistent across reboots, see the \fBeeprom\fR(1M) man page. .RE .SH IOCTLS .sp .LP The \fBzs\fR module supports the standard set of \fBtermio ioctl\fR(\|) calls. .sp .LP If the \fBCRTSCTS\fR flag in the \fBc_cflag\fR field is set, output will be generated only if \fBCTS\fR is high; if \fBCTS\fR is low, output will be frozen. If the \fBCRTSCTS\fR flag is clear, the state of \fBCTS\fR has no effect. .sp .LP If the \fBCRTSXOFF\fR flag in the \fBc_cflag\fR field is set, input will be received only if \fBRTS\fR is high; if \fBRTS\fR is low, input will be frozen. If the \fBCRTSXOFF\fR flag is clear, the state of \fBRTS\fR has no effect. .sp .LP The \fBtermios\fR \fBCRTSCTS\fR (respectively \fBCRTSXOFF)\fR flag and \fBtermiox\fR \fBCTSXON\fR (respectively \fBRTSXOFF)\fR can be used interchangeably. .sp .LP Breaks can be generated by the \fBTCSBRK,\fR \fBTIOCSBRK,\fR and \fBTIOCCBRK ioctl\fR(\|) calls. .sp .LP The state of the \fBDCD,\fR \fBCTS,\fR \fBRTS,\fR and \fBDTR\fR interface signals may be queried through the use of the \fBTIOCM_CAR,\fR \fBTIOCM_CTS,\fR \fBTIOCM_RTS,\fR and \fBTIOCM_DTR\fR arguments to the \fBTIOCMGET ioctl\fR command, respectively. Due to hardware limitations, only the \fBRTS\fR and \fBDTR\fR signals may be set through their respective arguments to the \fBTIOCMSET,\fR \fBTIOCMBIS,\fR and \fBTIOCMBIC ioctl\fR commands. .sp .LP The input and output line speeds may be set to any of the speeds supported by \fBtermio\fR. The input and output line speeds cannot be set independently; for example, when you set the the output speed, the input speed is automatically set to the same speed. .sp .LP When the driver is used to service the serial console port, it supports a BREAK condition that allows the system to enter the debugger or the monitor. The BREAK condition is generated by hardware and it is usually enabled by default. A BREAK condition originating from erroneous electrical signals cannot be distinguished from one deliberately sent by remote DCE. The Alternate Break sequence can be used to remedy this. .sp .LP Due to a risk of incorrect sequence interpretation, SLIP and certain other binary protocols should not be run over the serial console port when Alternate Break sequence is in effect. Although PPP is a binary protocol, it is able to avoid these sequences using the ACCM feature in \fIRFC 1662\fR. For Solaris PPP 4.0, you do this by adding the following line to the \fB/etc/ppp/options\fR file (or other configuration files used for the connection; see \fBpppd\fR(1M) for details): .sp .in +2 .nf asyncmap 0x00002000 .fi .in -2 .sp .LP By default, the Alternate Break sequence is three characters: carriage return, tilde and control-B (CR ~ CTRL-B), but may be changed by the driver. For more information on breaking (entering the debugger or monitor), see \fBkbd\fR(1) and \fBkb\fR(7M). .SH ERRORS .sp .LP An \fBopen\fR will fail under the following conditions: .sp .ne 2 .mk .na \fB\fBENXIO\fR\fR .ad .RS 9n .rt The unit being opened does not exist. .RE .sp .ne 2 .mk .na \fB\fBEBUSY\fR\fR .ad .RS 9n .rt The dial-out device is being opened and the dial-in device is already open, or the dial-in device is being opened with a no-delay open and the dial-out device is already open. .RE .sp .ne 2 .mk .na \fB\fBEBUSY\fR\fR .ad .RS 9n .rt The port is in use by another serial protocol. .RE .sp .ne 2 .mk .na \fB\fBEBUSY\fR\fR .ad .RS 9n .rt The unit has been marked as exclusive-use by another process with a \fBTIOCEXCL ioctl\fR(\|) call. .RE .sp .ne 2 .mk .na \fB\fBEINTR\fR\fR .ad .RS 9n .rt The open was interrupted by the delivery of a signal. .RE .SH FILES .sp .ne 2 .mk .na \fB\fB/dev/cua/\fR[\fIa-z\fR]\fR .ad .RS 19n .rt dial-out tty lines .RE .sp .ne 2 .mk .na \fB\fB/dev/term/\fR[\fIa-z\fR]\fR .ad .RS 19n .rt dial-in tty lines .RE .sp .ne 2 .mk .na \fB\fB/dev/tty\fR[\fIa-z\fR]\fR .ad .RS 19n .rt binary compatibility package device names .RE .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . ATTRIBUTE TYPEATTRIBUTE VALUE _ ArchitectureSPARC .TE .SH SEE ALSO .sp .LP \fBeeprom\fR(1M), \fBkadb\fR(1M), \fBtip\fR(1), \fBcu\fR(1C), \fBuucp\fR(1C), \fBports\fR(1M), \fBpppd\fR(1M), \fBioctl\fR(2), \fBopen\fR(2), \fBattributes\fR(5), \fBzsh\fR(7D), \fBtermio\fR(7I), \fBkb\fR(7M), \fBldterm\fR(7M), \fBttcompat\fR(7M) .SH DIAGNOSTICS .sp .ne 2 .mk .na \fB\fBzs\fR\fIn\fR\fB\|: silo overflow.\fR\fR .ad .sp .6 .RS 4n The Zilog 8530 character input silo overflowed before it could be serviced. .RE .sp .ne 2 .mk .na \fB\fBzs\fR\fIn\fR\fB\|: ring buffer overflow.\fR\fR .ad .sp .6 .RS 4n The driver's character input ring buffer overflowed before it could be serviced. .RE