NAME
usbmodules − List kernel driver modules available for a plugged in USB device
SYNOPSIS
usbmodules [--device /proc/bus/bus/NNN/NNN | --product xx/xx/xx --type dd/dd/dd --interface dd/dd/dd] [--check modulename] [--help] [--mapfile pathname] [--version pathname]
DESCRIPTION
usbmodules lists driver modules that may be able to manage interfaces on currently plugged in USB devices. usbmodules may be used by /sbin/hotplug or one of its agents (normally /etc/hotplug/usb.agent) when USB devices are "hot plugged" into the system. This can be done by the following Bourne shell syntax:
for module in $(usbmodules --device $DEVICE) ; do | |||
modprobe -s -k "$module" | |||
done |
or
for module in $(usbmodules --product $PRODUCT --type $TYPE --interface $INTERFACE) ; do | |||
modprobe -s -k "$module" | |||
done |
The DEVICE environment variable is passed from the kernel to /sbin/hotplug during USB hotplugging if the kernel was configured using usbdevfs. The environment variables PRODUCT, TYPE and INTERFACE are set when /sbin/hotplug is called during hotplugging. usbmodules can operate with both configurations.
When a USB device is removed from the system, the Linux kernel will decrement a usage count on USB driver module. If this count drops to zero (i.e., there are no clients for the USB device driver), then the modprobe -r process that is normally configured to run from cron every few minutes will eventually remove the unneeded module.
OPTIONS
--check modulename
Instead of listing the relevant modules, just exit with code 0 (success) if the given module’s exported USB ID patterns matches. Otherwise, return failure. usbmodules emits no output either way.
--device /proc/bus/usb/MMM/NNN
Selects which device usbmodules will examine. The argument is mandatory unless --procuct , --type and --interface are used together.
--product xx/xx/xx --type dd/dd/dd --interface dd/dd/dd
Alternative way to select the device usbmodules will examine. These arguments are mandatory unless --device is given.
--help, -h
Print a help message
--mapfile /etc/hotplug/usb.handmap
Use the specified file instead of the /lib/modules/.../modules.usbmap file corresponding to the running kernel.
--version
Identifies the version of usbutils this tool was built with.
FILES
/lib/modules/<kernel-version>/modules.usbmap
This file is automatically generated by depmod, versions 2.4.2 and later, and is used by usbmodules to determine which modules correspond to which USB ID’s.
/proc/bus/usb
An optional interface to USB devices provided by Linux kernels with versions of the 2.4 USB support. Contains per-bus subdirectories with per-device files (offering a usermode driver API as well as access to device and configuration descriptors), a devices file containing a list of all USB devices, and a drivers file listing USB device drivers known to the USB subsystem.
SEE ALSO
lsusb(8), http://linux-hotplug.sourceforge.net
AUTHOR
usbmodules was written by Adam J. Richter <adam [AT] yggdrasil.com>, and is based partly on lsusb, which was written by Thomas Sailer <sailer [AT] ife.ch>.
COPYRIGHT
usbmodules is copyright 2000, Yggdrasil Computing, Incorporated, and copyright 1999, Thomas Sailer. usbmodules may may be copied under the terms and conditions of version 2 of the GNU General Public License as published by the Free Software Foundation (Cambrige, Massachusetts, United States of America).