Konnte ein Gerät nicht mit /sbin/hwup initialisiert
werden, durchsucht der Agent so genannte „Module Maps“ nach
einem passenden Treiber. Die erste Wahl sind dabei die Maps in
/etc/hotplug/*.handmap, wird er nicht fündig, sucht er
auch in
/lib/modules/<kernelversion>/modules.*map. Wollen
Sie einen anderen als den Standard-Treiber des Kernels verwenden, tragen Sie
diesen in /etc/hotplug/*.handmap ein, da diese Datei
zuerst eingelesen wird.
Der USB-Agent sucht zusätzlich auch noch in den Dateien
/etc/hotplug/usb.usermap und
/etc/hotplug/usb/*.usermap nach
Usermode-Treibern. Usermode-Treiber sind Programme, die anstelle eines
Kernel-Moduls den Zugriff auf das Gerät regeln. Auf diese Weise kann man
auch andere ausführbare Programme für bestimmte Geräte aufrufen.
Bei PCI-Geräten fragt pci.agent zunächst bei
hwinfo nach Treiber-Modulen an. Nur wenn
hwinfo keinen Treiber kennt, sieht der Agent in der
pci.handmap und der Kernel-Map nach, was allerdings vor
ihm schon hwinfo getan hat und deshalb ebenfalls
scheitern muss. hwinfo verfügt über eine zusätzliche
Datenbank für Treiberzuordnungen. Es liest jedoch auch
pci.handmap ein, womit sichergestellt ist, dass eine
individuelle Zuordnung in dieser Datei wirklich Verwendung findet.
Der Agent pci.agent kann auf Geräte eines
bestimmten Typs oder auf Treiber-Module aus einem bestimmten
Unterverzeichnis von
/lib/modules/<kernelversion>/kernel/drivers
eingeschränkt werden. Im ersten Fall können PCI-Geräteklassen, wie man sie
am Ende der Datei /usr/share/pci.ids findet, in der
Datei /etc/sysconfig/hotplug in die Variablen
HOTPLUG_PCI_CLASSES_WHITELIST und
HOTPLUG_PCI_CLASSES_BLACKLIST eingetragen werden. Für den
zweiten Fall spezifizieren Sie ein oder mehrere Verzeichnisse in den
Variable HOTPLUG_PCI_DRIVERTYPE_WHITELIST und
HOTPLUG_PCI_DRIVERTYPE_BLACKLIST. Module aus den
ausgeschlossenen Verzeichnissen werden niemals geladen. In beiden Fällen
bedeutet eine vollständig leere Whitelist, dass alle Möglichkeiten außer den
in der Blacklist ausgeschlossenen, zulässig sind.
Sie können auch individuelle Module vom Laden
ausschließen. Tragen Sie also in der
Datei /etc/hotplug/blacklist Module ein, die niemals
von einem Agenten geladen werden dürfen. Schreiben Sie jeden Modulnamen in
eine eigene Zeile.
Werden mehrere passende Module in einer Mapdatei gefunden, wird nur das
erste Modul geladen. Wünschen Sie, dass alle Module geladen werden, setzen
Sie die Variable
HOTPLUG_LOAD_MULTIPLE_MODULES=yes.
Noch besser ist es allerdings eine eigene Gerätekonfiguration
/etc/sysconfig/hardware/hwcfg-* für dieses Gerät zu
erstellen.
Module, die mit hwup geladen werden, betrifft dies nicht. Automatisches Laden von Modulen tritt nur in Ausnahmefällen ein und wird in zukünftigen Ausgaben von SUSE LINUX noch weiter eingeschränkt werden. Wird ein passendes Modul gefunden, so erstellt der Agent eine hwup-Konfigurationsdatei, die beim nächsten Mal benutzt wird. Dies beschleunigt die Initialisierung der Geräte.