9.4. Gérer les périphériques

9.4.1. Gérer des périphériques dupliqués

Comme expliqué à la Section 9.3, « Manipulation des périphériques et modules, » l'ordre dans lequel les périphériques ayant la même fonction apparaissent dans /dev est essentiellement aléatoire. Par exemple, si vous avez une webcam USB et un récepteur TV, parfois /dev/video0 renvoie à la webcam, et /dev/video1 renvoie au récepteur, et parfois après un redémarrage l'ordre d'apparition des périphériques s'inverse. Pour toutes les classes de matériel sauf les cartes son et les cartes réseau, ceci peut se corriger en créant des règles udev pour créer des liens symboliques constants. Le cas des cartes réseau est traité séparément dans Section 9.2, « Configuration générale du réseau, » et vous pouvez trouver la configuration des cartes son dans BLFS.

Pour chacun des périphériques susceptibles d'avoir ce problème (même si le problème n'apparaît pas dans votre distribution Linux actuelle), trouvez le répertoire correspondant sous /sys/class ou /sys/block. Pour les périphériques vidéo, cela peut être /sys/class/video4linux/videoX. Calculez les attributs qui identifient de façon unique un périphérique (normalement basé sur l'ID du fabricant et du produit ou les numéros de série) :

udevadm info -a -p /sys/class/video4linux/video0

Puis, écrivez des règles qui créent les liens symboliques, comme :

cat > /etc/udev/rules.d/83-duplicate_devs.rules << "EOF"

# Persistent symlinks for webcam and tuner
KERNEL=="video*", ATTRS{idProduct}=="1910", ATTRS{idVendor}=="0d81", SYMLINK+="webcam"
KERNEL=="video*", ATTRS{device}=="0x036f",  ATTRS{vendor}=="0x109e", SYMLINK+="tvtuner"

EOF

Il en résulte que les périphériques /dev/video0 et /dev/video1 renvoient encore de manière aléatoire au tuner et à la webcam (et donc ne devrait jamais être utilisé directement), mais certains des liens symboliques /dev/tvtuner et /dev/webcam pointent toujours vers le bon périphérique.