蓝牙无线收发器重置和恢复

您所在的位置:网站首页 aerobull音质 蓝牙无线收发器重置和恢复

蓝牙无线收发器重置和恢复

2023-09-20 10:56| 来源: 网络整理| 查看: 265

蓝牙无线收发器重置和恢复 项目 06/15/2023

蓝牙无线电重置和恢复是Windows 10版本 1803 及更高版本中的一项技术,它为蓝牙无线电引入了可靠的重置和恢复机制。 此机制使蓝牙无线电能够从导致故障、连接丢失或操作命令无响应的硬件故障中恢复。 目标是自动恢复无线电,使用户体验无缝,并减少要求系统重启的可能性。

蓝牙无线电重置和恢复可以在有或没有固件依赖项的情况下实现。 IHV 或 OEM 合作伙伴可以使用受支持的设备或固件级重置机制扩展所有 Windows 电脑上可用的基于软件的重置机制,以提高成功恢复的可能性。

重要

本主题面向开发人员。 如果你的客户遇到蓝牙问题,请参阅修复Windows 10中的蓝牙问题。

蓝牙重置和恢复方案

启动蓝牙重置和恢复的问题有三大类:

总线枚举失败:无线电无法通过蓝牙的基础总线 (进行枚举或重新枚举,这通常是 USB 或 UART) ,如设备管理器中出现可见的失败状态 (黄色砰) 指示,这可能是基础硬件错误症状。

驱动程序枚举失败: 基础总线成功枚举 后 ,蓝牙无线电处于失败状态。 这通常在为无线电构建驱动程序堆栈时发生,例如,在蓝牙无线电设备节点上安装筛选器或函数驱动程序时, (devnode) 。 如果驱动程序在一个或多个启动操作期间遇到错误,并因此报告 PnP 故障,则可能会发生故障。 此类操作的一个示例可能是将固件下载到设备。

非枚举失败: 设备未处于故障状态,但在其他情况下无法正常运行,如驱动程序堆栈所见。 这些是枚举路径之外的故障,可能是一般的关键传输特定故障或特定于设备的故障,例如灾难性的固件错误。 下面所述的蓝牙重置和恢复机制用于这些情况。

重置和恢复机制

虽然有多种方法可以从失败状态恢复,但蓝牙使用基于 ACPI 的标准化恢复机制尝试将无线电还原到工作状态。

GUID_DEVICE_RESET_INTERFACE_STANDARD 定义两个重置级别。 请注意:

重置机制仅适用于 内部设备 ,因此不支持外部可插入蓝牙无线电(如硬件保护装置)。

重置机制需要 Windows ((通常由函数驱动程序堆栈) )和基础固件 ((通常在 ACPI BIOS) 中)支持,以实际执行重置。

实际重置机制特定于系统。

重置级别 实现 功能级设备重置 (FLDR) 重置操作仅限于特定设备,对其他设备不可见。 没有重新枚举。 函数驱动程序必须假定硬件在操作后已返回到其原始状态。 不保留中间状态。 平台级设备重置 (PLDR) 重置操作会影响特定设备,以及通过同一电源轨或重置线路连接到该设备的所有其他设备。 重置操作会导致在总线中报告设备缺失并重新枚举。 这种类型的重置对系统的影响最大,因为共享资源的所有设备都返回到其原始状态。

若要支持 FLDR ,必须在设备范围内定义__RST方法,详见 ACPI 固件:功能级别重置。

若要支持 PLDR ,必须在设备范围内定义__RST或__PR3方法,如 ACPI 固件中所述:平台级重置。 如果使用 _PR3 方法,ACPI 将使用 D3Cold 电源周期机制进行重置。 这会模拟从设备中删除电源,然后还原设备。 如果任何其他设备共享相同的电源轨,它们也将重置。 如果 _PRR (PowerResource) 定义和引用 _RST 方法,则使用该 PowerResource 的所有设备都将受到影响。

由于 PLDR 仅适用于内部设备,因此必须在 ACPI 中将其声明为此类设备。 对于 USB 设备,若要指定内部 (用户不可见) 且可连接到集成设备的端口,请设置 _Л。PortIs连接到 0xFF 和 _PLD 的可连接字节。UserVisible 位到 0。

如果 _PR3 (D3Cold) 机制用于 PLDR,请确保 SystemWake 和 DeviceWake 等方案继续工作。 名义上,这意味着为 D2 定义了适当的电源资源,例如 _PR2。 下表是一个有用的指南:

电源状态 ACPI 资源 行为 D2 _PR2 此状态的类定义的缩减功能所需的任何电源或时钟。 D3 热 (reqd.) _PR2 与支持 (D2、D1 或 D0) 的下一个更高状态相同的资源。 D3cold _PR3 只有设备在其总线上显示并响应特定于总线的命令所需的电源或时钟。 相关链接

重置和恢复设备



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3