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