asyc(7)


asyc -- asynchronous serial ports driver

Description

The asyc driver supports both the system board serial port and an additional serial adapter simultaneously. While up to four serial ports are supported, the system default enables two serial ports. If an adapter for a port is not installed, an attempt to open it will fail. Depending on your system processor type and UART, the port can be programmed for a range of speeds from 50 to 115200 baud, character length, and parity. Output speed is always the same as input speed. The port behaves as described in termio(7).

The asynchronous port is a character-at-a-time device for both input and output. This characteristic both limits the bandwidth that can be achieved over a serial line, and increases the interrupt loading on the central processor. Applications like uucp(1bnu) and PPP may be able to function well at speeds greater than 9600 baud, depending on your system processor type and UART.

The serial port adapter's programmable baud rates do not correspond exactly with system baud rates. Specifically, setting B0 will cause a disconnect, setting EXTA will set 19200 baud, and setting EXTB will set 38400 baud.

The asyc driver supports both 16450 and 16550 UARTs and equivalents.

Files

The serial device nodes are provided as a shortcut to assist applications in using the serial ports. They are equivalent to opening a port with open(2), and then calling ioctl(2) with the TCGET and TCSET (see termio(7)) commands to set the node behavior.

The behavior of serial device nodes in both SCO OpenServer(TM) and UnixWare are supported. The ttyna and ttynA nodes behave identically to the SCO OpenServer nodes.

Equivalent device nodes Default settings when opened Behavior and use
/dev/term/0n
/dev/term/0ns
/dev/tty0ns
/dev/tty0n
B9600 CS8 CREAD
~CLOCAL IXON IXOFF
~RTSXOFF ~CTSXON
Software flow control (XON/XOFF) enabled. Use when data integrity is not crucial, for example, with mice. The modem control line, Data Carrier Detect (DCD), is required to be asserted
/dev/term/0nh
/dev/tty0nh
B9600 CS8 CREAD
~CLOCAL ~IXON
~IXOFF RTSXOFF
CTSXON
Hardware flow control (RTS/CTS) enabled. DCD is required to be asserted
/dev/term/0nm
/dev/tty0nm
/dev/tty(n+1)A
B9600 CS8 CREAD
~CLOCAL ~IXON
~IXOFF ~RTSXOFF
~CTSXON
Modem node. No flow control initially when opened. DCD is required to be asserted
/dev/term/0nt
/dev/tty0nt
/dev/tty(n+1)a
B9600 CS8 CREAD
CLOCAL ~IXON
~IXOFF ~RTSXOFF
~CTSXON
Terminal node. No flow control initially when opened. Allows ports to be opened without a DCD line, and allows stty(1) to be used on an unconnected port. Used with 3-wire serial connections (TD, RD and SG)

 +------------------+--------------------+-------------------------+
 |Equivalent device | Default settings   | Behavior and use        |
 |nodes             | when opened        |                         |
 +------------------+--------------------+-------------------------+
 |/dev/term/0n      | B9600 CS8 CREAD    | Software flow control   |
 |/dev/term/0ns     | ~CLOCAL IXON IXOFF | (XON/XOFF) enabled.     |
 |/dev/tty0ns       | ~RTSXOFF ~CTSXON   | Use when data integrity |
 |/dev/tty0n        |                    | is not crucial, for     |
 |                  |                    | example, with mice.     |
 |                  |                    | The modem control line, |
 |                  |                    | Data Carrier Detect     |
 |                  |                    | (DCD), is required to   |
 |                  |                    | be asserted             |
 +------------------+--------------------+-------------------------+
 |/dev/term/0nh     | B9600 CS8 CREAD    | Hardware flow control   |
 |/dev/tty0nh       | ~CLOCAL ~IXON      | (RTS/CTS) enabled.  DCD |
 |                  | ~IXOFF RTSXOFF     | is required to be       |
 |                  | CTSXON             | asserted                |
 +------------------+--------------------+-------------------------+
 |/dev/term/0nm     | B9600 CS8 CREAD    | Modem node. No flow     |
 |/dev/tty0nm       | ~CLOCAL ~IXON      | control initially when  |
 |/dev/tty(n+1)A    | ~IXOFF ~RTSXOFF    | opened.  DCD is         |
 |                  | ~CTSXON            | required to be asserted |
 +------------------+--------------------+-------------------------+
 |/dev/term/0nt     | B9600 CS8 CREAD    | Terminal node. No flow  |
 |/dev/tty0nt       | CLOCAL ~IXON       | control initially when  |
 |/dev/tty(n+1)a    | ~IXOFF ~RTSXOFF    | opened.  Allows ports   |
 |                  | ~CTSXON            | to be opened without a  |
 |                  |                    | DCD line, and allows    |
 |                  |                    | stty(1) to be used on   |
 |                  |                    | an unconnected port.    |
 |                  |                    | Used with 3-wire serial |
 |                  |                    | connections (TD, RD and |
 |                  |                    | SG)                     |
 +------------------+--------------------+-------------------------+

Usage

To activate additional ports use the /sbin/dcu command; see dcu(1M). Apply the changes and exit dcu.


NOTE: You need to reboot the system for the additional ports to work.

The order of entries in the DCU and the corresponding entries in the asyc driver's space.c file must be in the same order for serial consoles to work correctly.


Diagnostics

When using dcu to activate additional ports that share interrupts, if you notice a message like IRQ conflicts with an interrupt vector which cannot be shared..., you need to change the ``ITYPE'' field to 3; apply the change, exit dcu and reboot the system.

Notes

PCI Serial Support:
The asy and asyc drivers are configured by default to support up to ten total serial ports. The ports are named following the conventions described in the section ``Serial device node naming conventions'' in the UnixWare 7 System Handbook. The drivers support 16654 UARTS, as well as Digi Classicboard and Connecttech Blue Heat PCI cards.

The device ordering is determined by searching entires in pack.d/asyc/Space.c before any PCI devices are enumerated. As a result, if the Space.c lists two serial ports (com1, com2) and you only have one, but you have a PCI serial card, port 01 will be treated as "broken" with the PCI ports starting at 02. To eliminate this, edit Space.c to match the actual hardware configuration for non-PCI devices.

PCI devices honor the resmgr entries created or modified by dcu(1M). Note that only scanned (i.e. not PCI) devices may be used for kdb(1M) or console devices.

References

dcu(1M), stty(1), termio(7), termiox(7)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004