Пакет USBStress

USBStress — это сочетание приложения в пользовательском режиме (usbstress.exe) и пакета установки драйвера для драйвера в режиме ядра, usbstress.sys.

Эти файлы включены в пакет программного обеспечения MUTT.

USBStress

USBStress — это набор тестов, ориентированных на весь стек USB-драйверов и универсальный родительский драйвер USB (Usbccgp.sys), а также контроллер и его вышестоящий концентратор. USBStress случайным образом выбирает тесты и настраивает подключенные тестовые устройства. Из-за случайного характера тестов рекомендуется запускать USBStress в течение 24 часов, чтобы разрешить больше сочетаний тестов.

Инструмент выполняет контрольные, массовые и изохронные передачи данных различной длины к тестовому устройству и от него. Для устройства SuperMUTT USBTCD передает данные в потоки, поддерживаемые массовой конечной точкой.

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

В этом списке приведены тесты, которые выполняет USBStress:

  • Выборочная приостановка с помощью удаленного пробуждения.
  • Одновременные запросы на чтение и запись для массовых, прерываний и изохронных конечных точек и отмены.
  • Одновременные запросы на передачу данных и их отмену.
  • Одновременный канал прерывания для массовых конечных точек и отмены.
  • Случайный сброс для неожиданного удаления и повторного перечисления.
  • Случайная перезагрузка для неожиданного удаления и нового перечисления с последующим сбоем.
  • Случайным образом выберите доступный альтернативный интерфейс.
  • Случайным образом заставить устройство приостановить передачу каждого n-го управляющего пакета.
  • Произвольно дайте команду пакету MUTT (если подключен) отключить VBUS от открытого нисходящего порта.
  • Случайно задайте команду пакету MUTT (при подключении) имитировать состояние перетока на внешнем порту.
  • Случайным образом дайте команду пакету MUTT (при подключении) выполнить сброс оборудования на данном концентраторе.

Чтобы установить драйвер usbstress.sys для устройства MUTT, используйте MuttUtil с параметром -UpdateDriver :

c:\Program Files (x86)\USBTest\x64>MuttUtil.exe -UpdateDriver usbstress.inf
Return value: 0


c:\Program Files (x86)\USBTest\x64>MuttUtil.exe -list
       :    : HARDWARE ID                    :  PROBLEM CODE  : DRIVER
DEVICE :  0 : USB\VID_045E&PID_078E&REV_8011 :             0  : USBSTRESS
Return value: 1

Средства в пакете программного обеспечения MUTT
устройства Microsoft USB Test Tool (MUTT)