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
vax/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.