À propos des périphériques

Bien que la plupart des périphériques dont ont besoin les paquets de BLFS ont été correctement paramétrés par udev en utilisant les règles par défaut installées par LFS dans /etc/udev/rules.d, il y a des cas où il faut modifier ou ajouter des règles.

Cartes sons multiples

S'il y a plusieurs cartes sons sur un système, la carte son « default » (par défaut) devient aléatoire. La méthode pour établir un ordre dans les cartes sons dépend du fait que les pilotes soient en modules ou pas. Si les pilotes de la carte son sont compilés dans le noyau, leur contrôle s'effectue via des paramètres de la ligne de commande du noyau dans /boot/grub/grub.cfg. Par exemple, si un système contient une carte FM801 et une carte PCI SoundBlaster, ce qui suit peut être ajouté à la ligne de commande :

snd-fm801.index=0 snd-ens1371.index=1

Si les pilotes de la carte son sont construits en modules, on peut établir l'ordre dans le fichier /etc/modprobe.conf avec :

options snd-fm801 index=0
options snd-ens1371 index=1

Problèmes sur les périphériques USB

Les périphériques USB ont habituellement deux types de nœuds de périphériques associés avec eux.

Le premier type est créé par le pilote du périphérique spécifique (usb_storage/sd_mod ou usblp) dans le noyau. Par exemple, un périphérique de stockage USB peut être /dev/sdb, et une imprimante USB peut être /dev/usb/lp0. Ces nœuds de périphériques existent seulement quand le pilote du périphérique spécifique est chargé.

Le second type de nœud de périphériques (/dev/bus/usb/BBB/DDD, ou BBB est le numéro du bus et DDD est le numéro du périphérique) est créé chaque fois que le périphérique n'a pas de driver dans le noyau. En utilisant ces nœuds de périphérique USB "directs", une application peut échanger arbitrairement des paquets USB avec le périphérique, c'est-à-dire, court-circuiter le possible pilote existant du noyau.

Accéder aux nœuds périphériques USB directement est nécessaire quand un programme de l'espace utilisateur est considéré comme un pilote de périphérique. Cependant, pour que le programme ouvre avec succès le périphérique, les permissions doivent être initialisées correctement. Par défaut, pour des considérations de sécurité, tous les périphériques USB directs appartiennent à l'utilisateur root et au groupe root, et ont la permission 0664 (l'accès en lecture est nécessaire, par exemple pour que lsusb puisse travailler et pour les programmes d'accès aux concentrateurs USB). Des paquets (comme SANE et libgphoto2) contenant un pilote de périphérique USB dans l'espace utilisateur utilisent aussi les règles udev pour changer les permissions des périphériques USB contrôlés. Ce qui fait que les règles installées par SANE changent les permissions pour les scanners reconnus, mais pas pour les imprimantes. Si le mainteneur du paquet oublie d'écrire une règle pour votre périphérique, signalez le bogue à BLFS (si le paquet est ici) et en amont, et vous aurez besoin d'écrire votre propre règle.

Avant Linux-2.6.15, l'accès direct aux périphériques USB n'était pas géré avec les nœuds de périphériques /dev/bus/usb/BBB/DDD, mais avec des pseudo-fichiers /proc/bus/usb/BBB/DDD. Quelques applications utilisent seulement cette technique obsolète et ne peuvent pas utiliser les nouveaux nœuds de périphériques. Elles ne peuvent pas fonctionner avec le noyau Linux version 3.5 ou supérieur. Si vous avez besoin de ces applications, contactez le développeur pour demander un correctif.

Attributs de périphériques d'Udev

Le peaufinage des attributs de périphériques tels que le nom du groupe et les droits est possible en créant des règles udev supplémentaires, correspondant à quelque chose de ce genre. On peut trouver le fabricant et le produit en cherchant les entrées du répertoire /sys/devices ou en utilisant udevinfo après avoir attaché le périphérique. Voir la documentation dans le répertoire d'udev actuel /usr/share/doc pour des détails.

SUBSYSTEM=="usb_device", SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4002", \
  GROUP:="scanner", MODE:="0660"
[Note]

Note

On n'utilise la ligne ci-dessus qu'à des fins descriptives. Les règles d'analyse d'udev sont mises en place lors de l'installation de SANE-1.0.32.

Périphériques pour les lecteurs DVD

Si le processus de démarrage initial ne met pas en place le périphérique /dev/dvd correctement, cela peut être fait avec les modifications suivantes des règles udev par défaut. En tant qu'utilisateur root, lancez :

sed '1d;/SYMLINK.*cdrom/ a\
KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100"' \
/lib/udev/rules.d/60-cdrom_id.rules > /etc/udev/rules.d/60-cdrom_id.rules