СЕРВИСНЫЕ УСЛУГИ
СТУДИЯ В ЛИПЕЦКЕ

Советы · Windows · 6 минут

USB-устройство отключается под нагрузкой: как проверять драйвер, питание и контроллер

Диагностика USB-отключений под нагрузкой: сохраняем время сбоя, определяем контроллер и хаб, сравниваем кабель и питание и при необходимости записываем короткую ETW-трассу.
Microsoft Windows: пример дерева USB-устройств за контроллером и хабами. Несколько разъёмов компьютера могут вести к одному контроллеру; фактическую схему нужно смотреть на своём ПК.

Microsoft Windows: пример дерева USB-устройств за контроллером и хабами. Несколько разъёмов компьютера могут вести к одному контроллеру; фактическую схему нужно смотреть на своём ПК.
© Microsoft. Used with permission from Microsoft. · источник и условия использования · CC BY 4.0

Звук отключения не указывает единственную причину

Внешний диск исчезает при копировании, устройство захвата обрывает запись, USB-аудио замолкает под нагрузкой. Нужно отделить физическое переподключение, перезапуск драйвера, отказ одного приложения и потерю доступа к данным. Одного звукового сигнала Windows для этого недостаточно.

Сохраните время, модель, серийный номер при наличии, сценарий нагрузки и точное сообщение. Для накопителя с ошибками чтения сначала обеспечьте копию доступных важных файлов. Повторные нагрузочные тесты не должны проводиться на единственной клиентской записи или незаменимом архиве.

Участки USB-пути
  1. ПриборЕго питание, прошивка и рабочая нагрузка
  2. Кабель и переходникКонтакты, длина и поддерживаемый режим
  3. Хаб и портПитание и общая полоса
  4. Контроллер и драйверОбработка обмена в Windows

Схема редакции «Мы из 90х».

Определите, исчезает ли само устройство

В момент сбоя посмотрите Диспетчер устройств и программу, которая работает с прибором. Исчезновение узла и новое обнаружение отличаются от ошибки приложения при сохраняющемся устройстве. Для диска дополнительно важны доступность раздела и события хранения; разрыв USB и тайм-аут дисковой операции могут сопровождать друг друга.

Откройте свойства устройства → Сведения, сохраните Instance ID, аппаратные идентификаторы и сведения о расположении. Код проблемы в Диспетчере устройств — отдельное наблюдение, которое нужно читать по документации, а не заменять догадкой о мощности блока питания. [1]

Признак и направление исследования
НаблюдениеЧто проверить
Узел исчез и появился сноваКабель, питание, сброс контроллера и драйвер
Устройство остаётся, отказывает одна программаПриложение, выбранный режим и его журнал
Отказали несколько соседних приборовОбщий хаб, питание и контроллер
Сбой только после простоя или снаПереходы питания и возобновление
Сбой только при высокой передачеСигнал, нагрузку и устойчивость тракта

Учебная таблица редакции.

Постройте карту контроллеров и хабов

В Диспетчере устройств переключите вид на устройства по подключению и найдите прибор в дереве. Для более подробного описания USB Microsoft предлагает USBView из Windows SDK/набора отладки; скачивайте его из указанного официального источника. Инструмент показывает иерархию и дескрипторы, но как старое приложение может не отражать все новые возможности USB. [2]

На Windows 11 23H2 и новее доступен дополнительный просмотр:

Повышенная командная строка · если параметр поддерживается

pnputil /enum-devicetree /connected

Синтаксис зависит от сборки; при отсутствии команды используйте Диспетчер устройств и pnputil /?. Дерево помогает отличить смену разъёма от реального перехода на другой контроллер. Два порта на разных сторонах корпуса не обязаны быть независимыми. [3]

Microsoft USBView: опубликованный пример сведений о скорости USB. Иллюстрация относится к примеру Microsoft; максимальный режим устройства и фактическое согласованное соединение могут различаться.
Microsoft USBView: опубликованный пример сведений о скорости USB. Иллюстрация относится к примеру Microsoft; максимальный режим устройства и фактическое согласованное соединение могут различаться.© Microsoft. Used with permission from Microsoft. · источник и условия использования · CC BY 4.0

Меняйте один физический участок за раз

Для теста завершите текущую запись и безопасно отключите прибор штатным способом. Сравните подключение без необязательного хаба, другой подходящий короткий кабель и другой порт. Ведите запись: какое именно условие изменено, какая нагрузка и сколько времени устройство работало.

