xref: /freebsd/sbin/devmatch/devmatch.8 (revision 6829dae12bb055451fa467da4589c43bd03b1e64)
1.\"
2.\" Copyright (c) 2017 Netflix, Inc.
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.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
14.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
15.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
16.\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
17.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
18.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23.\"
24.\" $FreeBSD$
25.\"
26.Dd February 16, 2018
27.Dt DEVMATCH 8
28.Os
29.Sh NAME
30.Nm devmatch
31.Nd print information about unattached devices
32.Sh SYNOPSIS
33.Nm
34.Op Fl adhpuv
35.Op Fl -all
36.Op Fl -dump
37.Op Fl -hints Ar file
38.Op Fl -nomatch Ar event
39.Op Fl -unbound
40.Op Fl -verbose
41.Sh DESCRIPTION
42The
43.Nm
44utility, without any arguments, prints all the kernel modules it has
45found for all the unattached, enabled devices in the system.
46.Bl -tag -width 20m
47.It Fl a Fl -all
48Include all devices, not just the ones that are unattached.
49.It Fl d Fl -dump
50Produce a human readable dump of the
51.Pa linker.hints
52file.
53.It Fl h Fl -hints Ar file
54Use the named
55.Ar file
56instead of
57.Pa linker.hints
58guessed from the current module load path.
59.It Fl p Fl -nomatch Ar event
60Parse and use a standard NOMATCH event from
61.Xr devd 8
62for matching instead of searching the device tree.
63.It Fl u Fl -unbound
64Attempt to produce a list of those drivers with PNP info whose driver
65tables with that PNP info can't be found.
66.It Fl v Fl -verbose
67Produce more verbose output.
68.El
69.Sh SEE ALSO
70.Xr devinfo 8 ,
71.Xr MODULE_PNP_INFO 9
72.Sh BUGS
73The kernel has hints in it, but we exclude it from the list of modules
74to suggest for unmatched devices.
75We exclude it when suggesting drivers, but include it when looking for
76unbound devices or producing a full dump of
77.Pa linker.hints .
78This can be confusing.
79.Pp
80Some modules are hard links in
81.Pa /boot/kernel
82and will be reported twice.
83.Pp
84The PNP string's attributes are evaluated once per PNP entry on that
85bus rather than once.
86.Pp
87The term PNP is overloaded in FreeBSD.
88It means, generically, the identifying data the bus provides about a
89device.
90While this include old ISA PNP identifiers, it also includes the
91logical equivalent in USB, PCI, and others.
92.Pp
93Many drivers currently lack proper PNP table decorations and need to
94be updated.
95.Sh AUTHORS
96.An Warner Losh Aq Mt imp@FreeBSD.org
97