共用方式為


USB 裝置的遠端喚醒

當暫停時,可回應外部喚醒訊號的USB裝置,即具有 遠端喚醒 功能。 具有遠端喚醒功能的裝置範例包括滑鼠、鍵盤、USB 中樞、數據機 (信號喚醒) 、NIC、纜線插入喚醒。 所有這些裝置都能夠產生遠端喚醒訊號。 無法產生遠端喚醒訊號的裝置包括視訊相機、大量儲存裝置、音訊裝置和印表機。

支援遠端喚醒訊號的裝置驅動程式必須發出 IRP_MN_WAIT_WAKE IRP,也稱為等候喚醒 IRP,才能為裝置提供遠端喚醒。 等候喚醒機制會在 支援具有 Wake-Up 功能的裝置一節中說明。

USB 分葉裝置上的遠端喚醒

在USB術語中,當設定USB裝置DEVICE_REMOTE_WAKEUP功能時,會啟用遠端喚醒。 USB 規格指定主機軟體必須在裝置「只之前」設定遠端喚醒功能,才能讓裝置進入睡眠狀態。

因此,USB 堆疊在收到裝置等候喚醒 IRP 之後,不會在裝置上設定DEVICE_REMOTE_WAKEUP功能。 相反地,它會等到收到 IRP_MN_SET_POWER 要求,將裝置的 WDM 裝置狀態變更為 D1/D2 為止。 在大部分情況下,當USB堆疊收到此要求時,這兩者都會在裝置上設定遠端喚醒功能,並暫停裝置的上游埠,讓裝置進入睡眠狀態。 當您設計和偵錯驅動程式時,您應該記住,透過等候喚醒 IRP,以及設定遠端喚醒功能,讓裝置在硬體中喚醒之間有鬆散的關聯性。

USB 堆疊不會在收到將裝置變更為 D3 睡眠狀態的要求時啟用遠端喚醒裝置,因為根據 WDM 電源模型,D3 中的裝置無法喚醒系統。

連接或中斷連結 USB 裝置時的喚醒行為

WDM 電源模式之 USB 實作的另一個獨特層面,關於遠端喚醒的 USB 中樞的 Arming。 如果總線上的USB分葉裝置處於喚醒的狀態,USB 堆疊也會為USB主機控制器進行喚醒,但不一定會將任何USB中樞放在裝置上游。 USB 中樞驅動程式只有在 USB 堆疊設定為在連接時喚醒系統,並中斷連結 (外掛程式/卸除) 事件時,才會提供遠端喚醒的中樞。

通用主機控制器介面 (UHCI) USB 主機控制器不會區分遠端喚醒訊號和連線根中樞埠上的變更事件。 這表示如果 UHCI 控制器後面至少有一個裝置可供喚醒,則當 USB 裝置連線到根中樞埠或中斷連線時,系統一律會從低系統電源狀態喚醒。