阅读:1484回复:0
请问USB设备(非键盘或鼠标),需要做到Remote wake up
请问USB设备(非键盘或鼠标),需要做到Remote wake up
1.文件上说需要在device的configuration descriptor中宣告需 要支持remote wake up(有一个bit设为1) 这个部份已经好了。 2文件上说需要系统来同意设备的remote wakeup功能,会 送出一个SetFeature。 请问这个SetFeature是系统送的,还是我们要写在driver里面的? 3需要支持Wait_Wake irp ,SetPower irp 在SetPower irp收到要系统进入sleep时,向driver stack的最 顶端送出Wait_Wake irp,并让它pending在那里,待device 送 出K status时,系统醒过来将会把Wait_Wake完成。 若是其它的东西把系统叫将,那么我们要把那个Pending 的Wait_Wake irp 给cancel掉. 我已经在Get configuration之后判断device 有没有宣告支持 remote wakeup ,若有的话,发出一个Setfeature remote wakeup 在系统进入睡觉的状态时,也有发出wait_wake并使它pending住 但我始终无法利用device resume将系统叫醒? 请问我做错了什么步骤 少做了什么? 另,再问 系统的电源层级有working , sleep1,sleep2,sleep3,hibernate,unspecified,shutdown 等,我要怎么在我的系统上弄出这些等级? |
|