12.5. Depuración de los eventos udev

Se puede usar el programa udevmonitor para ver los eventos del núcleo del controlador y la coordinación de los procesos del evento 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

Las líneas UEVENT muestran los eventos que el núcleo ha enviado por el enlace de red. Las líneas UDEV muestran los gestores de los eventos udev finalizados. La sincronización se muestra en microsegundos. El tiempo que pasa entre UEVENT y UDEV se corresponde con el tiempo que udev necesitó para procesar este evento, o bien se ha retrasado la ejecución del daemon udev para sincronizar este evento con eventos relacionados y en ejecución. Por ejemplo, los eventos para las particiones de disco duro siempre esperan a que el evento del dispositivo del disco principal finalice, ya que los eventos de particiones pueden confiar en los datos del evento que el evento del disco principal ha consultado en el hardware.

udevmonitor --env muestra el entorno de eventos completo:

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 también envía mensajes a syslog. La prioridad por defecto de syslog que controla los mensajes enviados a syslog está especificada en el archivo de configuración de udev /etc/udev/udev.conf. La prioridad del registro del daemon en ejecución puede cambiarse con udevcontrol log_priority=nivel/número.