xref: /freebsd/share/man/man4/nmdm.4 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
11b57ee4dSJulian Elischer.\" Copyright (c) 2001
21b57ee4dSJulian Elischer.\"	The FreeBSD Project
31b57ee4dSJulian Elischer.\"
41b57ee4dSJulian Elischer.\" Redistribution and use in source and binary forms, with or without
51b57ee4dSJulian Elischer.\" modification, are permitted provided that the following conditions
61b57ee4dSJulian Elischer.\" are met:
71b57ee4dSJulian Elischer.\" 1. Redistributions of source code must retain the above copyright
81b57ee4dSJulian Elischer.\"    notice, this list of conditions and the following disclaimer.
91b57ee4dSJulian Elischer.\"
101b57ee4dSJulian Elischer.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
111b57ee4dSJulian Elischer.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
121b57ee4dSJulian Elischer.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
131b57ee4dSJulian Elischer.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
141b57ee4dSJulian Elischer.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
151b57ee4dSJulian Elischer.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
161b57ee4dSJulian Elischer.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
171b57ee4dSJulian Elischer.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
181b57ee4dSJulian Elischer.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
191b57ee4dSJulian Elischer.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
201b57ee4dSJulian Elischer.\" SUCH DAMAGE.
211b57ee4dSJulian Elischer.\"
22*463b8ebdSAllan Jude.Dd July 11, 2020
231b57ee4dSJulian Elischer.Dt NMDM 4
2480d569d3SRuslan Ermilov.Os
251b57ee4dSJulian Elischer.Sh NAME
261b57ee4dSJulian Elischer.Nm nmdm
271b57ee4dSJulian Elischer.Nd nullmodem terminal driver
281b57ee4dSJulian Elischer.Sh SYNOPSIS
29593ff553SXin LITo compile this driver into the kernel,
30593ff553SXin LIplace the following line in your
31593ff553SXin LIkernel configuration file:
32593ff553SXin LI.Bd -ragged -offset indent
331b57ee4dSJulian Elischer.Cd "device nmdm"
34593ff553SXin LI.Ed
35593ff553SXin LI.Pp
36593ff553SXin LIAlternatively, to load the driver as a
37593ff553SXin LImodule at boot time, place the following line in
38593ff553SXin LI.Xr loader.conf 5 :
39593ff553SXin LI.Bd -literal -offset indent
40593ff553SXin LInmdm_load="YES"
41593ff553SXin LI.Ed
421b57ee4dSJulian Elischer.Sh DESCRIPTION
431b57ee4dSJulian ElischerThe
441b57ee4dSJulian Elischer.Nm
45a1d57b9aSPoul-Henning Kampdriver provides two
461b57ee4dSJulian Elischer.Xr tty 4
47a1d57b9aSPoul-Henning Kampdevices connected
48802e13abSRuslan Ermilovby a virtual
49802e13abSRuslan Ermilov.Dq "null modem"
50802e13abSRuslan Ermilovcable.
51a1d57b9aSPoul-Henning Kamp.Pp
52802e13abSRuslan ErmilovIf either of the two tty devices have the
53802e13abSRuslan Ermilov.Dv CDSR_OFLOW
54802e13abSRuslan Ermilovbit
55802e13abSRuslan Ermilov.Pq Dq Li "stty dsrflow"
56a1d57b9aSPoul-Henning Kampset in their line discipline, the
5780d569d3SRuslan Ermilov.Nm
58a1d57b9aSPoul-Henning Kampdevice will emulate the speed configured in the
59a1d57b9aSPoul-Henning Kamp.Xr termios 4
60a1d57b9aSPoul-Henning Kampsettings.
61a1d57b9aSPoul-Henning KampThe speed emulation works independently in the two directions,
62802e13abSRuslan Ermilovcontrolled by the slower end's termios settings
63802e13abSRuslan Ermilov.Va ( c_ispeed , c_ospeed ,
64802e13abSRuslan Ermilov.Dv CS5 ... CS8 , CSTOPB
65802e13abSRuslan Ermilovand
66802e13abSRuslan Ermilov.Dv PARENB ) .
671b57ee4dSJulian Elischer.Sh FILES
68802e13abSRuslan Ermilov.Bl -tag -width ".Pa /dev/nmdm Ns Ar N Ns Op Pa AB" -compact
6980d569d3SRuslan Ermilov.It Pa /dev/nmdm Ns Ar N Ns Op Pa AB
701b57ee4dSJulian Elischernullmodem device nodes.
7180d569d3SRuslan ErmilovWhere the
7280d569d3SRuslan Ermilov.Pa A
7380d569d3SRuslan Ermilovnode has a matching
7480d569d3SRuslan Ermilov.Pa B
7580d569d3SRuslan Ermilovnode.
761b57ee4dSJulian Elischer.El
77a1d57b9aSPoul-Henning Kamp.Pp
78a1d57b9aSPoul-Henning KampThe
79a1d57b9aSPoul-Henning Kamp.Nm
80802e13abSRuslan Ermilovdriver implements
81802e13abSRuslan Ermilov.Dq "on-demand device creation"
82802e13abSRuslan Ermilovso simply accessing a given instance in
83802e13abSRuslan Ermilov.Pa /dev
84802e13abSRuslan Ermilovwill create it.
851b57ee4dSJulian Elischer.Sh DIAGNOSTICS
861b57ee4dSJulian ElischerNone.
871b57ee4dSJulian Elischer.Sh SEE ALSO
88a1d57b9aSPoul-Henning Kamp.Xr stty 1 ,
89a1d57b9aSPoul-Henning Kamp.Xr termios 4 ,
90*463b8ebdSAllan Jude.Xr tty 4 ,
91*463b8ebdSAllan Jude.Xr ttys 5
921b57ee4dSJulian Elischer.Sh HISTORY
931b57ee4dSJulian ElischerThe
941b57ee4dSJulian Elischer.Nm
95cef39a72SMark Peekdriver first appeared in
96cef39a72SMark Peek.Fx 4.4 .
97