aboutsummaryrefslogtreecommitdiff
path: root/share/man/man4/man4.i386
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man4/man4.i386')
-rw-r--r--share/man/man4/man4.i386/Makefile6
-rw-r--r--share/man/man4/man4.i386/keyboard.49
-rw-r--r--share/man/man4/man4.i386/lpt.428
-rw-r--r--share/man/man4/man4.i386/screen.412
-rw-r--r--share/man/man4/man4.i386/sio.4150
-rw-r--r--share/man/man4/man4.i386/spkr.4246
6 files changed, 342 insertions, 109 deletions
diff --git a/share/man/man4/man4.i386/Makefile b/share/man/man4/man4.i386/Makefile
index a4a605999209..17702805c040 100644
--- a/share/man/man4/man4.i386/Makefile
+++ b/share/man/man4/man4.i386/Makefile
@@ -1,9 +1,9 @@
# @(#)Makefile 0.1 (RWGrimes) 3/25/93
-MAN4= com.4 keyboard.4 lpa.4 lpt.4 mem.4 mse.4 npx.4 screen.4 sio.4 spkr.4
+MAN4= com.4 keyboard.4 lpa.4 lpt.4 mem.4 mse.4 npx.4 screen.4 sio.4 spkr.4
-MLINKS= com.4 ../com.4
-MLINKS+= keyboard.4 ../keyboard.4
+MLINKS= com.4 ../com.4
+MLINKS+= keyboard.4 ../keyboard.4
MLINKS+= lpa.4 ../lpa.4
MLINKS+= lpt.4 ../lpt.4
MLINKS+= mem.4 ../mem.4
diff --git a/share/man/man4/man4.i386/keyboard.4 b/share/man/man4/man4.i386/keyboard.4
index 0a8b0d514197..f74b5ec14f1c 100644
--- a/share/man/man4/man4.i386/keyboard.4
+++ b/share/man/man4/man4.i386/keyboard.4
@@ -6,7 +6,7 @@
.Nd pc keyboard interface
.Sh DESCRIPTION
-The PC keyboard is use as the console character input device. The keyboard
+The PC keyboard is used as the console character input device. The keyboard
is owned by the current virtual console.
To switch between the virtual consoles use the sequence
.Ar ALT+Fn
@@ -20,7 +20,8 @@ present on the keyboard via a special keysequence.
To use this facility press and hold down ALT,
then enter a decimal number from 0-255 via the numerical keypad, then
release ALT. The entered value is then used as the ASCII value for one
-character. This way it is possible to enter any ASCII value.
+character. This way it is possible to enter any ASCII value, not present
+on the keyboard.
The keyboard is configurable to suit the individual user and the different
national layout.
@@ -130,5 +131,5 @@ The function keys are numbered like this:
.Ed
.Pp
.Sh AUTHOR
- S_ren Schmidt
- Email: (baukno@login.dkuug.dk -or- sos@kmd-ac.dk)
+ Søren Schmidt
+ Email: (sos@login.dkuug.dk -or- sos@kmd-ac.dk)
diff --git a/share/man/man4/man4.i386/lpt.4 b/share/man/man4/man4.i386/lpt.4
index 070a53e0a008..0fb89387bab9 100644
--- a/share/man/man4/man4.i386/lpt.4
+++ b/share/man/man4/man4.i386/lpt.4
@@ -37,23 +37,37 @@
.Nd
Parallel port driver
.Sh SYNOPSIS
+For interrupt-driven ports:
.Cd "device lpt0 at isa? port" \&"IO_LPT1\&" tty irq 7 vector lptintr
.Cd "device lpt1 at isa? port" \&"IO_LPT2\&" tty irq 7 vector lptintr
.Cd "device lpt2 at isa? port" \&"IO_LPT3\&" tty irq 7 vector lptintr
+.sp
+For BIOS-probed ports:
+.Cd "device lpt0 at isa? port? tty irq 7 vector lptintr"
+.sp
+For polled ports:
+.Cd "device lpt0 at isa? port? tty"
+.Cd "device lpt1 at isa? port" \&"IO_LPT2\&" tty
.Sh DESCRIPTION
-This driver provides access to parallel ports. It assumes that
-the parallel port controller interrupts the CPU properly. If
-this is not the case, the
-.Nm lpa
-driver should be used instead.
+This driver provides access to parallel ports.
+.sp
+The driver can be configured either to be either interrupt-driven, or
+to poll the printer. Ports that are configured to be
+interrupt-driven can be switched to polled mode by using the
+.Xr lptcontrol 1
+command.
+.sp
+This driver replaces the functionality of the
+.Xr lpa 4
+driver, which is now defunct.
.Sh FILES
.Bl -tag -width Pa -compact
.It Pa /dev/lpt0
first parallel port driver
.El
.Sh SEE ALSO
-.Xr lpa 4
+.Xr lptcontrol 1
.Sh BUGS
There are lots of them, especially in cheap parallel port implementations.
.Pp
-This driver could stand a rewrite.
+This driver could still stand a rewrite.
diff --git a/share/man/man4/man4.i386/screen.4 b/share/man/man4/man4.i386/screen.4
index a0df69cc3c5f..1d9326868522 100644
--- a/share/man/man4/man4.i386/screen.4
+++ b/share/man/man4/man4.i386/screen.4
@@ -9,7 +9,7 @@
Access to the
.Ar virtual consoles
are obtained through the device files
-tty01 - ttynn in /dev.
+ttyv0 - ttyvb in /dev.
Each of these files correspond to a seperate
virtual console.
All virtual console devices can be open at once, but only one is
@@ -20,7 +20,7 @@ Output to a virtual console that not currently is on the display is
saved in a buffer that holds a "screenfull" (normally 25) lines.
Any output written to
.Ar /dev/console
-(the original console device) is echoed to /dev/tty01.
+(the original console device) is echoed to /dev/ttyv0.
.Pp
To switch between the virtual consoles one uses the sequence
.Ar ALT+Fn
@@ -28,7 +28,7 @@ To switch between the virtual consoles one uses the sequence
virtual console with the same number as the function key is then
selected as the current virtual console, and given exclusive use of
the keyboard and display. This switch sequence can be changed via
-the keyboard mapping ioctl call (see keyboard.man)
+the keyboard mapping ioctl call (see keyboard.4)
.Pp
The number of virtual consoles is changeable in the system config
file, and need recompilation of the kernel to take any effect. The
@@ -57,7 +57,7 @@ CUF E[nC move cursor right n characters nd (kr)
CUB E[nD move cursor left n characters bs (kl)
-HPA E[n` move cursor character position n --
+HPA E[n` move cursor to character position n --
HPR E[na move cursor right n characters --
@@ -153,5 +153,5 @@ note: the first E in the sequences stands for ESC (0x1b)
.Ed
.Pp
.Sh AUTHOR
- S_ren Schmidt
- Email: (baukno@login.dkuug.dk -or- sos@kmd-ac.dk)
+ Søren Schmidt
+ Email: (sos@login.dkuug.dk -or- sos@kmd-ac.dk)
diff --git a/share/man/man4/man4.i386/sio.4 b/share/man/man4/man4.i386/sio.4
index 33c25e110b9c..8fcd2c17cfd1 100644
--- a/share/man/man4/man4.i386/sio.4
+++ b/share/man/man4/man4.i386/sio.4
@@ -34,39 +34,144 @@
.\"
.\" from: @(#)dca.4 5.2 (Berkeley) 3/27/91
.\" from: com.4,v 1.1 1993/08/06 11:19:07 cgd Exp
-.\" $Id: sio.4,v 1.1 1993/08/28 12:41:23 rgrimes Exp $
+.\" $Id: sio.4,v 1.8.2.1 1994/05/01 16:07:37 jkh Exp $
.\"
-.Dd August 28, 1993
+.Dd February 9, 1994
.Dt SIO 4 i386
.Os FreeBSD
.Sh NAME
.Nm sio
.Nd
-fast interrupt serial communications interface
+fast interrupt driven asynchronous serial communications interface
.Sh SYNOPSIS
+For standard ports:
.Cd "device sio0 at isa? port" \&"IO_COM1\&" tty irq 4 vector siointr
.Cd "device sio1 at isa? port" \&"IO_COM2\&" tty irq 3 vector siointr
.Cd "device sio2 at isa? port" \&"IO_COM3\&" tty irq 5 vector siointr
.Cd "device sio3 at isa? port" \&"IO_COM4\&" tty irq 9 vector siointr
+.sp
+For multiport cards:
+.Cd "options" \&"COM_MULTIPORT\&"
+.Cd "device sio4 at isa? port 0x2a0 tty irq 12 flags 0x401 vector siointr"
+.Cd "device sio5 at isa? port 0x2a8 tty flags 0x401 vector siointr"
+.Cd "device sio6 at isa? port 0x2b0 tty flags 0x401 vector siointr"
+.Cd "device sio7 at isa? port 0x2b8 tty flags 0x401 vector siointr"
+.sp
+For bidirectional use of ports:
+.Cd "options" \&"COM_BIDIR\&"
+.sp
+For control FIFO trigger:
+.Cd "options" \&"FIFO_TRIGGER=FIFO_TRIGGER_14\&"
+.sp
+Use 0x02 bit in flags field to disable FIFO on specified port.
.Sh DESCRIPTION
The
.Nm sio
-driver provides support for NS8250-, NS16450-, and NS16550-based
+driver provides support for NS8250-, NS16450-, NS16550 and NS16550A-based
.Tn EIA
.Tn RS-232C
.Pf ( Tn CCITT
-.Tn V.28 )
+.Tn V.24 )
communications interfaces. The NS8250 and NS16450 have single character
-buffers, and the NS16550 has a 16 character buffer.
+buffers, the NS16550A has a 16 character FIFO buffer.
.Pp
Input and output for each line may set to one of following baud rates;
50, 75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400, 4800, 9600,
-19200, 38400, 57600, or 115200.
+19200, 38400, 57600, or 115200. Your hardware may limit your baud
+rate choices.
+.Pp
+The driver supports `multiport' cards.
+Multiport cards are those that have one or more groups of ports
+that share a common IRQ and Interrupt Request register set per group.
+Frequently 4 ports share 1 IRQ, some 8 port cards have 2 groups of 4 ports,
+thus using 2 IRQs.
+Some cards allow the first 2 serial ports to have seperate IRQs per port
+(as per DOS PC standard).
+.sp
+The
+.Nm flags
+keyword specifies for each
+.Nm device sio
+line in the kernel configuration file,
+whether the port is part of an IRQ sharing group, & if so,
+which port is the master device for
+the group (ie which port has the IRQ control registers).
+The master device is the port which
+has registers through which all interrupts of the port group are funneled.
+All ports of a port group report pending interrupts using this
+single register.
+.sp
+The master device is an integer embedded in the high byte of the
+.Nm flags
+bitfield, so all sio entries in the kernel config file that are part of a
+multiport card must include the correct
+.Nm flags
+specification.
+The bitwise assignment allows multiple port groups to
+be configured in one system. It does
+.Nm not
+imply that more than one port group (or card) can share
+the same physical interrupt line!
+.Pp
+In the synopsis the
+.Nm flags 0x401
+means that the 5th port (sio4) is the master
+device (so the MSB of the flags), and that the ports are part of a
+multiport card (the LSB of the flags, actually only the LS
+.Nm bit
+).
+F.e. if you have only two standard ports in addition to multiport
+card, this
+.Nm flags
+will be
+.Nm 0x201
+(assuming the control port is
+.Nm sio2
+).
+.Pp
+Which port is the master device depends on the card type. Consult
+the hardware documentation of your card.
+.Pp
+Serial ports controlled by the
+.Nm sio
+driver can be used for both dialin and dialout. Use
+.Xr comcontrol 8
+to enable/disable bidirectional use of the
+.Nm sio
+ports. The minor number of the dialout
+port is 128 higher than that of the corresponding dialin port. Use
+.Xr stty 1
+to enable or disable modem control as required by your setup.
+.Pp
+While testing new cards & resolving card config DIP header &
+.Nm sio flags
+settings, to avoid coms. failure from lack of full modem DC level
+settings on ports,
+you are recommended to temporarily use syntax such as:
+.Nm stty -f /dev/tty03 clocal
+or open
+.Nm /dev/cua03
+if you have bidirectional mode active
+to force serial port to open without
+.Nm O_NONBLOCK
+flag.
.Sh FILES
-.Bl -tag -width Pa
-.It Pa /dev/tty00
-.It Pa /dev/tty01
+.Bl -tag -width /dev/tty0? -compact
+.It Pa /dev/tty0?
+for hardwired terminals
+.El
+or
+.Bl -tag -width /dev/tty0? -compact
+.It Pa /dev/ttyd?
+for dialin ports (and dialout when bidirectional usage disabled)
+.It Pa /dev/cua0?
+for dialout ports when bidirectional usage enabled
.El
+.Pp
+The devices numbers are made from the set [0-9a-z] so that more than
+10 ports can be supported.
+/dev/tty0? and /dev/ttyd? are mutually exclusive, if you have
+/dev/tty0? corresponding /dev/ttyd? must be removed and vice versa.
.Sh DIAGNOSTICS
.Bl -diag
.It sio%d: silo overflow.
@@ -78,8 +183,9 @@ has overflowed and incoming data has been lost.
.\"with the code listed.
.El
.Sh SEE ALSO
-.Xr tty 4
-.Xr com 4
+.Xr tty 4 ,
+.Xr comcontrol 8 ,
+.Xr stty 1 .
.Sh HISTORY
The
.Nm
@@ -91,11 +197,23 @@ driver and is
.Sh BUGS
Data loss is not near as likely on busy systems as they are with the
.Xr com 4
-driver but they still can occur at very high baud rates on slow systems.
+driver but they still can occur at very high baud rates on slow systems. The
+use of NS16550A's helps lot to handle high baud rates.
+.Pp
+Stay away from NS16550 (so without the trailing A). These are early
+implementations of the chip with non-functional FIFO hardware.
.Pp
The constants which define the locations
-of the various seiral ports are holdovers from
+of the various serial ports are holdovers from
.Nm DOS .
+As shown, hex addresses can be and for clarity probably should be used instead.
+.Pp
+As usual, you get what you pay for; cheap NS16550 clones generally don't work.
.Pp
-As usual, you get what you pay for; cheap NS16550 clones
-generally don't work.
+The multiport example is based on an AST/4 card, your
+mileage may vary however. Note that on the AST/4 the card's dipswitches should
+.Nm not
+be set to use interrupt sharing. AST/4-like interrupt sharing is only used when
+.Nm multiple
+AST/4 cards are installed in the same system. The sio driver does not
+support more than 1 AST/4 on one IRQ.
diff --git a/share/man/man4/man4.i386/spkr.4 b/share/man/man4/man4.i386/spkr.4
index b211674893f0..c9015b30e712 100644
--- a/share/man/man4/man4.i386/spkr.4
+++ b/share/man/man4/man4.i386/spkr.4
@@ -1,78 +1,141 @@
-.TH SPKR 4
-.SH NAME
-spkr \- console speaker device driver
-.SH DESCRIPTION
+.Dd November 7, 1993
+.Dt SPKR 4
+.Os FreeBSD
+.Sh NAME
+.Nm spkr
+.Nd console speaker device driver
+.Sh SYNOPSIS
+.Cd pseudo-device speaker
+.Fd #include <machine/speaker.h>
+.Sh DESCRIPTION
The speaker device driver allows applications to control the PC console
-speaker on an IBM-PC-compatible machine running UNIX.
-.PP
-Only one process may have this device open at any given time; open() and
-close() are used to lock and relinquish it. An attempt to open() when
-another process has the device locked will return -1 with an EBUSY error
-indication. Writes to the device are interpreted as 'play strings' in a
-simple ASCII melody notation. An ioctl() for tone generation at arbitrary
+speaker on an
+.Tn IBM-PC Ns --compatible
+machine running FreeBSD.
+.Pp
+Only one process may have this device open at any given time;
+.Xr open 2
+and
+.Xr close 2
+are used to lock and relinquish it. An attempt to open when
+another process has the device locked will return -1 with an
+.Er EBUSY
+error
+indication. Writes to the device are interpreted as `play strings' in a
+simple ASCII melody notation. An
+.Xr ioctl 2
+request
+for tone generation at arbitrary
frequencies is also supported.
-.PP
-Sound-generation does \fInot\fR monopolize the processor; in fact, the driver
+.Pp
+Sound-generation does not monopolize the processor; in fact, the driver
spends most of its time sleeping while the PC hardware is emitting
tones. Other processes may emit beeps while the driver is running.
-.PP
-Applications may call ioctl() on a speaker file descriptor to control the
-speaker driver directly; definitions for the ioctl() interface are in
-sys/spkr.h. The tone_t structure used in these calls has two fields,
-specifying a frequency (in hz) and a duration (in 1/100ths of a second).
+.Pp
+Applications may call
+.Xr ioctl 2
+on a speaker file descriptor to control the
+speaker driver directly; definitions for the
+.Xr ioctl 2
+interface are in
+.Pa /usr/include/machine/speaker.h .
+The
+.Li tone_t
+structure used in these calls has two fields,
+specifying a frequency (in Hz) and a duration (in 1/100ths of a second).
A frequency of zero is interpreted as a rest.
-.PP
-At present there are two such ioctls. SPKRTONE accepts a pointer to a
-single tone structure as third argument and plays it. SPKRTUNE accepts a
+.Pp
+At present there are two such
+.Xr ioctl 2
+calls.
+.Dv SPKRTONE
+accepts a pointer to a
+single tone structure as third argument and plays it.
+.Dv SPKRTUNE
+accepts a
pointer to the first of an array of tone structures and plays them in
continuous sequence; this array must be terminated by a final member with
a zero duration.
-.PP
+.Pp
The play-string language is modelled on the PLAY statement conventions of
-IBM BASIC 2.0. The MB, MF and X primitives of PLAY are not useful in a UNIX
-environment and are omitted. The `octave-tracking' feature is also new.
-.PP
+.Tn IBM
+Advanced BASIC 2.0. The
+.Li MB ,
+.Li MF ,
+and
+.Li X
+primitives of PLAY are not
+useful in a timesharing environment and are omitted. The `octave-tracking'
+feature and the slur mark are new.
+.Pp
There are 84 accessible notes numbered 1-83 in 7 octaves, each running from
C to B, numbered 0-6; the scale is equal-tempered A440 and octave 3 starts
-with middle C. By default, the play function emits half-second notes with the
+with middle C. By default, the play function emits half-second notes with the
last 1/16th second being `rest time'.
-.PP
+.Pp
Play strings are interpreted left to right as a series of play command groups;
letter case is ignored. Play command groups are as follows:
-.PP
-CDEFGAB -- letters A through G cause the corresponding note to be played in the
-current octave. A note letter may optionally be followed by an \fIaccidental
-sign\fR, one of # + or -; the first two of these cause it to be sharped one
-half-tone, the last causes it to be flatted one half-tone. It may also be
-followed by a time value number and by sustain dots (see below). Time values
-are interpreted as for the L command below;.
-.PP
-O <n> -- if <n> is numeric, this sets the current octave. <n> may also be one
-of 'L' or 'N' to enable or disable octave-tracking (it is disabled by default).
-When octave-tracking is on, interpretation of a pair of letter notes will
-change octaves if necessary in order to make the smallest possible jump between
-notes. Thus "olbc" will be played as "olb>c", and "olcb" as "olc<b". Octave
-locking is disabled for one letter note following by >, < and O[0123456].
-.PP
-> -- bump the current octave up one.
-.PP
-< -- drop the current octave down one.
-.PP
-N <n> -- play note n, n being 1 to 84 or 0 for a rest of current time value.
-May be followedv by sustain dots.
-.PP
-L <n> -- sets the current time value for notes. The default is L4, quarter
-notes. The lowest possible value is 1; values up to 64 are accepted. L1 sets
-whole notes, L2 sets half notes, L4 sets quarter notes, etc..
-.PP
-P <n> -- pause (rest), with <n> interpreted as for L. May be followed by
-sustain dots. May also be written '~'.
-.PP
-T <n> -- Sets the number of quarter notes per minute; default is 120. Musical
+.Bl -tag -width CDEFGABxx
+.It Li CDEFGAB
+Letters A through G cause the corresponding note to be played in the
+current octave. A note letter may optionally be followed by an
+.Dq Em "accidental sign" ,
+one of # + or -; the first two of these cause it to be sharped one
+half-tone, the last causes it to be flatted one half-tone. It may
+also be followed by a time value number and by sustain dots (see
+below). Time values are interpreted as for the L command below.
+.It Ns Li O Sy n
+If
+.Sy n
+is numeric, this sets the current octave.
+.Sy n
+may also be one of
+.Li L
+or
+.Li N
+to enable or disable octave-tracking (it is disabled by default).
+When octave-tracking is on, interpretation of a pair of letter notes
+will change octaves if necessary in order to make the smallest
+possible jump between notes. Thus ``olbc'' will be played as
+``olb>c'', and ``olcb'' as ``olc<b''. Octave locking is disabled for
+one letter note following >, < and O[0123456]. (The octave-locking
+feature is not supported in
+.Tn IBM
+BASIC.)
+.It Li >
+Bump the current octave up one.
+.It Li <
+Drop the current octave down one.
+.It Ns Li N Sy n
+Play note
+.Sy n ,
+.Sy n
+being 1 to 84 or 0 for a rest of current time value.
+May be followed by sustain dots.
+.It Ns Li L Sy n
+Sets the current time value for notes. The default is
+.Li L4 ,
+quarter or crotchet notes. The lowest possible value is 1; values up
+to 64 are accepted.
+.Li L1
+sets whole notes,
+.Li L2
+sets half notes,
+.Li L4
+sets quarter notes, etc.
+.It Ns Li P Sy n
+Pause (rest), with
+.Sy n
+interpreted as for
+.Ns Li L Sy n .
+May be followed by
+sustain dots. May also be written
+.Li ~ .
+.It Ns Li T Sy n
+Sets the number of quarter notes per minute; default is 120. Musical
names for common tempi are:
-.TS
-a a a.
+.Bd -literal -offset indent
Tempo Beats Per Minute
very slow Larghissimo
Largo 40-60
@@ -90,28 +153,65 @@ fast Allegretto
Veloce
Presto 168-208
very fast Prestissimo
-.TE
-.PP
-M[LNS] -- set articulation. MN (N for normal) is the default; the last 1/8th of
-the note's value is rest time. You can set ML for legato (no rest space) or
-MS (staccato) 1/4 rest space.
-.PP
-Notes (that is, CDEFGAB or N command character groups) may be followed by
+.Ed
+.It Li M[LNS]
+Set articulation.
+.Li MN
+.Ns No ( Li N
+for normal) is the default; the last 1/8th of
+the note's value is rest time. You can set
+.Li ML
+for legato (no rest space) or
+.Li MS
+for staccato (1/4 rest space).
+.El
+.Pp
+Notes (that is,
+.Li CDEFGAB
+or
+.Li N
+command character groups) may be followed by
sustain dots. Each dot causes the note's value to be lengthened by one-half
for each one. Thus, a note dotted once is held for 3/2 of its undotted value;
dotted twice, it is held 9/4, and three times would give 27/8.
-.PP
+.Pp
+A note and its sustain dots may also be followed by a slur mark (underscore).
+This causes the normal micro-rest after the note to be filled in, slurring it
+to the next one. (The slur feature is not supported in
+.Tn IBM
+BASIC.)
+.Pp
Whitespace in play strings is simply skipped and may be used to separate
melody sections.
-.SH BUGS
+.Sh BUGS
Due to roundoff in the pitch tables and slop in the tone-generation and timer
hardware (neither of which was designed for precision), neither pitch accuracy
nor timings will be mathematically exact. There is no volume control.
-.PP
+.Pp
+The action of two or more sustain dots does not reflect standard musical
+notation, in which each dot adds half the value of the previous dot
+modifier, not half the value of the note as modified. Thus, a note dotted
+once is held for 3/2 of its undotted value; dotted twice, it is held 7/4,
+and three times would give 15/8. The multiply-by-3/2 interpretation,
+however, is specified in the
+.Tn IBM
+BASIC manual and has been retained for
+compatibility.
+.Pp
In play strings which are very long (longer than your system's physical I/O
blocks) note suffixes or numbers may occasionally be parsed incorrectly due
to crossing a block boundary.
-.SH FILES
-/dev/speaker -- speaker device file
-.SH AUTHOR
-Eric S. Raymond (esr@snark.thyrsus.com) Feb 1990
+.Sh FILES
+.Bl -tag -width /dev/speakerxx
+.It Pa /dev/speaker
+speaker device file
+.El
+.Sh AUTHOR
+Eric S. Raymond <esr@snark.thyrsus.com) June 1990
+.Sh "PORTED BY"
+Andrew A. Chernov <ache@astral.msk.su>
+.Sh HISTORY
+The
+.Nm
+device appeared in
+.Fx 1.0 .