Můžete to udělat pomocí udevadm
:
udevadm monitor --subsystem-match=usb --property
nebo
udevadm monitor --subsystem-match=usb --property --udev
filtrovat pouze udev
Události. Pokud chcete grep
pro konkrétní vlastnost budete muset zrušit vyrovnávací paměť udevadm
výstup (pomocí nástrojů jako stdbuf
, script
, unbuffer
...):
stdbuf -i 0 -o 0 -e 0 udevadm monitor --subsystem-match=usb --property --udev | grep DEVPATH
nebo
script -q /dev/null -c "udevadm monitor --subsystem-match=usb --property --udev" | grep PRODUCT
nebo
unbuffer udevadm monitor --subsystem-match=usb --property --udev | grep -E 'ID_VENDOR_ID|ID_MODEL_ID'
Tyto informace se objeví v protokolech jádra — obvykle v /var/log/kern.log
nebo /var/log/syslog
, nebo nějaký jiný soubor (záleží na vaší konfiguraci syslog, různé distribuce mají různé výchozí hodnoty).
Pokud byste chtěli něco předfiltrovat, můžete přidat pravidlo udev. Vytvořte soubor /etc/udev/rules.d/tkk-log-usb.rules
obsahující něco jako:
SUBSYSTEM=="usb", RUN+="/usr/local/sbin/tkk-usb-event"
Prostředí programu je naplněno mnoha proměnnými popisujícími zařízení, včetně:
ACTION
(add
neboremove
)DEVICE
je cesta k zařízení, pokud k němu chcete mít přístupID_MODEL_ID
aID_VENDOR_ID
obsahovat model a ID dodavatele aID_MODEL
aID_VENDOR
obsahovat odpovídající textID_SERIAL
obsahuje sériové číslo zařízení (pokud je k dispozici)