---
name: "nmdm"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/nmdm"
---

# nmdm(4)

nullmodem terminal driver

## NAME

**nmdm** – nullmodem terminal driver

## SYNOPSIS

To compile this driver into the kernel, place the following line in your kernel configuration file:

**device nmdm**

Alternatively, to load the driver as a module at boot time, place the following line in [loader.conf(5)](/loader.conf/5.md):

```
nmdm_load="YES"
```

## DESCRIPTION

The **nmdm** driver provides two [tty(4)](/tty/4.md) devices connected by a virtual “null modem” cable.

If either of the two tty devices have the CDSR\_OFLOW bit (“stty dsrflow”) set in their line discipline, the **nmdm** device will emulate the speed configured in the [termios(4)](/termios/4.md) settings. The speed emulation works independently in the two directions, controlled by the slower end's termios settings (*c\_ispeed*, *c\_ospeed*, CS5 ... CS8, CSTOPB and PARENB).

## FILES

- */dev/nmdm**N*\[*AB*\]

  nullmodem device nodes. Where the *A* node has a matching *B* node.

The **nmdm** driver implements “on-demand device creation” so simply accessing a given instance in */dev* will create it.

## DIAGNOSTICS

None.

## SEE ALSO

[stty(1)](/stty/1.md), [termios(4)](/termios/4.md), [tty(4)](/tty/4.md), [ttys(5)](/ttys/5.md)

## HISTORY

The **nmdm** driver first appeared in FreeBSD 4.4.
