NAME¶
pcimodules - List kernel driver modules available for all currently plugged in
PCI devices
SYNOPSIS¶
pcimodules [
--classclass_id
]
[
--classmaskmask
] [
--help]
DESCRIPTION¶
pcimodules lists all driver modules for all currently plugged in PCI
devices.
pcimodules should be run at boot time, and whenever a PCI
device is "hot plugged" into the system. This can be done by the
following Bourne shell syntax:
- for module in $(pcimodules) ; do
- modprobe -s -k "$module"
- done
When a PCI device is removed from the system, the Linux kernel will decrement a
usage count on PCI driver module. If this count drops to zero (i.e., there are
no PCI drivers), then the
modprobe -r process that is normally
configured to run from cron every few minutes will eventually remove the
unneeded module.
The --class and --classmask arguments can be used to limit the search to certain
classes of PCI devices. This is useful, for example, to generate a list of
ethernet card drivers to be loaded when the kernel has indicated that it is
trying to resolve an unknown network interface.
Modules are listed in the order in which the PCI devices are physically arranged
so that the computer owner can arrange things like having scsi device 0 be on
a controller that is not alphabetically the first scsi controller.
OPTIONS¶
- --class class --classmask mask
--class and --classmask limit the search to PCI cards in particular classes.
These arguments are always used together. The arguments to --class and
--classmask can be given as hexadecimal numbers by prefixing a leading
"0x". Note that the classes used by pcimodules are in
"Linux" format, meaning the class value that you see with lspci
would be shifted left eight bits, with the new low eight bits programming
interface ID. An examples of how to use class and classmask is provided below.
--help, -h Print a help message and exit.
EXAMPLES¶
- pcimodules
- lists all modules corresponding to currently plugged in PCI
devices.
- pcimodules --class 0x20000 --classmask 0xffff00
- lists all modules corresponding to currently plugged in
ethernet PCI devices.
FILES¶
- /lib/modules/<kernel-version>/modules.pcimap
- This file is automatically generated by depmod, and
used by pcimodules to determine which modules correspond to which
PCI ID's.
- /proc/bus/pci
- An interface to PCI bus configuration space provided by the
post-2.1.82 Linux kernels. Contains per-bus subdirectories with per-card
config space files and a devices file containing a list of all PCI
devices.
SEE ALSO¶
lspci(8)
MAINTAINER¶
The Linux PCI Utilities are maintained by Martin Mares <mj@suse.cz>.
AUTHOR¶
pcimodules was written by Adam J. Richter <adam@yggdrasil.com>,
based on public domain example code by Martin Mares <mj@suse.cz>.
COPYRIGHT¶
pcimodules is copyright 2000, Yggdrasil Computing, Incorporated, and may
be copied under the terms and conditions of version 2 of the GNU General
Public License as published by the Free Software Foundation (Cambridge,
Massachusetts, United States of America).