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