Asynchronous communications
AIX provides the following categories of asynchronous device drivers, also called tty device drivers:
- Drivers for the serial ports on the system planar
- Drivers for the serial ports connected to the system through an adapter
- Pseudo-tty drivers
Drivers in the first category are the PCI adapters. They include 2-port, 8-port and 128-port adapters.
However, some devices and applications expect or require very low latency in single character processing, so you may experience timing problems when connected to these intelligent adapters. Character latency, or character echo, may be defined as the time it takes to receive a single character on a serial port, deliver that character to an application, then echo the character back out the same serial port.
Because they use the highest priority interrupt on the system (INTCLASS0), interrupt-driven ports provide latency values in the 0.10 to 0.20 ms range on an idle system. The 8-port PCI adapters provide latency values averaging around 10 to 12 ms, with individual times varying by plus or minus 10 ms due to the 20 ms poller. The 128-port PCI adapters have the same 20 ms poller, which communicates over a polled communications link to the Remote Access Nodes (RANs). RANs allow a polling driver to control the serial ports. Latency values on these ports average around 30 ms, but can exceed 60 ms.
Latency values on the 8-port PCI and 128-port PCI adapters can be tuned for special applications using the "event delay" (EDELAY) parameter. For maximum responsiveness when receiving a single character, reduce the value of the EDELAY parameter. This minimizes the time required to get a single character from the serial port to the application, but can result in reduced throughput and overall system performance when multiple characters are received in a burst.
The 2-port PCI EIA-32 adapter is an asynchronous serial communications adapter, based on the Exar 17D152 Universal PC Dual UART. The 2-port adapter supports two DB-9 connectors and provides connectivity to asynchronous EIA-32 devices, such as modems and tty terminals.
On the IBM eServer p5 platform there are no native system ports available to AIX. Although the virtual terminal interface is enhanced to support physical serial ports located on the FSP through the hypervisor, this interface only supports a specific set of serial devices and is not a suitable replacement for a general-purpose physical serial port. The 2-port adapter behaves somewhat like a native system port. The adapter device driver is interrupt-driven and supports programmable transit and receives FIFO trigger levels. It is a PCI adapter; therefore, the device driver supports EEH, hot-plug, and VPD queries. The 2-port adapter does not support native system port features for when the virtual terminal is used, such as during boot, install, and KDB support.
Pseudo-tty drivers are used when accessing a system over a network using the rlogin or telnet commands or when accessing a system using a windowing system on a graphics monitor. The pseudo-tty driver provides a means of running legacy character-based applications, such as the vi text editor, over communications media other than serial. The important thing to note about pseudo-tty drivers is that they are not symmetrical. The worker end provides a POSIX-standard-compliant interface to earlier applications. The controller end is controlled by an entity such as the rlogin or telnet daemon or X-windows, which must provide an emulation of a serial terminal device to the pseudo-tty driver. AIX can efficiently support very large numbers of pseudo-tty devices.