Lien entre un module et un périphérique

C’est une question qu’on ne se pose pas normalement vu qu’on installe/charge un module pour un certains périphérique; mais on sait jamais, sur une autre machine ou tout simplement pour trouver un module chargé automatiquement.

On va utiliser pour cela l’image de l’espace noyau sur le disque: Sysfs dans /sys

Exemple pour une carte réseau reconnu avec le nom eth1:

$ readlink -f /sys/class/net/eth1/device/driver/module
/sys/module/ipw3945

Ca fonctionne aussi pour d’autres périphériques mais le répertoire module peut être plus loin dans l’arborescence.

Exemple pour le périphérique audio, pour récupérer le chemin dans /sys:

$ udevinfo -q path -n /dev/dsp
/devices/pci0000:00/0000:00:1b.0/sound/card0/dsp

puis:

$ readlink -f /sys/devices/pci0000\:00/0000\:00\:1b.0/sound/card0/dsp/device/device/driver/module
/sys/module/snd_hda_intel

Pour plus d’informations sur un périphérique présent dans /dev, on peut lancer la commande:

udevinfo -a -p /sys$(udevinfo -q path -n /dev/dsp)

Les informations peuvent servir à écrire des règles Udev