Bangun jarak jauh perangkat USB

Perangkat USB yang dapat merespons sinyal bangun eksternal saat ditangguhkan dikatakan memiliki kemampuan bangun jarak jauh . Contoh perangkat yang memiliki kemampuan bangun jarak jauh adalah tikus, keyboard, hub USB, modem (bangun saat cincin), NIC, bangun pada penyisipan kabel. Semua perangkat ini mampu menghasilkan sinyal bangun jarak jauh. Perangkat yang tidak mampu menghasilkan sinyal bangun jarak jauh termasuk kamera video, perangkat penyimpanan massal, perangkat audio, dan printer.

Driver untuk perangkat yang mendukung sinyal bangun jarak jauh harus mengeluarkan IRP IRP_MN_WAIT_WAKE , juga dikenal sebagai IRP bangun tunggu, untuk mempersenjatai perangkat untuk bangun jarak jauh. Mekanisme tunggu bangun dijelaskan di bagian Perangkat Pendukung yang Memiliki Kemampuan Wake-Up.

Bangun jarak jauh pada perangkat daun USB

Dalam terminologi USB, perangkat USB diaktifkan untuk bangun jarak jauh saat fitur DEVICE_REMOTE_WAKEUP diatur. Spesifikasi USB menentukan bahwa perangkat lunak host harus mengatur fitur bangun jarak jauh pada perangkat "hanya sebelum" untuk membuat perangkat tidur.

Untuk alasan ini, tumpukan USB tidak mengatur fitur DEVICE_REMOTE_WAKEUP pada perangkat setelah menerima IRP tunggu untuk perangkat. Sebaliknya, ia menunggu sampai menerima permintaan IRP_MN_SET_POWER untuk mengubah status perangkat WDM perangkat ke D1/D2. Dalam sebagian besar keadaan, ketika tumpukan USB menerima permintaan ini, keduanya mengatur fitur bangun jarak jauh pada perangkat dan membuat perangkat tidur dengan menangguhkan port hulu perangkat. Ketika Anda merancang dan men-debug driver Anda, Anda harus ingat bahwa ada hubungan longgar antara mempersenjatai perangkat USB untuk bangun dalam perangkat lunak, melalui IRP tunggu bangun, dan mempersenjatai perangkat untuk bangun di perangkat keras dengan mengatur fitur bangun jarak jauh.

Tumpukan USB tidak mengaktifkan perangkat untuk bangun jarak jauh ketika menerima permintaan untuk mengubah perangkat ke status tidur D3, karena menurut model daya WDM, perangkat di D3 tidak dapat membangunkan sistem.

Perilaku bangun saat melampirkan atau melepaskan perangkat USB

Aspek unik lain dari implementasi USB dari mode daya WDM mengenai arming hub USB untuk bangun jarak jauh. Jika perangkat daun USB di bus dipersenjatai untuk bangun, tumpukan USB juga akan mempersenjatai pengontrol host USB untuk bangun, tetapi tidak akan selalu mempersenjatai salah satu hub USB di hulu perangkat. Driver hub USB mempersenjatai hub untuk bangun jarak jauh hanya jika tumpukan USB dikonfigurasi untuk membangunkan sistem pada peristiwa pasang dan lepaskan (colokkan/cabut).

Pengontrol host USB Universal Host Controller Interface (UHCI) tidak membedakan antara sinyal bangun jarak jauh dan menyambungkan peristiwa perubahan pada port hub akar. Ini berarti sistem akan selalu bangun dari status daya sistem rendah ketika perangkat USB terhubung atau terputus dari port hub akar jika setidaknya ada satu perangkat di belakang pengontrol UHCI yang dipersenjatai untuk bangun.