Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
USB-устройства, которые могут реагировать на сигналы внешнего пробуждения во время приостановки, как говорят, имеют возможность удаленного пробуждения . Примерами устройств, имеющих возможность удаленного пробуждения, являются мыши, клавиатуры, USB-концентраторы, модемы (пробуждение по кольцу), сетевые адаптеры, пробуждение по вставке кабеля. Все эти устройства могут производить сигнал удаленного пробуждения. Устройства, которые не могут создавать сигналы удаленного пробуждения, включают видеокамеры, запоминающие устройства, звуковые устройства и принтеры.
Драйверы для устройств, поддерживающих сигнал удаленного пробуждения, должны выдавать IRP IRP_MN_WAIT_WAKE, также известный как IRP ожидания пробуждения, чтобы подготовить устройство для удаленного пробуждения. Механизм пробуждения ожидания описан в разделе "Поддержка устройств с Wake-Up возможностями".
Удаленное пробуждение на USB-конечном устройстве
В терминологии USB устройство USB поддерживает удаленное пробуждение, если включена функция УДАЛЕННОГО ПРОБУЖДЕНИЯ УСТРОЙСТВА. Спецификация USB указывает, что программное обеспечение узла должно установить функцию удаленного пробуждения на устройстве "только перед тем, как поместить устройство в спящий режим".
По этой причине USB-стек не задает функцию DEVICE_REMOTE_WAKEUP для данного устройства после получения IRP ожидания пробуждения для устройства. Вместо этого он ожидает, пока он не получит IRP_MN_SET_POWER запрос на изменение состояния устройства WDM на D1/D2. В большинстве случаев, когда USB-стек получает этот запрос, он устанавливает функцию удаленного пробуждения на устройстве и помещает устройство в спящий режим, приостанавливая исходящий порт устройства. При проектировании и отладке драйвера следует помнить, что между подготовкой USB-устройства для пробуждения в программном обеспечении с помощью IRP ожидания пробуждения и подготовкой устройства для пробуждения в оборудовании, настроив функцию удаленного пробуждения, существует слабая связь.
Стек USB не активирует функцию удаленного пробуждения устройства, когда получает запрос на перевод устройства в спящий режим D3, так как в соответствии с моделью питания WDM устройства в D3 не могут разбудить систему.
Режим пробуждения при подключении или отключении USB-устройства
Еще один уникальный аспект реализации режима питания WDM через USB связан с подготовкой USB-концентраторов для удаленного пробуждения. Если usb-конечное устройство на шине вооружается для пробуждения, стек USB также будет вооружен контроллером USB-узла для пробуждения, но он не обязательно будет вооружать любой из USB-концентраторов вышестоящего устройства. Драйвер USB-концентратора подготавливает концентратор для удаленного пробуждения только в том случае, если стек USB настроен для пробуждения системы при событиях подключения и отключения (подключение и отключение).
USB хост-контроллеры интерфейса универсального хост-контроллера (UHCI) не различают сигналы удаленного пробуждения и события изменения подключения на портах корневого концентратора. Это означает, что система всегда проснется от состояния низкой мощности системы, если USB-устройство подключено или отключено от корневого порта концентратора, если за контроллером UHCI, вооруженным для пробуждения, находится по крайней мере одно устройство.