Для устройства с внешним питанием используйте штатный совместимый адаптер. Произвольное напряжение и сомнительный кабель питания не являются диагностикой. Хаб с отдельным блоком питания меняет часть условий, но не гарантирует достаточное питание каждого прибора.

Перевод с SuperSpeed на USB 2.0 может изменить устойчивость и одновременно снизить доступную полосу. Это полезное сравнение, но не окончательное решение для устройства захвата, которому нужен исходный режим. Цвет пластика и тип разъёма не доказывают фактическую скорость; Microsoft описывает способы её проверки отдельно. [4]

Не отключайте selective suspend во всей системе первым шагом

USB selective suspend снижает питание простаивающего устройства и не равен общей потере питания всех портов. Microsoft рекомендует сохранять эту функцию включённой. Сбой при активной передаче не доказывает, что виноват именно режим простоя. [5]

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

Обновления контроллера, прошивки и BIOS берут для своей модели у производителя. Перед изменением сохраните установленные версии. При связи с конкретным новым пакетом проверьте штатный откат, а не удаление всех USB-контроллеров.

Сохраните события до перестановки драйвера

В Просмотре событий найдите записи System около сбоя и доступные журналы соответствующих устройств. Сохраняйте поставщика, полный текст и XML. Номер события без контекста может относиться к другому компоненту. Для отдельной копии System:

Повышенная командная строка

md C:\Iz90Diag
wevtutil epl System C:\Iz90Diag\Usb-System.evtx

Журнал SetupAPI по адресу C:\Windows\INF\setupapi.dev.log помогает установить пакет и момент установки, но не является полной записью каждого обмена USB под нагрузкой. Для таких случаев нужна трасса соответствующего стека. [6], [7]

Короткая трасса питания USB 3.x при необходимости

Если обычные проверки не объяснили отключение и доступны нужные провайдеры, Microsoft описывает сбор ETW через Logman. Следующий адаптированный пример собирает события Rundown и Power стека USB 3.x; он не является полной записью всех передаваемых данных. Выберите короткий воспроизводимый эпизод и новое имя сеанса, не конфликтующее с существующим. [8]

Повышенная командная строка · предварительная проверка

logman query providers | findstr /i "USBXHCI UCX USBHUB3"
logman query Iz90Usb

Если Iz90Usb уже существует, не перезаписывайте его: выберите своё свободное имя и замените его во всех командах. При наличии перечисленных провайдеров:

Повышенная командная строка · условный пример

logman create trace -n Iz90Usb -o C:\Iz90Diag\UsbPower.etl -f bincirc -max 128 -nb 128 640 -bs 128
logman update trace -n Iz90Usb -p Microsoft-Windows-USB-USBXHCI "(Rundown,Power)"
logman update trace -n Iz90Usb -p Microsoft-Windows-USB-UCX "(Rundown,Power)"
logman update trace -n Iz90Usb -p Microsoft-Windows-USB-USBHUB3 "(Rundown,Power)"
logman start -n Iz90Usb

После успешного начала воспроизведите один эпизод и обязательно остановите запись:

Повышенная командная строка · завершение созданного сеанса

logman stop -n Iz90Usb
logman delete -n Iz90Usb

Delete удаляет конфигурацию вашего сеанса сбора, а не сохранённый ETL. Кольцевой файл ограничен 128 МБ и при долгой записи перезаписывает старые события, поэтому останавливайте его вскоре после сбоя. Если создание, провайдеры или запуск дали ошибку, не выдавайте пустой файл за запись эпизода. Синтаксис Logman описан отдельно. [9]

ETL может содержать идентификаторы и пути. Для его разбора нужны инструменты и знание стека; передавайте его адресно производителю или специалисту вместе с точным временем.

Формат bincirc, максимальный объём файла, размер и число буферов относятся к настройкам сборщика. Ограничение файла не ограничивает всю потребляемую трассировкой оперативную память; задавайте короткий интервал и проверяйте, что запись остановлена. Параметры описаны в справке create trace. [10]

Проверьте результат в исходном рабочем режиме

Подтверждение — устойчивое выполнение той же нагрузки с тем же режимом прибора. Устройство захвата должно закончить тестовую запись, внешний диск — скопировать и прочитать проверочный набор без новых отключений. Проверьте также выход из сна, если именно он запускал проблему.

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

Короткая запись результата
УсловиеЧто сохранить
Базовое подключениеКонтроллер, хаб, кабель и питание
НагрузкаРежим, длительность и время отказа
Одно изменениеНовый кабель, порт или драйвер
ПовторСбой есть или отсутствует в том же сценарии
Возврат исходного условияПодтверждается ли связь

Учебная таблица редакции.

Made on
Tilda