Manual Pages for UNIX Operating System command usage for man se
Devices se(7D)
NAME
se - Siemens 82532 ESCC serial communications driver
SYNOPSIS
se@bus_address:port_name[,cu]
DESCRIPTION
The se module is a loadable STREAMS driver that provides
basic support for the 82532 ESCC hardware and basic asyn-
chronous and synchronous communication support. This manual
page describes the asynchronous protocol interface; for
information on the synchronous interface, please see the
se_hdlc(7D) manual page.
This module is affected by the setting of specific eeprom
variables. For information on parameters that are persistent
across reboots, see the eeprom(1M) man page.
The platform specific device bus address for the se module
is bus_address. The se module's port_name is a single letter
(a-z).
Note -
During boot up, ttya/b characteristics are read from the
/kernel/drv/options.conf file and changed from the PROM
defaults to reflect Solaris defaults. Messages displayed
on the console after this point are based on settings in
that file. If you switch a characteristic, (for example,
the baud rate of the console terminal), you must revise
the /kernel/drv/options.conf or the console will be con-
figured to an unusable configuration and console messages
will be garbled by the mismatched serial port settings.
APPLICATION PROGRAMMING INTERFACE
The Siemens 82532 provides two serial input/output channels
capable of supporting a variety of communication protocols.
A typical system will use one of these devices to implement
two serial ports (port_name), usually configured for RS-423
(which also supports most RS-232 equipment). The Siemens
82532 uses 64 character input and output FIFOs to reduce
system overhead. When receiving characters, the CPU is noti-
fied when 32 characters have arrived (one-half of receive
buffer is full) or no character has arrived in the time it
would take to receive four characters at the current baud
rate.
SunOS 5.11 Last change: 16 Jul 2009 1
Devices se(7D)
When sending characters, the Siemens 82532 places the first
64 characters to be sent into its output FIFO and then noti-
fies the CPU when it is half empty (32 characters left).
Because the se module waits for the Siemens 82532 to
transmit the remaining characters within its output FIFO
before making requested changes, delays may occur when the
port's attributes are being modified.
The se module implements CTS/RTS flow control in hardware.
To prevent data overruns, remove CTS/RTS flow control
responsibility from the CPU during periods of high system
load.
In async mode (obtained by opening /dev/cua/[a-z],
/dev/term/[a-z] or /dev/tty[a-z]), the driver supports the
termio(7I) device control functions specified 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 automat-
ically pushed on top of the stream, providing the standard
termio interface.
You can connect a single tty line to a modem for incoming
and outgoing calls using a special feature controlled by the
minor device number. By accessing character-special devices
with names of the form /dev/cua/[a-z], 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 commonly known as dial-out
lines.
After a /dev/cua/[a-z] line is opened, the corresponding tty
line cannot be opened until the /dev/cua/[a-z] line is
closed. A blocking open will wait until the /dev/cua/[a-z]
line is closed (which will drop Data Terminal Ready and Car-
rier 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/[a-z] line cannot be
opened. This allows a modem to be attached to a device, (for
example, /dev/term/ [a-z] renamed from /dev/tty[a-z]) and
used for dial-in (by enabling the line for login in
/etc/inittab) and dial-out (by tip(1) or uucp(1C)) as
/dev/cua/[a-z] when no one is logged in on the line.
SunOS 5.11 Last change: 16 Jul 2009 2
Devices se(7D)
The se driver can be configured to support mice as well as
applications requiring no buffering on the receive fifo. You
can do this in one of two ways:
1. Using the se configuration file - To configure the
se device to support mice using this approach,
create an se.conf under /kernel/drv, then add key-
words of the form: disable-rfifo-port number>. For example, if your system has two se
devices and you want port b on the device (associ-
ated with instance 0) and port a (associated with
instance 1) to have their receive fifo disabled,
the se.conf file must contain the following
entries:
disable-rfifo-portb0;
disable-rfifo-porta1;
2. Programmatically - You can also configure the se
device to support mice programatically by using the
SERVICEIMM stream call to turn buffering off on the
receive fifo, and/or SERVICEDEF to turn it back on
again.
IOCTLS
The se module supports the standard set of termio ioctl()
calls.
Breaks can be generated by the TCSBRK, TIOCSBRK, and
TIOCCBRK ioctl() calls.
The state of the DCD, CTS, RTS, and DTR interface signals
can be queried through the use of the TIOCM_CAR, TIOCM_CTS,
TIOCM_RTS, and TIOCM_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 com-
mands.
The input and output line speeds may be set to all baud
rates supported by termio. Input and output line speeds can-
not be set independently; when you set the output speed, the
input speed is automatically set to the same speed.
When using baud rates over 100,000 baud, the software
changes the line driver configuration to handle the higher
data rates. This action decreases the theoretical maximum
SunOS 5.11 Last change: 16 Jul 2009 3
Devices se(7D)
cable length from 70 meters to 30 meters.
When the se module 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 sig-
nals cannot be distinguished from one deliberately sent by
remote DCE. Due to a risk of incorrect sequence interpreta-
tion, 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
RFC 1662. For Solaris PPP 4.0, you do this by adding the
following line to the /etc/ppp/options file (or other confi-
guration files used for the connection; see pppd(1M) for
details):
asyncmap 0x00002000
By default, the Alternate Break sequence is a three charac-
ter sequence: carriage return, tilde and control-B (CR ~
CTRL-B), but may be changed by the driver. For information
on breaking (entering the debugger or monitor), see kmdb(1)
and kb(7M).
ERRORS
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 already 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 sig-
nal.
SunOS 5.11 Last change: 16 Jul 2009 4
Devices se(7D)
FILES
/dev/cua/[a-z] dial-out tty lines
/dev/term/[a-z] dial-in tty lines
/dev/tty[a-z] binary compatibility package
device names
/dev/se_hdlc[0-9] synchronous devices - see
se_hdlc(7D).
/dev/se_hdlc synchronous control clone device
/kernel/drv/options.conf System wide default device
driver properties
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Architecture | SPARC |
|_____________________________|_____________________________|
SEE ALSO
kmdb(1), tip(1), cu(1C), uucp(1C), eeprom(1M), ports(1M),
pppd(1M), ioctl(2), open(2), attributes(5),zs(7D), zsh(7D),
se_hdlc(7D), termio(7I), ldterm(7M), ttcompat(7M), kb(7M)
DIAGNOSTICS
sen: fifo overrun The Siemens 82532 internal FIFO
received more data than it could
handle. This indicates that Solaris
was not servicing data interrupts
fast enough and suggests a system
with too many interrupts or a data
line with a data rate that is too
high.
SunOS 5.11 Last change: 16 Jul 2009 5
Devices se(7D)
sen: buffer overrun The se module was unable to store
data it removed from the Siemens
82532 FIFO. The user process is not
reading data fast enough, and sug-
gests an overloaded system. If pos-
sible, the application should
enable flow control (either CTSRTS
or XONXOFF) to allow the driver to
backpressure the remote system when
the local buffers fill up.
SunOS 5.11 Last change: 16 Jul 2009 6