Das geht mit udevadm
:
udevadm monitor --subsystem-match=usb --property
oder
udevadm monitor --subsystem-match=usb --property --udev
um nur udev
zu filtern Veranstaltungen. Wenn Sie grep
möchten für eine bestimmte Eigenschaft müssen Sie udevadm
entpuffern Ausgabe (mit Tools wie stdbuf
, script
, unbuffer
...):
stdbuf -i 0 -o 0 -e 0 udevadm monitor --subsystem-match=usb --property --udev | grep DEVPATH
oder
script -q /dev/null -c "udevadm monitor --subsystem-match=usb --property --udev" | grep PRODUCT
oder
unbuffer udevadm monitor --subsystem-match=usb --property --udev | grep -E 'ID_VENDOR_ID|ID_MODEL_ID'
Diese Informationen erscheinen in den Kernel-Protokollen – normalerweise in /var/log/kern.log
, oder /var/log/syslog
, oder eine andere Datei (abhängig von Ihrer Syslog-Konfiguration, verschiedene Distributionen haben unterschiedliche Standardwerte).
Wenn Sie etwas vorgefiltert haben möchten, können Sie eine udev-Regel hinzufügen. Erstellen Sie eine Datei /etc/udev/rules.d/tkk-log-usb.rules
etwas enthält wie:
SUBSYSTEM=="usb", RUN+="/usr/local/sbin/tkk-usb-event"
Die Umgebung des Programms ist mit vielen Variablen gefüllt, die das Gerät beschreiben, darunter:
ACTION
(add
oderremove
)DEVICE
ist ein Pfad zum Gerät, wenn Sie darauf zugreifen möchtenID_MODEL_ID
undID_VENDOR_ID
enthalten die Modell- und Anbieter-ID undID_MODEL
undID_VENDOR
enthalten den entsprechenden TextID_SERIAL
enthält die Seriennummer des Geräts (sofern vorhanden)