Гид по технологиям

Как пользоваться lsusb в Linux: практическое руководство

• 7 min read • Linux • Обновлено 24 Nov 2025
Как пользоваться lsusb в Linux
Как пользоваться lsusb в Linux

Иллюстрация вывода команды lsusb в терминале

Быстрые ссылки

  • Что такое lsusb?

  • Первое запуск lsusb

  • Углублённое использование lsusb

  • Сводка

Что такое lsusb?

lsusb — это консольная утилита в Linux, которая перечисляет и идентифицирует все USB‑устройства и USB‑хабы, обнаруженные в системе. Утилита обычно устанавливается по умолчанию в современных дистрибутивах Linux и доступна на рабочих станциях, серверах и небольших устройствах типа Raspberry Pi.

Определение: USB Device ID — идентификатор USB‑устройства в формате vendor:product (например, 04d9:1203), где первая часть — идентификатор производителя (vendor), вторая — идентификатор продукта.

Важно: lsusb — это программа для просмотра информации о USB на уровне пользователей. Для изменения поведения устройства часто требуется загрузка подходящего модуля ядра (driver) или работа с udev‑правилами.

Вы можете прочитать встроенную справку по команде:

man lsusb

Частичная страница руководства man для lsusb

Чтобы открыть терминал в графической среде, обычно нажимают кнопку «Действия» или меню ОС, вводят Terminal/Терминал и запускают его. Часто можно вызвать терминал сочетанием клавиш (например, Windows‑key + T), если это настроено в системе.

Первое запуск lsusb

Запустите команду без параметров, чтобы получить краткий список подключённых устройств:

lsusb

Пример строки вывода:

Bus 002 Device 003: ID 046d:c077 Logitech, Inc. M105 Optical Mouse

Разбор полей:

  • Bus 002 — номер шины USB в системе.
  • Device 003 — номер устройства на этой шине.
  • ID 046d:c077 — vendor:product (производитель:продукт).
  • Последняя колонка — человекочитаемое описание устройства.

Совет: вставьте полный ID в поисковую систему (в кавычках для точного поиска), добавьте слова driver или download, чтобы найти драйверы или документацию для конкретного устройства.

Примечание: не все записи lsusb — физические устройства. Это могут быть программные интерфейсы, эмулированные хабы (например, в виртуальных машинах), сетевые USB‑мосты и пр. В VirtualBox вы увидите эмулируемые корневые хабы вроде “Linux Foundation 1.1 root hub”.

Полезный приём: если в выводе присутствует “Linux Foundation 3.0 root hub”, значит в системе присутствует поддержка USB 3.0 (если оборудование не виртуализировано).

Углублённое использование lsusb

Стандартные опции и сценарии применения:

  • lsusb -v — максимально подробный (verbose) вывод о всех устройствах. Рекомендуется запускать с sudo для доступа ко всем данным:
sudo lsusb -v 2>/dev/null
  • lsusb -d VV:PP — показать только устройства с конкретным vendor:product (VV:PP). Пример:
lsusb -d 046d:c077
  • lsusb -s [[bus]:][devnum] — фильтрация по шине и/или номеру устройства. Примеры:
lsusb -s 002:003   # шина 002, устройство 003
lsusb -s 002      # все устройства на шине 002
  • lsusb -t — дерево USB‑топологии: показывает скорости портов и подключённые устройства.
lsusb -t
  • lsusb -D /dev/bus/usb/002/003 — получить дескриптор конкретного устройства (полезно для скриптов и детальной отладки).
sudo lsusb -D /dev/bus/usb/002/003

Частая задача — найти потребляемую мощность (MaxPower). Пример получения только MaxPower для выбранного устройства:

sudo lsusb -d 046d:c077 -v 2>/dev/null | grep 'MaxPower'

Пояснение: в verbose‑выводе присутствуют дескрипторы конфигурации, интерфейса и endpoint. Полезно смотреть поля:

  • bDeviceClass / bDeviceSubClass — класс устройства (например, 0x09 — hub, 0x03 — HID)
  • bcdUSB — версия USB (1.10, 2.00, 3.00)
  • bMaxPower — максимальная мощность (мА), заявленная устройством

