Vea la identificación del proveedor de conexiones USB, la identificación del producto y la revisión

8

Simplemente me gustaría ver todos los dispositivos agregados y eliminados de mi sistema y ver su ID de proveedor USB, ID de producto y revisión y otra información relevante. ¿Cómo puedo hacer esto en Linux? ¿Hay un archivo de registro que pueda tail -fo esto requiere algo más?

Naftuli Kay
fuente
¿Es lo dmesgsuficientemente detallado?
Rany Albeg Wein
No veo ningún resultado de tailing / var / log / dmesg. Enchufar / quitar = nada.
Naftuli Kay
1
@RanyAlbegWein dmesgno muestra todos los eventos USB, solo aquellos para los que existe un controlador y llama printk().
Chris Down
Entonces, ¿hay alguna manera de seguir a udev para obtener la información?
Naftuli Kay

Respuestas:

6

Esta información aparece en los registros del núcleo, generalmente en /var/log/kern.log, o en /var/log/syslogalgún otro archivo (depende de la configuración de su registro del sistema, las diferentes distribuciones tienen valores predeterminados diferentes).

Si desea algo prefiltrado, puede agregar una regla udev. Crea un archivo que /etc/udev/rules.d/tkk-log-usb.rulescontenga algo como:

SUBSYSTEM=="usb", RUN+="/usr/local/sbin/tkk-usb-event"

El entorno del programa se rellena con muchas variables que describen el dispositivo, que incluyen:

  • ACTION( addo remove)
  • DEVICE es una ruta al dispositivo si desea acceder a él
  • ID_MODEL_IDy ID_VENDOR_IDcontiene el modelo y el ID del proveedor, ID_MODELy ID_VENDORcontiene el texto correspondiente
  • ID_SERIAL contiene el número de serie del dispositivo (si está disponible)
Gilles 'SO- deja de ser malvado'
fuente
10

Puedes hacer eso con udevadm:

udevadm monitor --subsystem-match=usb --property

o

udevadm monitor --subsystem-match=usb --property --udev

para filtrar solo udeveventos. Si desea grepuna propiedad particular, tendrá que ONU-buffer udevadmde 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'
don_crissti
fuente
0

Si solo desea monitorear los dispositivos USB enchufados actuales, watch --no-title lsusbpodría cumplir con los requisitos.

Frederik Deweerdt
fuente