xref: /freebsd/share/man/man4/nmdm.4 (revision cc68614da8232d8baaca0ae0d0dd8f890f06623e)
1.\" Copyright (c) 2001
2.\"	The FreeBSD Project
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\"
10.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
11.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
12.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
13.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
14.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
15.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
16.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
17.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
18.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
19.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
20.\" SUCH DAMAGE.
21.\"
22.\" $FreeBSD$
23.\"
24.Dd July 11, 2020
25.Dt NMDM 4
26.Os
27.Sh NAME
28.Nm nmdm
29.Nd nullmodem terminal driver
30.Sh SYNOPSIS
31To compile this driver into the kernel,
32place the following line in your
33kernel configuration file:
34.Bd -ragged -offset indent
35.Cd "device nmdm"
36.Ed
37.Pp
38Alternatively, to load the driver as a
39module at boot time, place the following line in
40.Xr loader.conf 5 :
41.Bd -literal -offset indent
42nmdm_load="YES"
43.Ed
44.Sh DESCRIPTION
45The
46.Nm
47driver provides two
48.Xr tty 4
49devices connected
50by a virtual
51.Dq "null modem"
52cable.
53.Pp
54If either of the two tty devices have the
55.Dv CDSR_OFLOW
56bit
57.Pq Dq Li "stty dsrflow"
58set in their line discipline, the
59.Nm
60device will emulate the speed configured in the
61.Xr termios 4
62settings.
63The speed emulation works independently in the two directions,
64controlled by the slower end's termios settings
65.Va ( c_ispeed , c_ospeed ,
66.Dv CS5 ... CS8 , CSTOPB
67and
68.Dv PARENB ) .
69.Sh FILES
70.Bl -tag -width ".Pa /dev/nmdm Ns Ar N Ns Op Pa AB" -compact
71.It Pa /dev/nmdm Ns Ar N Ns Op Pa AB
72nullmodem device nodes.
73Where the
74.Pa A
75node has a matching
76.Pa B
77node.
78.El
79.Pp
80The
81.Nm
82driver implements
83.Dq "on-demand device creation"
84so simply accessing a given instance in
85.Pa /dev
86will create it.
87.Sh DIAGNOSTICS
88None.
89.Sh SEE ALSO
90.Xr stty 1 ,
91.Xr termios 4 ,
92.Xr tty 4 ,
93.Xr ttys 5
94.Sh HISTORY
95The
96.Nm
97driver first appeared in
98.Fx 4.4 .
99