Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
zs(7D)				    Devices				zs(7D)

       zs - Zilog 8530 SCC serial communications driver

       #include	<fcntl.h>

       #include	<sys/termios.h>

       open("/dev/term/n", mode);

       open("/dev/ttyn", mode);

       open("/dev/cua/n", mode);

       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, includ-
       ing RS-423 ports	(which also support most RS-232	 equipment),  and  the
       console keyboard	and mouse devices.

       The  zs module is a loadable STREAMS driver that	provides basic support
       for the Zilog 8530 hardware and basic asynchronous  communication  sup-
       port. The driver	supports the termio(7I)	device control functions spec-
       ified by	flags in the c_cflag word of the termios structure and by  the
       IGNBRK,	IGNPAR,	 PARMRK, or INPCK flags	in the c_iflag word. All other
       termio(7I) functions must be performed by STREAMS modules  pushed  atop
       the  driver.  When  a device is opened, the ldterm(7M) and ttcompat(7M)
       STREAMS modules are automatically pushed	on top of the stream,  provid-
       ing the standard	termio(	7I) interface.

       The  character-special  devices /dev/term/a and /dev/term/b are used to
       access the two serial ports on the CPU board.

       Valid  name  space  entries  are	 /dev/cua/[a-z],  /dev/term/[a-z]  and
       /dev/tty[a-z].  The  number of entries used in a	name space are machine

       The /dev/tty[n] device names only exist if the SunOS 4.x	Binary Compat-
       ibility	Package	is installed. The /dev/tty[n] device names are created
       by the ucblinks command,	which is available only	with the SunOS 4.x Bi-
       nary Compatibility Package.

       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  /dev/cua/[n], it	is possible to open  a
       port  without  the Carrier Detect signal	being asserted,	either through
       hardware	or an equivalent software mechanism.  These devices  are  com-
       monly known as dial-out lines.

       Once  a	/dev/cua/[n] line is opened, the corresponding tty line	cannot
       be opened until the /dev/cua/n line is closed.  A  blocking  open  will
       wait until the /dev/cua/[n] line	is closed (which will drop Data	Termi-
       nal Ready, and Carrier Detect) 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 /dev/cua/[n] line cannot be opened. This allows a mo-
       dem to be attached to /dev/term/[n] (renamed from /dev/tty[n]) and used
       for  dial-in  (by enabling the line for login in	/etc/inittab) and also
       used for	dial-out (by tip(1) or uucp(1C)) as /dev/cua/[n] when  no  one
       is logged in on the line.


	      This  module is affected by the setting of specific eeprom vari-
	      ables. For information on	parameters that	are persistent	across
	      reboots, see the eeprom(1M) man page.

       The zs module supports the standard set of termio ioctl() calls.

       If  the CRTSCTS flag in the c_cflag field is set, output	will be	gener-
       ated only if CTS	is high; if CTS	is low,	output will be frozen. If  the
       CRTSCTS flag is clear, the state	of CTS has no effect.

       If  the	CRTSXOFF  flag in the  c_cflag field is	set, input will	be re-
       ceived only if RTS is high; if RTS is low, input	will be	frozen.	If the
       CRTSXOFF	flag is	clear, the state of  RTS has no	effect.

       The  termios  CRTSCTS  (respectively  CRTSXOFF) flag and	termiox	CTSXON
       (respectively RTSXOFF) can be used interchangeably.

       Breaks can be generated by the TCSBRK, TIOCSBRK,	and  TIOCCBRK  ioctl()

       The  state  of  the  DCD,  CTS,	RTS,  and DTR interface	signals	may be
       queried through the use of the TIOCM_CAR, TIOCM_CTS, TIOCM_RTS, and TI-
       OCM_DTR	arguments to the TIOCMGET ioctl	command, respectively.	Due to
       hardware	limitations, only the RTS and DTR signals may be  set  through
       their  respective  arguments  to	 the  TIOCMSET,	TIOCMBIS, and TIOCMBIC
       ioctl commands.

       The input and output line speeds	may be set to any of the  speeds  sup-
       ported  by termio. The input and	output line speeds cannot be set inde-
       pendently; for example, when you	set the	the output  speed,  the	 input
       speed is	automatically set to the same speed.

       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	 elec-
       trical  signals	cannot	be distinguished from one deliberately sent by
       remote DCE. The Alternate Break sequence	can be used to remedy this.

       Due to a	risk of	incorrect sequence  interpretation,  binary  protocols
       such as PPP, SLIP, and others should not	be run over the	serial console
       port when Alternate Break sequence is in	effect.	By default, the	Alter-
       nate  Break  sequence  is  three	characters: carriage return, tilde and
       control-B (CR ~ CTRL-B),	but may	be changed by the driver. For more in-
       formation on breaking (entering the debugger or monitor,	see kbd(1) and

       An open will fail under the following conditions:

       ENXIO The unit being opened does	not exist.

       EBUSY The dial-out device is being opened and the dial-in device	is al-
	     ready open, or the	dial-in	device is being	opened with a no-delay
	     open and the dial-out device is already open.

       EBUSY The port is in use	by another serial protocol.

       EBUSY The unit has been marked as exclusive-use by another process with
	     a TIOCEXCL	ioctl()	call.

       EINTR The open was interrupted by the delivery of a signal.

	     dial-out tty lines

	     dial-in tty lines

	     binary compatibility package device names

       See attributes(5) for descriptions of the following attributes:

       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       |Architecture		     |SPARC			   |

       eeprom(1M),   kadb(1M),	 tip(1),   ucblinks(1B),   cu(1C),   uucp(1C),
       ports(1M),     ioctl(2),	    open(2),	  attributes(5),      zsh(7D),
       termio(7I)ldterm(7M), ttcompat(7M), kb(7M),   ldterm(7M)

       zsn: silo overflow.
	     The Zilog 8530 character input silo overflowed before it could be

       zsn: ring buffer	overflow.
	     The driver's character input ring	buffer	overflowed  before  it
	     could be serviced.

SunOS 5.9			  11 Jun 2001				zs(7D)


Want to link to this manual page? Use this URL:

home | help