Puedes hacerlo con udevadm
:
udevadm monitor --subsystem-match=usb --property
o
udevadm monitor --subsystem-match=usb --property --udev
para filtrar solo udev
eventos. Si quieres grep
para una propiedad en particular, tendrá que quitar el búfer udevadm
salida (con herramientas como stdbuf
, script
, unbuffer
...):
stdbuf -i 0 -o 0 -e 0 udevadm monitor --subsystem-match=usb --property --udev | grep DEVPATH
o
script -q /dev/null -c "udevadm monitor --subsystem-match=usb --property --udev" | grep PRODUCT
o
unbuffer udevadm monitor --subsystem-match=usb --property --udev | grep -E 'ID_VENDOR_ID|ID_MODEL_ID'
Esta información aparece en los registros del kernel, normalmente en /var/log/kern.log
, o /var/log/syslog
, o algún otro archivo (depende de la configuración de syslog, las diferentes distribuciones tienen diferentes valores predeterminados).
Si desea algo prefiltrado, puede agregar una regla udev. Crea un archivo /etc/udev/rules.d/tkk-log-usb.rules
que contiene algo como:
SUBSYSTEM=="usb", RUN+="/usr/local/sbin/tkk-usb-event"
El entorno del programa está lleno de muchas variables que describen el dispositivo, que incluyen:
ACTION
(add
oremove
)DEVICE
es una ruta al dispositivo si desea acceder a élID_MODEL_ID
yID_VENDOR_ID
contener el modelo y el ID del proveedor, yID_MODEL
yID_VENDOR
contener el texto correspondienteID_SERIAL
contiene el número de serie del dispositivo (si está disponible)