12.5. Débogage d'événements udev

Le programme udevmonitor peut servir à visualiser les événements principaux du pilote et le calendrier des processus de l'événement udev.

UEVENT[1132632714.285362] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-2
UEVENT[1132632714.288166] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-2/2-2:1.0
UEVENT[1132632714.309485] add@/class/input/input6
UEVENT[1132632714.309511] add@/class/input/input6/mouse2
UEVENT[1132632714.309524] add@/class/usb_device/usbdev2.12
UDEV  [1132632714.348966] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-2
UDEV  [1132632714.420947] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-2/2-2:1.0
UDEV  [1132632714.427298] add@/class/input/input6
UDEV  [1132632714.434223] add@/class/usb_device/usbdev2.12
UDEV  [1132632714.439934] add@/class/input/input6/mouse2

Les lignes UEVENT indiquent les événements envoyés par le kernel sur le netlink. Les lignes UDEV indiquent les gestionnaires de l'événement udev terminé. Le calendrier est imprimé en microsecondes. Le temps compris entre UEVENT et UDEV correspond au temps pris par udev pour traiter cet événement ou le temps durant lequel le démon udev a retardé son exécution pour synchroniser cet événement avec des événements associés en cours d'exécution. Par exemple, les événements pour les partitions du disque dur attendent toujours la fin de l'événement principal du périphérique du disque, car les événements de partition peuvent dépendre des données demandées à l'événement du disque principal au matériel.

La commande udevmonitor --env indique l'environnement complet de l'événement :

UDEV  [1132633002.937243] add@/class/input/input7
UDEV_LOG=3
ACTION=add
DEVPATH=/class/input/input7
SUBSYSTEM=input
SEQNUM=1043
PHYSDEVPATH=/devices/pci0000:00/0000:00:1d.1/usb2/2-2/2-2:1.0
PHYSDEVBUS=usb
PHYSDEVDRIVER=usbhid
PRODUCT=3/46d/c03e/2000
NAME="Logitech USB-PS/2 Optical Mouse"
PHYS="usb-0000:00:1d.1-2/input0"
UNIQ=""
EV=7
KEY=70000 0 0 0 0 0 0 0 0
REL=103

udev envoie également des messages à syslog. La priorité syslog par défaut qui contrôle les messages envoyés à syslog est spécifiée dans le fichier de configuration udev /etc/udev/udev.conf. La priorité du journal du démon en cours d'exécution peut être modifiée à l'aide de la commande udevcontrol log_priority=level/number.