Errores de permisos en usbmon de Linux: por qué la captura USB falla antes de ver paquetes

Cómo diagnosticar errores de permisos en usbmon de Linux, problemas de acceso a la captura y visibilidad USB antes de empezar a depurar el firmware.

usbmon, Linux, USB, permisos, captura USB

Cuando falla una captura USB en Linux, el firmware no siempre tiene la culpa. A veces la herramienta de captura nunca tuvo permiso para leer usbmon. A veces el dispositivo está, pero al usuario le falta acceso. A veces se ha elegido el bus equivocado. Un resultado "sin paquetes" puede significar que no hay tráfico, pero también puede significar que no hay acceso a la captura.

Esta distinción importa a los equipos de firmware. No deberías reescribir descriptores porque un usuario de Linux no pudo abrir la fuente de captura.

usbmon es una interfaz de captura, no el dispositivo

El usbmon de Linux expone el tráfico del bus USB. Capturar desde ahí es independiente de abrir el nodo del dispositivo desde una aplicación. Un programa puede comunicarse con el dispositivo mientras otra herramienta no puede capturar, o una herramienta puede ver tráfico mientras a la aplicación le faltan permisos sobre el dispositivo.

Un informe de soporte debería separar:

  • Enumeración del dispositivo.
  • Acceso de la aplicación al nodo del dispositivo.
  • Acceso de captura en usbmon.
  • Bus seleccionado.
  • Soporte del kernel.
  • Permisos de usuario/grupo.

Sin ese desglose, "la captura USB falló" es demasiado vago.

Síntomas habituales de permisos

Los síntomas típicos incluyen:

  • El adaptador de captura aparece pero no puede arrancar.
  • Captura vacía aunque el dispositivo esté activo.
  • Permiso denegado al abrir usbmon.
  • Solo root puede capturar.
  • El dispositivo se ve en lsusb pero no se captura tráfico.
  • La captura empieza a funcionar tras cambiar grupo o reglas udev.

La primera pregunta debería ser: ¿la sesión de captura llegó a tener acceso al bus?

Selecciona el bus correcto

Los dispositivos USB están en buses concretos. Capturar el bus equivocado puede dar una traza limpia y vacía. Si el dispositivo está detrás de un hub o se reenumera, el número de bus o de dispositivo puede cambiar.

Comprobaciones útiles:

  • Identifica el dispositivo con lsusb.
  • Empareja el número de bus con la fuente usbmon.
  • Reconecta el dispositivo y observa la enumeración.
  • Captura todos los buses brevemente si tienes dudas.
  • Confirma que aparece tráfico durante el attach.

Si el tráfico de attach no se ve al reconectar, lo más probable es que el punto de captura sea incorrecto o inaccesible.

Los permisos son evidencia operativa

Para una herramienta de escritorio, el diagnóstico de permisos debería ser explícito. La UI no debería insinuar un fallo de firmware cuando el host no puede capturar. Debería explicar:

  • Qué adaptador falló.
  • Si falta un permiso.
  • Si hace falta configurar el acceso en Linux.
  • Si conviene reintentar tras cambiar grupo o reglas udev.

Eso mantiene el soporte enfocado. Un ingeniero de firmware necesita evidencia de paquetes. No puede diagnosticar un descriptor ausente a partir de una captura que nunca arrancó.

Dónde encaja Bus Scope

Bus Scope está pensado alrededor de evidencia USB. Eso incluye diagnóstico del estado y acceso del adaptador. En Linux, un buen flujo con Bus Scope debería mostrar el estado de la fuente de captura antes de la línea de tiempo de paquetes.

Para búsquedas como "usbmon permission denied", "Linux USB capture no packets" o "USB device visible but capture empty", la primera respuesta no es el firmware. Es acceso a la captura, selección de bus y estado del adaptador.