DMF(4)

NAME
dmf - DMF-32 serial terminal multiplexor

SYNOPSIS
dmf0 at uba? csr 0160340 vector dmfsrint dmfsxint dmfdaint dmfdbint dmfrint dmfxint dmflint

DESCRIPTION
NOTE: This driver has not been ported from 4.4BSD yet.

The dmf device provides 8 lines of asynchronous serial line support. The first two of these have full modem control. The device also provides a line printer port similar to the LP-11. Other features of the DMF-32 are not supported. During autoconfiguration, the driver examines the configuration of each DMF-32 and adjusts the interrupt vectors so that fewer vector locations are used if possible.

An optional argument flags may be supplied with the device specification in the config file indicating that the line corresponding to bit number i is not properly connected, and should be treated as hard-wired with carrier always present. Thus specifying ‘flags 0x04’ for dmf0 would cause line ttyA2 to be treated in this way. Flags should be set for all lines without hardware support for modem control.

Normal I/O control parameters for individual lines are managed by ioctl(2) calls. Line speeds may be initiated via getty(8) and stty(1) or may be communicated by other programs which use ioctl(2) such as ifconfig(8), see tty(4).

The serial line part of the dmf driver normally enables the input silos with a short timeout (30 milliseconds); this allows multiple characters to be received per interrupt during periods of high-speed input.

A line printer port on a dmf is designated by a minor device number of the form 128+n. See MAKEDEV(8). Column and lines per page may be changed from the default 132 columns and 66 lines by encoding the number of columns in bits 8-15 of flags and the number of lines in bits 16-23. This device does not provide the fancy output canonicalization features of the lp(4) driver.

FILES
/dev/tty[A-CE-I][0-7]
/dev/ttyd[0-7]
/dev/lp

DIAGNOSTICS

dmf%d: NXM line %d. No response from UNIBUS on a DMA transfer within a timeout period. This is often followed by a UNIBUS adapter error. This occurs most frequently when the UNIBUS is heavily loaded and when devices which hog the bus (such as RK07s) are present. It is not serious.

dmf%d: silo overflow. The character input silo overflowed before it could be serviced. This can happen if a hard error occurs when the CPU is running with elevated priority, as the system will then print a message on the console with interrupts disabled. It is not serious.

dmfsrint, dmfsxint, dmfdaint, dmfdbint. One of the unsupported parts of the dmf interrupted; something is amiss, check your interrupt vectors for a conflict with another device.

SEE ALSO
tty(4)

HISTORY
The dmf driver appeared in 4.2BSD.

BUGS
It should be possible to set the silo timeout with a configuration file option, as the value is a trade-off between efficiency and response time for flow control and character echo.