![强制暂停 USB 设备](https://linux22.com/image/1627549/%E5%BC%BA%E5%88%B6%E6%9A%82%E5%81%9C%20USB%20%E8%AE%BE%E5%A4%87.png)
电源管理下有一项“选择性挂起”功能,Windows 将根据其认为合适的方式挂起设备以节省电量。
有没有办法手动设置设备暂停,而不是等待选择性暂停?
我正在尝试测试 USB 设备的设计,以便在设备暂停后正确处理唤醒。
答案1
Windows USB框架下没有提供可以随意暂停USB设备的功能,微软设计者认为这个功能是不必要的。
但是,为了进行测试,USB-IF 提供了一种工具,用于在 USB 端口上执行 SUSPEND(和唤醒)和许多其他独立功能,主要用于调用各种测试模式进行电气特性分析。它被称为負責遗憾的是,该功能是作为替代标准堆栈的特殊 USB 测试驱动程序实现的,没有标准的应用功能。
此驱动程序还有一个小麻烦,即当出现错误并且端口最终处于某种意外状态时,测试驱动程序将无法卸载,并且系统可能会卡在这种测试模式中而没有基本的 USB 功能。因此,即使系统重新启动后,您也无法使用键盘或鼠标控制系统。为了保持系统正常运行,建议使用带有 PS/2 端口的测试系统,或者使用额外的插入式 PCIe-USB 卡。
答案2
如果没有应用程序或服务正在使用您的设备,Windows 通常会将其发送到挂起模式。我正在使用 HID USB 设备,当我关闭其应用程序时,Windows 会在几秒钟后将我的设备发送到挂起模式。