Ошибки прав usbmon в Linux: почему USB-захват падает до появления пакетов

Как диагностировать ошибки прав usbmon в Linux, отсутствие доступа к захвату и проблемы видимости USB до отладки прошивки.

usbmon, Linux, USB, права, захват, диагностика

Когда USB-захват падает в Linux, не всегда виновата прошивка. Иногда инструмент захвата просто не имел прав на чтение usbmon. Иногда устройство есть, но у пользователя нет доступа. Иногда выбрана не та шина. «Нет пакетов» может означать и отсутствие трафика, и отсутствие доступа к захвату.

Это различие важно для команд прошивок. Не стоит переписывать дескрипторы из-за того, что пользователь Linux не смог открыть источник захвата.

usbmon — это интерфейс захвата, а не само устройство

Linux usbmon выставляет USB-трафик шины. Захват с него — это не то же, что открытие ноды USB-устройства из приложения. Программа может общаться с устройством, а другой инструмент не может захватить, или инструмент захвата видит трафик, а у приложения нет прав доступа к устройству.

В отчёте поддержки разделяйте:

  • перечисление устройства
  • доступ приложения к ноде устройства
  • доступ к захвату usbmon
  • выбранную шину
  • поддержку ядра
  • права пользователя/группы

Без этого разделения «USB-захват упал» — слишком расплывчато.

Типичные симптомы прав

Частые симптомы:

  • адаптер захвата виден, но не запускается
  • пустой захват при активном устройстве
  • permission denied при открытии usbmon
  • только root может делать захват
  • устройство видно в lsusb, но трафик не захватывается
  • захват начинает работать после смены группы или udev-правил

Первый вопрос: а стартовала ли сессия захвата с доступом к шине вообще?

Выберите правильную шину

USB-устройства сидят на конкретных шинах. Захват не с той шины может дать чистую, но пустую трассу. Если устройство за концентратором или пере-нумеровалось, шина/адрес могут меняться.

Полезные проверки:

  • определите устройство через lsusb
  • сопоставьте номер шины с источником usbmon
  • переподключите устройство и наблюдайте перечисление
  • на короткое время захватите все шины, если не уверены
  • убедитесь, что трафик появляется при подключении

Если трафик при подключении не виден — скорее всего, неправильная или недоступная точка захвата.

Права — это операционные доказательства

Для десктопного инструмента диагностика прав должна быть явной. UI не должен намекать на баг прошивки, когда хост не может делать захват. Он должен объяснить:

  • какой адаптер упал
  • не хватает ли прав
  • нужна ли настройка доступа Linux
  • нужен ли повтор после смены группы/udev

Это держит фокус поддержки. Инженеру прошивки нужны данные пакетов. Он не может диагностировать отсутствующий дескриптор по захвату, который даже не начался.

Место Bus Scope

Bus Scope построен вокруг USB-доказательств. Это включает готовность адаптера и диагностику доступа. В Linux полезный воркфлоу Bus Scope должен показывать состояние источника захвата до пакетного таймлайна.

Для запросов вроде «usbmon permission denied», «Linux USB capture no packets», «USB device visible but capture empty» первый ответ — не прошивка. Это доступ к захвату, выбор шины и состояние адаптера.