USB Device List: как посмотреть список подключённых USB-устройств

Команда lsusb в Linux или просмотр USBDeview в Windows показывает, что система видит флешку с кодом VID_0781&PID_5567, но в «Моём компьютере» её нет — значит, проблема не в порте, а в разделе, букве диска или драйвере. Именно поэтому умение получить полный usb device list — первый шаг диагностики любых проблем с USB: от неопределяющейся клавиатуры до «мёртвого» внешнего диска.

В этой статье разберём, как вывести список USB-устройств во всех популярных системах: через Диспетчер устройств и PowerShell в Windows, через lsusb в Linux и system_profiler в macOS. Отдельно объясним, как читать идентификаторы VID/PID, и что делать, если устройство есть в списке, но не работает.

Что такое USB Device List и зачем он нужен

USB device list — это перечень всех устройств, которые операционная система обнаружила на шине USB: флешки, мыши, клавиатуры, веб-камеры, телефоны, принтеры, хабы и даже внутренние контроллеры. Важно понимать: устройство попадает в этот список на этапе эnumерации — когда контроллер опрашивает порт и получает от устройства дескрипторы.

Практическая польза списка в трёх сценариях. Во-первых, диагностика: если устройство есть в списке, значит, порт и кабель исправны, а искать причину нужно в драйверах или ПО. Во-вторых, идентификация: по паре VID/PID можно точно определить производителя и модель чипа. В-третьих, аудит — проверка, какие устройства подключались к компьютеру ранее (это умеет, например, USBDeview).

Список USB-устройств в Windows: Диспетчер устройств

Самый доступный способ — встроенный Диспетчер устройств. Нажмите Win + X и выберите соответствующий пункт, либо выполните команду devmgmt.msc через окно «Выполнить» (Win + R). USB-устройства распределены по категориям: «Контроллеры USB», «Дисковые устройства», «Клавиатуры», «Устройства HID» и другие.

Чтобы увидеть именно дерево подключений по портам, откройте меню Вид → Устройства по подключению. Тогда станет видно, к какому корневому концентратору (USB Root Hub) и к какому порту физически привязано каждое устройство — это помогает, когда один из портов ноутбука «не видит» периферию.

Устройства с проблемами помечаются жёлтым восклицательным знаком. Двойной клик открывает свойства, где на вкладке «Сведения» в выпадающем списке можно выбрать «ИД оборудования» — там и будет строка вида USB\VID_xxxx&PID_xxxx.

⚠️ Внимание: если устройство отображается как «Неизвестное USB-устройство (сбой дескриптора устройства)», не спешите удалять контроллеры из Диспетчера устройств. Сначала проверьте устройство на другом компьютере и в другом порту — часто причина в кабеле или недостаточном питании порта.

PowerShell и командная строка

Для быстрого вывода списка без графического интерфейса используйте PowerShell. Команда ниже покажет все устройства, чьи идентификаторы начинаются с USB:

Get-PnpDevice | Where-Object {$_.InstanceId -like "USB*"} | Format-Table Status, Class, FriendlyName, InstanceId

Если нужны только проблемные устройства, добавьте фильтр по статусу: Get-PnpDevice | Where-Object {$_.Status -ne "OK"}. Это быстрый способ найти конфликтующее оборудование без пролистывания всего дерева.

Альтернатива — классическая утилита wmic (в новых версиях Windows она может быть отключена) или запрос через WMI:

Get-WmiObject Win32_USBControllerDevice | ForEach-Object { $_.Dependent }
  • 🔍 Get-PnpDevice — основной современный способ получить список устройств и их статус.
  • 📋 pnputil /enum-devices /connected — вывод всех подключённых PnP-устройств с идентификаторами.
  • 🧩 Фильтр по Class -eq "USB" сузит вывод до контроллеров и хабов.
  • 💾 Результат удобно сохранить: добавьте | Out-File usb-list.txt в конец команды.

USBDeview: расширенный список с историей подключений

Бесплатная утилита USBDeview от NirSoft показывает не только текущие, но и все когда-либо подключавшиеся USB-устройства — записи о них остаются в реестре Windows. Для каждого устройства видны: имя, серийный номер, VID/PID, дата первого и последнего подключения, буква диска и статус.

Программа не требует установки и позволяет отключать, удалять устройства и экспортировать список в CSV или HTML. Это удобно, когда нужно «зачистить» следы старых флешек, которые конфликтуют за буквы дисков, или найти, какое устройство вводит систему в ошибку при загрузке.

ИнструментСистемаИстория подключенийVID/PID
Диспетчер устройствWindowsНетДа, в свойствах
PowerShell (Get-PnpDevice)WindowsНетДа, в InstanceId
USBDeviewWindowsДаДа, отдельной колонкой
lsusbLinuxНетДа, в выводе
system_profiler SPUSBDataTypemacOSНетДа

Список USB-устройств в Linux: lsusb и /sys

В Linux стандартный инструмент — команда lsusb из пакета usbutils. Базовый вывод показывает шину, номер устройства, идентификатор и имя:

lsusb

Bus 002 Device 003: ID 0781:5567 SanDisk Corp. Cruzer Blade

