DEVMATCH(8)

NAME
devmatch - print information about unattached devices

SYNOPSIS
devmatch [-a | --all] [-d | --dump] [[-h | --hints] file] [[-p | --nomatch] event] [-q | --quiet] [-u | --unbound] [-v | --verbose]

DESCRIPTION
The devmatch utility, without any arguments, prints all the kernel modules it has found for all the unattached, enabled devices in the system.

-a --all
    Include all devices, not just the ones that are unattached.

-d --dump
    Produce a human readable dump of the linker.hints file.

-h --hints file
    Use the named file instead of linker.hints guessed from the current module load path.

-p --nomatch event
    Parse and use a standard NOMATCH event from devd(8) for matching instead of searching the device tree.

-q --quiet
    Suppress some error messages and simply return a non-zero exit code. This is helpful to avoid an endless list of warnings during bootup if no hints are available.

-u --unbound
    Attempt to produce a list of those drivers with PNP info whose driver tables with that PNP info cannot be found.

-v --verbose
    Produce more verbose output.

SEE ALSO
rc.conf(5), devinfo(8), MODULE_PNP_INFO(9)

HISTORY
devmatch first appeared in FreeBSD 12.0.

AUTHORS
Warner Losh <imp@FreeBSD.org>

BUGS
The kernel has hints in it, but we exclude it from the list of modules to suggest for unmatched devices. We exclude it when suggesting drivers, but include it when looking for unbound devices or producing a full dump of linker.hints. This can be confusing.

Some modules are hard links in /boot/kernel and will be reported twice.

The PNP string's attributes are evaluated once per PNP entry on that bus rather than once.

The term PNP is overloaded in FreeBSD. It means, generically, the identifying data the bus provides about a device. While this includes old ISA PNP identifiers, it also includes the logical equivalent in USB, PCI, and others.

Many drivers currently lack proper PNP table decorations and need to be updated.