Принудительно приостановить работу USB-устройства

Принудительно приостановить работу USB-устройства

В разделе «Управление питанием» есть функция «Выборочная приостановка», при которой Windows приостанавливает работу устройств по своему усмотрению для экономии энергии.

Есть ли способ вручную приостановить работу устройства, а не ждать выборочной приостановки?

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

решение1

В Windows USB Framework нет функции для приостановки USB-устройств по желанию. Эта функция была сочтена ненужной с точки зрения дизайнера Microsoft.

Однако для целей тестирования существует инструмент от USB-IF для выполнения SUSPEND (и пробуждения) и многих других изолированных функций на портах USB, в основном для вызова различных тестовых шаблонов для электрической характеристики. Он называетсяxHSETT. К сожалению, данная функция реализована в виде специального тестового драйвера USB, который заменяет стандартный стек и не имеет стандартной прикладной функциональности.

Также есть небольшая неприятность с этим драйвером: когда что-то пойдет не так и порты окажутся в каком-то неожиданном состоянии, тестовый драйвер не сможет выгрузиться, и система может застрять в этом тестовом режиме без базовой функциональности USB. Таким образом, вы не сможете управлять системой с помощью клавиатуры или мыши даже после перезагрузки системы. Чтобы система оставалась работоспособной, рекомендуется использовать тестовую систему с портом PS/2 или иметь дополнительную подключаемую карту PCIe-USB.

решение2

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

Связанный контент