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.

          Note:

          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 configured 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.

     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.

     Each  of  the  following  are  valid  name  space   entries:
     /dev/cua/[a-z],  /dev/term/[a-z],  and  /dev/tty[a-z].   The
     number of entries used in this name space are machine depen-
     dent. The /dev/tty[a-z] device names exist only if the SunOS
     4.x  Binary  Compatibility   Package   is   installed.   The
     /dev/tty[a-z]  device names are created by the ucblinks com-
     mand, which is available only with the SunOS 4.x Binary Com-
     patibility Package.

     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.


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
     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 the risk of incorrect sequence  interpre-
     tation, binary protocols such as PPP, SLIP and others should
     not be run over the serial console port when  the  Alternate
     Break sequence is in effect. By default, the Alternate Break
     sequence is a three  character  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 kadb(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
                signal.


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

     tip(1), kadb(1), ucblinks(1B), cu(1C), uucp(1C), eeprom(1M),
     ports(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 inter-
           rupts fast enough and suggests a system with too  many
           interrupts or a data line with a data rate that is too
           high.

     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 suggests  an  overloaded
           system.  If  possible,  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.


Man(1) output converted with man2html