Важно понимать: вывод lsusb отражает то, что заявляет устройство и/или драйвер. Если устройство некорректно работает на аппаратном уровне, дескрипторы могут быть неполные или некорректные.

Примеры фильтрации и поиска

  • Найти все устройства конкретного производителя (только vendor): используйте grep по выводу lsusb:
lsusb | grep 046d
lsusb | grep -i logitech
  • Искать только по product (если vendor неизвестен): используйте grep с частью ID или текстовым описанием.
lsusb | grep c077
  • Если вы по ошибке передали product в опцию -s, lsusb попытается интерпретировать это значение как bus:devnum и вы получите неожиданный вывод. Всегда используйте -d для vendor:product.

Советы по безопасности и привилегиям

  • Многие флаги, особенно -v и -D, дают больше информации при запуске от root. Используйте sudo, если вы доверяете команде.
  • Удаление бинарника lsusb вручную (rm /usr/bin/lsusb) не рекомендуется; это ломает ожидаемую функциональность системы.

Диагностика: методика для медленной диагностики USB

Мини‑методика (короткая последовательность действий):

  1. Подключите устройство и выполните lsusb, зафиксируйте ID.
  2. Выполните dmesg | tail -n 50 сразу после подключения и проверьте сообщения ядра.
  3. Запустите sudo lsusb -v -d vendor:product > device.txt и изучите дескрипторы.
  4. Сравните bcdUSB и bMaxPower с ожиданиями (USB 3.0 vs 2.0, требуемый ток).
  5. Если необходимо, используйте lsusb -t для проверки скорости порта.
  6. Если устройство не отображается, проверьте физику (кабель, питание, хаб).

Команды, полезные при диагностике:

dmesg | tail -n 50
sudo lsusb -v -d 046d:c077 > /tmp/mouse.txt
lsusb -t
cat /sys/bus/usb/devices/2-1/uevent
udevadm info -a -p /sys/bus/usb/devices/2-1

Важно: путь в /sys/bus/usb/devices может отличаться; используйте вывод lsusb для сопоставления bus/devnum с соответствующей записью в /sys.

