WINDOWS系统休眠后找不到USB设备,需要拔插一次才行!

时间:2021-10-21 19:00:33
在xp下系统休眠后恢复到正常工作模式时,系统找不到USB设备,需要重新拔插一次才可以。是不是上位机需要重新枚举USB设备?上位机驱动是通过DriverStudio3.2生成的;那么枚举的话该在什么例程中做呢?

5 个解决方案

#1


你看看这两个例程吧

DriverObject->MajorFunction[IRP_MJ_PNP]
DriverObject->MajorFunction[IRP_MJ_POWER] 

#2


谢谢,提示

#3


检查一下你的设备工作顺序是不是这样:节电后,usb的5v低,device的vbus端低,usb状态机suspend,正常后,5v高,vbus高,你的设备没有wakeup,没有进入reset,如果是这样的话,看device的reset中断过程。
如果是5v没有低,那就纯粹的suspend,你的device应当有这样的说明,数据线上3ms没有活动,自动进入suspend,而后就没有唤醒,先看看下位机这边,不过要是完全自己做的驱动,就不好说了。

#4


谢谢,我先去检查下。
如果是3MS后没有活动,设备进入suspend状态后,PC重启上电,是上位机驱动需要发送reset,还是下位机自己检查到上电,然后发起reset?

#5


下位机自己是不能发起reset的,设备枚举阶段的reset是主机通过集线器发下来的请求。

#1


你看看这两个例程吧

DriverObject->MajorFunction[IRP_MJ_PNP]
DriverObject->MajorFunction[IRP_MJ_POWER] 

#2


谢谢,提示

#3


检查一下你的设备工作顺序是不是这样:节电后,usb的5v低,device的vbus端低,usb状态机suspend,正常后,5v高,vbus高,你的设备没有wakeup,没有进入reset,如果是这样的话,看device的reset中断过程。
如果是5v没有低,那就纯粹的suspend,你的device应当有这样的说明,数据线上3ms没有活动,自动进入suspend,而后就没有唤醒,先看看下位机这边,不过要是完全自己做的驱动,就不好说了。

#4


谢谢,我先去检查下。
如果是3MS后没有活动,设备进入suspend状态后,PC重启上电,是上位机驱动需要发送reset,还是下位机自己检查到上电,然后发起reset?

#5


下位机自己是不能发起reset的,设备枚举阶段的reset是主机通过集线器发下来的请求。