当前位置: 首页 > news >正文

USB 设备的远程唤醒

据说,可以在暂停时响应外部唤醒信号的 USB 设备具有 远程唤醒 功能。 具有远程唤醒功能的设备示例包括鼠标、键盘、USB 集线器、调制解调器(响铃唤醒)、网络接口卡、连接电缆时唤醒。

所有这些设备都能够生成远程唤醒信号。 无法生成远程唤醒信号的设备包括摄像机、大容量存储设备、音频设备和打印机

支持远程唤醒信号的设备驱动程序必须发出 IRP_MN_WAIT_WAKE IRP(也称为等待唤醒 IRP),以使设备准备进行远程唤醒。 支持具有 Wake-Up 功能的设备部分中介绍了等待唤醒机制。

USB 叶设备上的远程唤醒

在 USB 术语中,当 USB 设备的 DEVICE_REMOTE_WAKEUP 功能被设置时,该设备的远程唤醒功能将被启用。 USB 规范规定,主机软件必须在“就在”将设备置于睡眠状态之前,设置设备上的远程唤醒功能。

因此,USB 堆栈在收到设备的等待唤醒 IRP 后,不会在设备上设置 DEVICE_REMOTE_WAKEUP 功能。 它将等待,直到收到 IRP_MN_SET_POWER 请求,然后将设备的 WDM 设备状态更改为 D1/D2。 在大多数情况下,当 USB 堆栈收到此请求时,它都会在设备上设置远程唤醒功能,并通过暂停设备的上游端口将设备置于睡眠状态。 在设计和调试您的驱动程序时,您应记住,通过等待唤醒 IRP 软件方式武装 USB 设备与通过设置远程唤醒功能在硬件上为设备武装唤醒之间存在松散的关系。

USB 堆栈在收到将设备更改为 D3 睡眠状态的请求时,不会为设备启用远程唤醒,因为根据 WDM 电源模型,D3 中的设备无法唤醒系统。

连接或分离 USB 设备时的唤醒行为

WDM 电源模式的 USB 实现中的另一个独特方面是关于启用 USB 集线器以支持远程唤醒。 如果总线上的 USB 端设备已准备唤醒,USB 堆栈也会为 USB 主机控制器设置为唤醒,但不一定会为设备上游的任何 USB 集线器设置唤醒。 仅当 USB 堆栈配置为在连接和断开(插拔)事件时唤醒系统时,USB 集线器驱动程序才会准备集线器以进行远程唤醒。

通用主机控制器接口(UHCI)USB 主机控制器无法区分远程唤醒信号和根集线器端口上的连接变更事件。 这意味着,如果 UHCI 控制器后面至少有一个设备处于唤醒状态,则当 USB 设备连接到根中心端口或从根中心端口断开连接时,系统始终会从低系统电源状态唤醒。

  • USB 电源管理
http://www.jsqmd.com/news/170481/

相关文章:

  • PaddleOCR模型故障终极排查指南:从问题诊断到预防策略
  • 如何快速掌握Playball:终端MLB观赛的终极指南
  • 163_尚硅谷_冒泡排序思路分析
  • 如何快速掌握PaddleOCR-VL:超轻量文档解析完整指南
  • RedPill Recovery 25.6.4:DIY NAS引导终极配置指南
  • 技术面试突围:从算法思维到代码质量的系统提升策略
  • Flux Gym完整使用指南:10分钟快速掌握LoRA训练技巧
  • QSizeGrip无边框窗口设计的鼠标缩放控件
  • 无损音频切换神器:macOS音频工具的完整使用教程
  • RuoYi-Vue Pro 完整指南:从零搭建企业级后台系统
  • Aurora博客系统快速上手指南:5分钟搭建个人技术博客
  • Zig语言服务器终极指南:如何快速搭建专业级开发环境
  • Featherlight:终极轻量级jQuery灯箱插件完整指南
  • 使用Markdown语法撰写清晰的技术文档(以TensorFlow为例)
  • FastGPT知识库解决方案:构建智能客服系统的实践指南
  • PyTorch安装教程GPU版常见报错解决方案汇总
  • Leo编译器如何实现零知识证明应用的突破性优化?
  • Node.js环境中构建高效OCR文字识别系统的完整指南
  • Docker容器间共享数据卷用于TensorFlow训练数据传递
  • ARM平台CAN总线通信配置:图解说明流程
  • 强力突破边缘智能瓶颈:jetson-inference深度推理架构设计哲学剖析
  • 终极学术助手:paper-reviewer如何3步完成论文深度评审
  • VoxCPM:5秒语音克隆技术如何重塑人机交互体验
  • 2025_NIPS_Bifrost-1: Bridging Multimodal LLMs and Diffusion Models with Patch-level CLIP Latents
  • Docker安装nvidia-container-toolkit支持TensorFlow GPU调用
  • 零基础掌握MMPose动物姿态估计:AP-10K实战完全指南
  • Phoenix开源监控平台完整安装与使用教程
  • 使用Markdown+Jupyter打造高质量AI技术博客内容
  • 量化交易系统扩展实战:从单一策略到多源融合的演进之路
  • SSH端口映射将本地TensorFlow服务暴露到公网