Команда 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 |
| USBDeview | Windows | Да | Да, отдельной колонкой |
| lsusb | Linux | Нет | Да, в выводе |
| system_profiler SPUSBDataType | macOS | Нет | Да |
Список 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
macOS и Android
На macOS список USB-устройств доступен в разделе «Об этом Mac → Отчёт о системе → USB», либо из терминала:
system_profiler SPUSBDataType
Вывод покажет дерево шин, скорость каждого устройства, серийный номер и потребляемый ток. На Android список USB-периферии при подключении через OTG можно посмотреть сторонними приложениями для диагностики USB, а при включённой отладке по USB — через adb shell и чтение /sys/kernel/debug/usb/devices (доступность зависит от прошивки и прав).
⚠️ Внимание: пути и доступность отладочных интерфейсов на Android различаются между прошивками и версиями системы. Не используйте команды, требующие root, без понимания последствий — сначала проверьте документацию для вашей конкретной модели.
Как читать 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). Если сбой повторяется везде — вероятна аппаратная неисправность самого устройства.