If it has not been possible to initialize a device with /sbin/hwup, the agent searches through module maps for a suitable driver. The first place it looks is the maps contained in /etc/hotplug/*.handmap. If it does not find the driver there, it also searches in /lib/modules/<kernelversion>/modules.*map. To use a driver other than the standard driver for the kernel, enter this in /etc/hotplug/*.handmap, as this is the first file read.
Note the following differences between USB and PCI. The agent usb.agent also searches for user-mode drivers in files /etc/hotplug/usb.usermap and /etc/hotplug/usb/*.usermap. In this way it is possible to call executable programs for particular devices. In the case of PCI devices, pci.agent first queries hwinfo about driver modules. Only if hwinfo does not know of any drivers does the agent look in pci.handmap and the kernel map. As hwinfo has already looked there, the inquiry must fail. hwinfo has an additional database available to it, which is read after the handmap and before the kernel map.
The agent pci.agent can be confined to driver modules in a particular subdirectory of /lib/modules/<kernelversion>/kernel/drivers. To specify this directory or several directories, enter the variable HOTPLUG_PCI_DRIVERTYPE_WHITELIST in file /etc/sysconfig/hotplug. Exclude directories by specifying them in HOTPLUG_PCI_DRIVERTYPE_BLACKLIST. The modules in these directories are never loaded. Additionally, enter modules no agent is allowed to load in the file /etc/hotplug/blacklist. Write each module name in a separate line.
If several suitable modules are found in a map file, only the first module is loaded. To load all the modules, set HOTPLUG_LOAD_MULTIPLE_MODULES=yes.
Modules loaded with hwup are not affected by this. Automatic module loading occurs only in exceptional cases.