Для подробной информации о конкретном устройстве используйте lsusb -v -d 0781:5567 — вывод будет содержать все дескрипторы: класс, скорость, потребление тока, endpoints. Древовидное отображение по портам даёт команда lsusb -t, где видно, какой драйвер обслуживает каждое устройство.

Дополнительные источники данных — виртуальная файловая система /sys/bus/usb/devices/ и команда usb-devices, которая выводит сводку по каждому подключённому устройству в читаемом виде. События подключения и ошибки эnumерации смотрите в журнале: dmesg | grep -i usb.

☑️ Диагностика USB-устройства в Linux

Выполнено: 0 / 5

macOS и Android

На macOS список USB-устройств доступен в разделе «Об этом Mac → Отчёт о системе → USB», либо из терминала:

system_profiler SPUSBDataType

Вывод покажет дерево шин, скорость каждого устройства, серийный номер и потребляемый ток. На Android список USB-периферии при подключении через OTG можно посмотреть сторонними приложениями для диагностики USB, а при включённой отладке по USB — через adb shell и чтение /sys/kernel/debug/usb/devices (доступность зависит от прошивки и прав).

⚠️ Внимание: пути и доступность отладочных интерфейсов на Android различаются между прошивками и версиями системы. Не используйте команды, требующие root, без понимания последствий — сначала проверьте документацию для вашей конкретной модели.
📊 Каким способом вы чаще всего смотрите список USB-устройств?
Диспетчер устройств Windows
PowerShell / командная строка
lsusb в Linux
USBDeview и подобные утилиты

Как читать VID и PID

Каждое USB-устройство идентифицируется парой шестнадцатеричных чисел: VID (Vendor ID, код производителя, выдаётся организацией USB-IF) и PID (Product ID, код конкретного продукта, назначает сам производитель). Например, в строке VID_0781&PID_5567 код 0781 принадлежит SanDisk.

Зная VID/PID, можно найти точное название устройства в открытых базах идентификаторов USB и скачать правильный драйвер, даже если Windows определяет устройство как «неизвестное». Это особенно полезно для безымянных адаптеров, преобразователей USB-UART (CH340, FTDI, CP210x) и программаторов.

Что означают коды классов в дескрипторах USB

Поле bDeviceClass задаёт тип устройства: например, класс Mass Storage — накопители, HID — клавиатуры и мыши, Communications Device Class — модемы и виртуальные COM-порты, Audio — звуковые устройства. Если драйвер класса встроен в систему, устройство работает без установки отдельного драйвера.

Переходники USB-UART на чипах CH340 часто определяются системой, но не работают без отдельно установленного драйвера производителя — это одна из самых частых причин «невидимого» COM-порта при прошивке микроконтроллеров.

Устройство есть в списке, но не работает

Если устройство видно в usb device list, но не функционирует, действуйте по нарастающей сложности. Сначала проверьте статус в Диспетчере устройств или вывод dmesg — там обычно указан код ошибки или причина сбоя. Для накопителя, который виден, но не появляется в проводнике, откройте diskmgmt.msc: возможно, диску просто не назначена буква или повреждена таблица разделов.

  • 🔌 Подключите устройство напрямую к порту компьютера, минуя хабы и удлинители.
  • 🔁 Проверьте его на другом компьютере — так вы отделите проблему ПК от проблемы самого устройства.
  • 🧹 Удалите устройство в Диспетчере устройств и переподключите — Windows заново выполнит эnumерацию.
  • ⚡ Для прожорливых дисков используйте кабель с дополнительным питанием или активный хаб.
⚠️ Внимание: не удаляйте из системы корневые USB-концентраторы и контроллеры, если в списке проблемных устройств есть клавиатура или мышь, подключённые по USB, — после перезагрузки вы можете временно остаться без устройств ввода. Удаляйте только конкретное проблемное устройство.

Часто задаваемые вопросы

Как быстро вывести список USB-устройств в Windows одной командой?

Откройте PowerShell и выполните: Get-PnpDevice | Where-Object {$_.InstanceId -like "USB*"}. Для сохранения в файл добавьте | Out-File usb.txt.

Почему lsusb показывает устройство, но оно не работает?

Наличие в выводе lsusb означает лишь успешную эnumерацию — обмен дескрипторами. Проверьте lsusb -t: если в строке устройства нет привязанного драйвера, нужен соответствующий модуль ядра или правило udev.

Что такое VID и PID и где их посмотреть?

Это идентификаторы производителя (Vendor ID) и продукта (Product ID). В Windows они видны в свойствах устройства на вкладке «Сведения → ИД оборудования», в Linux — прямо в выводе lsusb в формате VID:PID.

Можно ли увидеть, какие USB-устройства подключались раньше?

Да, в Windows следы подключений хранятся в реестре, и их показывает утилита USBDeview. В Linux историю подключений можно частично восстановить по системным журналам.

Устройство определяется как «Unknown USB Device» — что делать?

Это признак сбоя на этапе эnumерации: система не смогла прочитать дескрипторы. Проверьте кабель и порт, подключите устройство к другому компьютеру, попробуйте порт другого типа (USB 2.0 вместо 3.x). Если сбой повторяется везде — вероятна аппаратная неисправность самого устройства.