Частые сценарии и альтернативные подходы

  1. Устройство видно в lsusb, но не работает в пользовательском приложении.

    • Проверьте загрузку модуля ядра: lsmod | grep
    • Посмотрите, создалось ли устройство в /dev (например, /dev/input/* для мышей/клавиатур).
    • Проверьте права доступа и udev‑правила.
  2. Устройство не показывается в lsusb.

    • Попробуйте другой кабель и порт (особенно USB‑C/USB‑A переходники могут быть плохими).
    • Подключите напрямую к хосту (минус хаб).
    • Проверьте питание: некоторые внешние HDD требуют отдельного питания.
  3. Виртуальная машина не видит физическое устройство.

    • В VMware/VirtualBox нужно настроить проброс USB в гостевую ОС и/или установить расширения гостевой поддержки.

Альтернативы/дополнения:

  • usb-devices — скрипт, который форматирует данные из sysfs в удобный вид.
  • lsblk / dmesg — для дисковых USB‑устройств дополнительно проверять появление block‑устройств.

Чек‑листы для ролей

Администратор:

  • Выполнить lsusb и зафиксировать ID.
  • Проверить dmesg на ошибки при подключении.
  • Просмотреть sudo lsusb -v для выяснения требуемой мощности и интерфейсов.
  • Проверить модули ядра и права в /dev.
  • Добавить/править udev‑правило при необходимости.

Сервисная поддержка (helpdesk):

  • Уточнить модель и ID устройства у пользователя.
  • Попросить переподключить к другому порту и кабелю.
  • Если устройство работает на другом компьютере — направить к администратору.

Разработчик драйвера/встраиваемого ПО:

  • Собрать sudo lsusb -v для воспроизведения среды.
  • Проверить дескрипторы интерфейса и endpoints.
  • Сравнить bDeviceClass и bInterfaceClass с ожидаемыми.

Пользователь:

  • Попробовать другой кабель/порт.
  • Перезапустить приложение или компьютер.
  • Сообщить точный текст из lsusb и dmesg в службу поддержки.

Сниппеты и шпаргалка команд

Часто используемые команды:

# Краткий список
lsusb

# Поиск по vendor или тексту
lsusb | grep -i logitech

# Подробный вывод для конкретного устройства
sudo lsusb -d 046d:c077 -v 2>/dev/null

# Дерево топологии с информацией о скоростях
lsusb -t

# Дескриптор устройства по пути в /dev
sudo lsusb -D /dev/bus/usb/002/003

# Перенаправить подробный вывод в файл для анализа
sudo lsusb -v > lsusb-full.txt

Шпаргалка по интерпретации полей:

  • ID xxxx:yyyy — vendor:product
  • bcdUSB — версия USB
  • bMaxPower — требуемый ток в мА
  • bDeviceClass — общий класс (HID, Mass Storage, Hub и т.д.)

Ограничения и случаи, когда lsusb не помогает

  • lsusb показывает только то, что сообщает ядро и само устройство. Если устройство «молчит» на аппаратном уровне (сломанный контроллер), lsusb может ничего не показать.
  • lsusb не заменяет анализатор USB‑трафика (например, Wireshark + usbmon) при разборе протоколов и пакетов.
  • Некоторые драйверы или виртуализация маскируют физические устройства: вывод может отличаться от ожидаемого в гостевой системе.

Важно: для глубокого анализа протоколов используйте usbmon + Wireshark, а для диагностики питания — USB‑тестер или метрику в логах устройства.

Дерево принятия решений для устранения проблем с USB

flowchart TD
  A[Устройство не работает] --> B{Показывается в lsusb?}
  B -- Да --> C{Появилось ли устройство в /dev?}
  B -- Нет --> D[Проверить кабель/порт/питание]
  D --> E{Показывается в lsusb после смены порта?}
  E -- Да --> C
  E -- Нет --> F[Проверить dmesg и аппарат]
  C -- Да --> G[Проверить права /dev и udev]
  C -- Нет --> H[Проверить модули ядра 'lsmod' и sudo lsusb -v]
  H --> G
  G --> I[Если приложение не видит — поискать драйвер]
  I --> J[Тест на другом ПК или VM]
  J --> K[Обратиться к разработчику/производителю]

Краткая энциклопедия терминов

  • USB Bus — логический канал, по которому устройства подключаются к хосту.
  • Vendor ID — уникальный идентификатор производителя устройства.
  • Product ID — идентификатор конкретного продукта от производителя.
  • bcdUSB — версия спецификации USB, поддерживаемая устройством.

Безопасность и приватность

  • При отправке вывода lsusb в службу поддержки не включайте содержимое, которое вы не хотите раскрывать: lsusb сам по себе не показывает содержимое файлов или пользовательские данные, только метаданные устройства.

Резюме

Мы рассмотрели, что такое lsusb, как быстро получить список USB‑устройств и как использовать опции -v, -d, -s и -t для фильтрации и подробного анализа. Привели методику диагностики, чек‑листы для разных ролей, сниппеты команд и дерево принятия решений для устранения проблем. Если устройство отображается в lsusb — у вас хорошая отправная точка для дальнейшей отладки. Если нет — проверьте физику и питание устройства и используйте dmesg и sysfs.

Если вам понравилась эта статья, можно продолжить чтение: «Как использовать lsof в Linux (с практическим примером)». Приятной работы!

Ключевые выводы

  • lsusb — базовый и быстрый инструмент для обнаружения USB‑устройств.
  • Используйте sudo lsusb -v для получения полной информации.
  • Поиск по vendor:product помогает найти драйверы и документацию.
  • Тщательная диагностика включает lsusb, dmesg, lsusb -t и проверку /sys.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро