18.4. Chargement automatique de modules

Si un périphérique ne peut pas être initialisé avec /sbin/hwup, l'agent explore les tables de correspondance de modules (en anglais module maps) à la recherche d'un pilote adapté. Il examine en premier les tables de correspondance dans /etc/hotplug/*.handmap ; s'il n'a pas trouvé de pilote, il cherche également dans /lib/modules/<kernelversion>/modules.*map. Si vous voulez utiliser un autre pilote que le pilote standard du noyau, déclarez-le dans /etc/hotplug/*.handmap car ce fichier est le premier à être lu.

L'agent USB cherche également des pilotes en mode utilisateur dans les fichiers /etc/hotplug/usb.usermap et /etc/hotplug/usb/*.usermap. Les pilotes en mode utilisateur (user-mode) sont des programmes qui règlent l'accès au périphérique en lieu et place d'un module noyau. On peut de cette façon appeler des programmes exécutables pour des périphériques déterminés.

Dans le cas de périphériques PCI, pci.agent interroge d'abord hwinfo au sujet de modules de pilote. L'agent ne recherche dans le pci.handmap et les correspondances du noyau (kernel map) que si hwinfo ne connaît aucun pilote. Ceci a déjà été tenté auparavant par hwinfo et doit donc également échouer. hwinfo dispose d'une base de données supplémentaire d'assignation des pilotes. Toutefois la commande lit également pci.handmap, ce qui permet de s'assurer qu'une quelconque assignation inscrite dans ce fichier est réellement utilisée.

L'agent pci.agent peut être limité à des périphériques d'un type déterminé ou aux modules pilotes qui se trouvent dans un sous-répertoire de /lib/modules/<kernelversion>/kernel/drivers. Dans le premier cas, des classes de périphériques PCI trouvées à la fin du fichier /usr/share/pci.ids peuvent être ajoutées dans le fichier /etc/sysconfig/hotplug au niveau des variables HOTPLUG_PCI_CLASSES_WHITELIST etHOTPLUG_PCI_CLASSES_BLACKLIST. Pour le second cas, spécifiez un ou plusieurs répertoires dans les variables HOTPLUG_PCI_DRIVERTYPE_WHITELIST et HOTPLUG_PCI_DRIVERTYPE_BLACKLIST. Les modules de ces répertoires exclus ne sont jamais chargés. Dans les deux cas, une liste blanche (whitelist) totalement vide signifie que toute possibilité, à l'exception de celles exclues dans la liste noire (blacklist), est autorisée. Vous pouvez également exclure des modules individuels du chargement. Indiquez simplement dans le fichier /etc/hotplug/blacklist les modules qui ne devront jamais être chargés par un agent. Écrivez chacun des noms de module sur une ligne séparée.

Si plusieurs modules appropriés sont trouvés dans une table de correspondance, seul le premier module sera chargé. Si vous souhaitez que tous les modules soient chargés, déclarez la variable HOTPLUG_LOAD_MULTIPLE_MODULES=yes. Il est préférable toutefois d'établir une configuration matérielle /etc/sysconfig/hardware/hwcfg-* particulière pour ce périphérique.

Cela ne concerne pas les modules chargés à l'aide de hwup. Le chargement automatique de modules n'a lieu qu'exceptionnellement, et sera encore davantage restreint dans les versions futures de SUSE LINUX. Cependant, si un module adéquat a été trouvé, l'agent crée un fichier de configuration hwup qui sera utilisé la prochaine fois. Cela augmente la vitesse d'initialisation du périphérique.


SUSE LINUX Guide de l'administrateur 9.2