Se você usa:
udevadm monitor
você recebe uma entrada para cada ação tomada por KERNEL e UDEV. Normalmente adicionar, alterar, remover. Se você incluir a opção --property
:
udevadm monitor --property
Você receberá uma listagem de quais propriedades são usadas.
Como alguém pode testar as regras do udev com o udevadm:
udevadm test $(udevadm info -q path -n <device>)
alguém poderia testar algo assim:
udevadm test $(udevadm info -q path -n <device>) 2>&1 | \
sed -n 's/.* \(\/[^ ]*\)\.rules:\([0-9]\+\)/.rules /p' | \
while read -r f n; do printf "%03d:%-50s " $n "$f"; sed -n ${n}p $f; done
mas não tenho certeza de como isso é confiável. De qualquer forma, usando, e. video1
para <device>
que poderia gerar algo como:
031:/lib/udev/rules.d/50-udev-default.rules SUBSYSTEM=="video4linux", GROUP="video"
007:/lib/udev/rules.d/60-persistent-v4l.rules IMPORT{program}="v4l_id $devnode"
009:/lib/udev/rules.d/60-persistent-v4l.rules SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"
010:/lib/udev/rules.d/60-persistent-v4l.rules KERNEL=="video*", ENV{ID_SERIAL}=="?*", SYMLINK+="v4l/by-id/$env{ID_BUS}-$env{ID_SERIAL}-video-index$attr{index}"
016:/lib/udev/rules.d/60-persistent-v4l.rules IMPORT{builtin}="path_id"
017:/lib/udev/rules.d/60-persistent-v4l.rules ENV{ID_PATH}=="?*", KERNEL=="video*|vbi*", SYMLINK+="v4l/by-path/$env{ID_PATH}-video-index$attr{index}"
015:/lib/udev/rules.d/73-seat-late.rules TAG=="uaccess", ENV{MAJOR}!="", RUN{builtin}+="uaccess"
006:/etc/udev/rules.d/83-webcam.rules KERNEL=="video[0-9]", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c45", SYMLINK+="video-webcam1"
Mas adivinhar que o teste como um todo é melhor. Observe também a mensagem:
This program is for debugging only, it does not run any program specified by a RUN key. It may show incorrect results, because some values may be different, or not available at a simulation run.
Você também pode definir
udev_log="debug"
em udev.conf
e reinicie o udev ( reload udev
) para obter uma saída mais detalhada.