18.4. Carga automática de módulos

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.


SUSE LINUX Manual de administración 9.3