Puoi farlo con udevadm
:
udevadm monitor --subsystem-match=usb --property
o
udevadm monitor --subsystem-match=usb --property --udev
per filtrare solo udev
eventi. Se vuoi grep
per una particolare proprietà dovrai annullare il buffer udevadm
output (con strumenti come 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'
Queste informazioni appaiono nei log del kernel — tipicamente in /var/log/kern.log
o /var/log/syslog
, o qualche altro file (dipende dalla configurazione del tuo syslog, distribuzioni diverse hanno impostazioni predefinite diverse).
Se desideri qualcosa di prefiltrato, puoi aggiungere una regola udev. Crea un file /etc/udev/rules.d/tkk-log-usb.rules
contenente qualcosa come:
SUBSYSTEM=="usb", RUN+="/usr/local/sbin/tkk-usb-event"
L'ambiente del programma è popolato da molte variabili che descrivono il dispositivo, tra cui:
ACTION
(add
oremove
)DEVICE
è un percorso per il dispositivo se vuoi accederviID_MODEL_ID
eID_VENDOR_ID
contenere l'ID del modello e del fornitore eID_MODEL
eID_VENDOR
contenere il testo corrispondenteID_SERIAL
contiene il numero di serie del dispositivo (se disponibile)