Si no ha sido posible iniciar un dispositivo utilizando
/sbin/hwup, el agente busca un controlador adecuado
dentro de los “module maps”. Primero se busca en los mapas de
/etc/hotplug/*.handmap y, si la búsqueda no tiene
éxito, también en
/lib/modules/<versión_kernel>/modules.*map. Para
utilizar otro controlador que no sea el controlador estándar del kernel debe
introducirlo en el archivo /etc/hotplug/*.handmap, que
es el que se evalúa en primer lugar.
En USB y PCI existen algunas particularidades. El agente USB
busca también controladores de modo usuario en los archivos
/etc/hotplug/usb.usermap y
/etc/hotplug/usb/*.usermap. Se denomina controladores
de modo usuario a aquellos que no regulan un módulo del kernel sino el
acceso a un dispositivo. De este modo también es posible activar otros
programas ejecutables para dispositivos determinados.
En el caso de los dispositivos PCI,
pci.agent busca primero los controladores con
hwinfo. Si hwinfo no encuentra ningún
controlador, el agente consulta pci.handmap y
kernelmap. Esto ya lo ha hecho hwinfo previamente, con lo
cual el segundo intento no funcionará tampoco. hwinfo
dispone de una base de datos adicional para las correspondencias de
controladores. No obstante, también carga el archivo
pci.handmap para garantizar la aplicación de
correspondencias individuales que puedan haberse definido en este archivo.
Se
puede reducir la búsqueda de controladores del agente
pci.agent a dispositivos de un tipo concreto o a
determinados subdirectorios de
/lib/modules/<versión_kernel>/kernel/drivers. En el
primer caso, es posible introducir clases de dispositivo PCI tal y como
aparecen al final del archivo /usr/share/pci.ids en las
variables HOTPLUG_PCI_CLASSES_WHITELIST y
HOTPLUG_PCI_CLASSES_BLACKLIST del archivo
/etc/sysconfig/hotplug. En el segundo caso, el/los
directorios deseados se han de especificar en el archivo
/etc/sysconfig/hotplug utilizando las variables
HOTPLUG_PCI_DRIVERTYPE_WHITELIST o
HOTPLUG_PCI_DRIVERTYPE_BLACKLIST. Los módulos de los
directorios excluidos nunca se cargan. En ambos casos, si la
“whitelist” permanece vacía, significa que todas las posibilidades
son válidas excepto las excluidas en la lista negra. También es posible excluir
módulos individuales del proceso de carga. Para ello introduzca en el archivo
/etc/hotplug/blacklist los módulos que no deban ser
cargados bajo ningún concepto. Cada nombre de módulo se introduce en una línea
aparte.
Si se encuentran varios módulos adecuados dentro de un archivo map, sólo se
carga el primero. Para cargar todos los módulos, se define la variable
HOTPLUG_LOAD_MULTIPLE_MODULES=yes. No obstante, es
mejor todavía crear una configuración propia para este dispositivo:
/etc/sysconfig/hardware/hwcfg-*.
Esto no se refiere a los módulos que se cargan con el comando hwup. La carga automática de módulos está reducida a casos excepcionales que serán aún más raros en las futuras ediciones de SUSE LINUX. No obstante, si se ha encontrado un módulo adecuado, el agente crea un archivo de configuración hwup que se usará la próxima vez. De esta forma se incrementa la velocidad de inicio del dispositivo.