vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2736回复:19

远程唤醒怎么做?

楼主#
更多 发布于:2004-08-18 09:58
远程唤醒怎么做?
我收不到host来的SetFeature,请问SetFeature是那一层驱动负责发的?
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-18 10:02
我的是USB的一般设备,不是keyborad mouse

希望有人回答…停在这儿很久了
use_id
驱动中牛
驱动中牛
  • 注册日期2002-03-11
  • 最后登录2006-01-07
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-18 14:32

  :D  先放分. :D
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-18 16:29
快回来救人  吧 大哥
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-19 09:27
set feature是由USBD做的,远程唤醒他的过程是什么?我也在考虑这
个问题,共同关注.
有远程唤醒功能的设备和没有的设备在USBD处理上有什么不同?他的
休眠和唤醒机制是怎么样的?在这方面没有的又是如何处理的?
我想应该先搞清这几个问题吧.呵呵.
新手上路,请多关照.
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-19 10:20
昨天把要pending 的wait wake irp放好了,system 进入sleeping1 的时候,也可让device进入D2,今天要把device的讯息弄起来,没有意外的话就可以远程唤醒系统了。系统醒了以后,就会把之前PENDING住的WAIT WAKE完成。

如果系统被别人叫醒了,那么就要对这个pending住的wait wake irp作cancel的动作。

原来Set feature不是我们自已发的,在2000上是差不多是wait wake pending的时候,下层(你说的USBD)去发的。

在观查别的device的时候发现系统醒了的时候会去reset device,而且发出clear feature的command,不知道这一段是谁做的?
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-08-19 11:06
前面一段没看懂,呵呵.
RESET和CLEAR FEATURE也应该是USBD作的,是标准命令,当然你也可以
自己发.
你的意思是不是说:我将系统(PC休眠,如进入屏保),这时HOST给USB发
送SET FEATURE命令,当我唤醒系统时,HOST给USB发送CLEAR FEATURE
命令.
新手上路,请多关照.
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-08-19 11:28
进入屏保是哪一种电源状态呢?我知道待命是SLEEP1,休眠是Hibernate


对…如果SETFEATURE是底层发的,那么CLEAR FEATURE也很有可能是底层发的
我在观查别人的设备的远程唤醒,在唤醒程序以后在线路上有CLEAR FEATURE,而DEVICE也被RESET了。
而我自已的情况是,设备只能叫醒系统一次,第二次就叫不醒系统了。在线路上的讯息除了RESUME以外,过了一会儿(几个MS吧),还会再一个SUSPEND。到这里就没道理了
蛮奇怪的,我想弄清楚这一层的驱动在唤醒以后应该要做什么事情。
文件上大部份都写如何让系统进入唤醒的准备,很少提到醒了的动作为何?
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-08-19 11:32
噢….
应该这样说,系统在做好一切准备动作,最后让wait wake pending住后,就直正进待”睡美人”的状态,待device发出一个K state,系统收到后会去完成先前pending 住的wait wake,然后系统重回工作电源状态,device重回D0
大概是这样,如果是别人叫醒系统的话,你要负责把pending的irp cancel掉
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-08-19 11:39
"设备只能叫醒系统一次",你是让PC(HOST)叫醒你的设备,还是让你的
设备叫醒PC(HOST)?
在收到RESUME以后,你的设备是否被唤醒(设备是否有效?端点是否
STALL清除?),你是否回答了收到RESUME命令(需不需要?).
新手上路,请多关照.
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-08-19 12:07
是设备叫醒PC(HOST


收到resume后设备有醒,设备有效,suspend/resume的动作不需要端点,pc host也没有在任何pipe上传输令命或资料。
大概过十几ms以后,pc host 又对device下了一次suspend
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-08-19 12:30
client能叫醒HOST吗?就我理解,USB是一个被动系统,设备(CLIENT)只
能在HOST命令下作出反应,他不能主动的作什么事.哪怕是他向HOST发
送信息,也只能是放在自己这一端,等待HOST来取.
也许是我孤陋寡闻,或者没有理解你的意思.你能把你的整个过程跟我
说下吗?
新手上路,请多关照.
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-08-19 13:21
see this
Windows 2000 DDK -->Setup, Plug  Play, Power Management-->
Chapter 4 Supporting Devices that Have Wake-Up Capabilities
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-08-19 14:15
谢谢.
看的我头大.呵呵
新手上路,请多关照.
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-08-19 14:23
我也看的很头大
一起研究吧
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2004-08-19 17:15
经过几天的混战 终于弄好了..
原来最难的部份,就是一开始没有概念
要有很好的创意去想象它…

事后回来一看DDK..
其实绝大部份都有谈到…

前面我有一个地方讲错了
关于别的device 去wakeup system,似乎并不需要去cancel掉pending 的wait wake。
use_id
驱动中牛
驱动中牛
  • 注册日期2002-03-11
  • 最后登录2006-01-07
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-08-19 18:29
set feature 与 clear feature 都来自 USBD

当host 设置 remote wakeup 时, 挂起的设备可以通过经主机发信号来恢复通信.

UsbBuildFeatureRequest(...)
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-08-19 18:46
98 2000 xp 被唤醒后,屏幕都不亮耶…要鼠标动动才会亮..
这样正常吗?但是它的电源状况确实已经进入working 了
Owen.Guo
驱动中牛
驱动中牛
  • 注册日期2001-03-30
  • 最后登录2012-03-29
  • 粉丝0
  • 关注1
  • 积分402分
  • 威望260点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-08-21 15:41
好像不是这样的,唤醒后就亮了,你是写的驱动或是Fireware
Owen.Guo 祝你成功!
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2004-08-23 09:50
我写的是驱动
但我的设备不是键盘或鼠标
游客

返回顶部