MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Devices                                                   asy(7D)



NAME
     asy - asynchronous serial port driver

SYNOPSIS
     #include 


     #include 


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


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


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


DESCRIPTION
     The asy module is a loadable STREAMS  driver  that  provides
     basic  support for Intel-8250, National Semiconductor-16450,
     16550, and some 16650 and 16750 and  equivalent  UARTs  con-
     nected  via  the  ISA-bus, in addition to basic asynchronous
     communication  support.  The  asy  module   supports   those
     termio(7I)  device  control  functions specified by flags in
     the ccflag word  of  the  termios  structure,  and  by  the
     IGNBRK,  IGNPAR,  PARMRK, INPCK, IXON, IXANY, or IXOF flags
     in the ciflag word of  the  termios  structure.  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 automati-
     cally pushed on top of the stream,  providing  the  standard
     termio(7I) interface.


     The  character-special  devices  /dev/term/a,   /dev/term/b,
     /dev/term/c  and  /dev/term/d  are  used  to access the four
     standard serial ports (COM1, COM2,  COM3  and  COM4  at  I/O
     addresses  3f8, 2f8, 3e8 and 2e8 respectively). Serial ports
     on non-standard ISA-bus I/O addresses are accessed  via  the
     character-special  devices  /dev/term/0,  /dev/term/1,  etc.
     Device names are typically used to provide a logical  access
     point for a dial-in line that is used with a modem.


     To allow a single tty line to be connected to  a  modem  and
     used  for  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  Car-
     rier  Detect  signal being asserted, either through hardware



SunOS 5.11           Last change: 9 Oct 2004                    1






Devices                                                   asy(7D)



     or an equivalent software mechanism. These devices are  com-
     monly known as dial-out lines.

     Note -

       This module is affected by the setting of  certain  eeprom
       variables,  ttya-ignore-cd and ttya-rts-dtr-off (and simi-
       larly for ttyb-, ttyc-, and ttyd- parameters). For  infor-
       mation on these parameters, see the eeprom(1M) man page.

     Note -

       For  serial  ports  on  the  standard  COM1  to  COM4  I/O
       addresses  above,  the  default setting for ttya-ignore-cd
       and ttya-rts-dtr-off is true. If any of  these  ports  are
       connected  to a modem, these settings should be changed to
       false. For serial ports on non-standard I/O addresses, the
       default setting for ttya-ignore-cd and ttya-rts-dtr-off is
       false.

APLICATION PROGRAMING INTERFACE
     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 Terminal Ready, after which Carrier
     Detect will usually drop as well) and  carrier  is  detected
     again.  A  non-blocking  open  will  return an error. If the
     /dev/ttydn 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 modem 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)   or  dial-out  (by  tip(1)  or  uucp(1C))  as
     /dev/cua/n when no one is logged in on the line.

IOCTLS
     The standard set of termio ioctl() calls  are  supported  by
     asy.


     Breaks  can  be  generated  by  the  TCSBRK,  TIOCSBRK,  and
     TIOCBRK ioctl() calls.


     The input and output line speeds may be  set  to  any  speed
     that  is  supported  by  termio.  The  speeds  cannot be set
     independently; for example, when the output  speed  is  set,
     the input speed is automatically set to the same speed.


     When the asy module is used to service  the  serial  console
     port,  it  supports a BREAK condition that allows the system



SunOS 5.11           Last change: 9 Oct 2004                    2






Devices                                                   asy(7D)



     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. The Alternate Break sequence can be  used  as  a
     remedy  against  this.  Due  to a risk of incorrect sequence
     interpretation, SLIP  and  certain  other  binary  protocols
     should  not  be run over the serial console port when Alter-
     nate Break sequence is in effect. Although P is  a  binary
     protocol, it is able to avoid these sequences using the ACM
     feature in RFC 1662. For Solaris P 4.0,  you  do  this  by
     adding  the  following line to the /etc/ppp/options file (or
     other configuration  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 more informa-
     tion  on  breaking  (entering  the debugger or monitor), see
     kbd(1) and kb(7M).

ERORS
     An open() will fail under the following conditions:

     ENXIO    The unit being opened does not exist.


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


     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.


FILES
     /dev/term/[a-d]          dial-in tty lines
     /dev/term/[012...]





SunOS 5.11           Last change: 9 Oct 2004                    3






Devices                                                   asy(7D)



     /dev/cua/[a-d]            dial-out tty lines
     /dev/cua/[012...]

     /kernel/drv/amd64/asy    64-bit kernel module for 64-bit x86
                              platform


     /kernel/drv/asy.conf     asy configuration file


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Architecture                 x86                         
    


SEE ALSO
     tip(1), kbd(1), uucp(1C),  eeprom(1M),  pppd(1M),  ioctl(2),
     open(2),     termios(3C),     attributes(5),     ldterm(7M),
     ttcompat(7M), kb(7M), termio(7I)

DIAGNOSTICS
     asyn: silo overflow.

         The hardware overrun occurred before the input character
         could be serviced.


     asyn: ring buffer overflow.

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
















SunOS 5.11           Last change: 9 Oct 2004                    4



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™