Bluetooth LE 设备在 Windows 10 v1709 中停止连接
Bluetooth LE device stopped connecting in Windows 10 v1709
我创建了一个 WDK 库来与蓝牙 LE 设备交互(严格遵循示例 here)。该库在 Windows 的先前版本上运行良好 - 我能够连接到我的设备,写入特征并获得异步通知。一旦我更新到 Windows 版本 1709(内部版本 16299.98),库停止工作:
- 通过设置-->设备-->蓝牙配对设备
- BLE 设备闪烁 LED 作为广告指示
- 运行 我的应用程序使用了上述库
- 一旦应用程序打开配对设备的句柄(使用
hDevice = CreateFile(pInterfaceDetailData->DevicePath, GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
),设备就会间歇性闪烁,表明它连接和断开连接的速度非常快。
- 有时,在几秒后,设备长亮,表示已连接(Windows设置中的状态也是'Connected')
- 从我的代码访问设备(例如通过调用
BluetoothGATTSetDescriptorValue()
启用 BLE 通知)失败并超时 (ERROR_SEM_TIMEOUT
))
出于某种原因,首次与设备配对不会出现这些症状。
有什么想法吗?
如果相关,我的本地蓝牙设备是 Qualcom Atheros USB 模块 (VID_0489&PID_E076&REV_0001)。
这是 Windows 10 的问题,已在 KB4054517
中解决
我创建了一个 WDK 库来与蓝牙 LE 设备交互(严格遵循示例 here)。该库在 Windows 的先前版本上运行良好 - 我能够连接到我的设备,写入特征并获得异步通知。一旦我更新到 Windows 版本 1709(内部版本 16299.98),库停止工作:
- 通过设置-->设备-->蓝牙配对设备
- BLE 设备闪烁 LED 作为广告指示
- 运行 我的应用程序使用了上述库
- 一旦应用程序打开配对设备的句柄(使用
hDevice = CreateFile(pInterfaceDetailData->DevicePath, GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
),设备就会间歇性闪烁,表明它连接和断开连接的速度非常快。 - 有时,在几秒后,设备长亮,表示已连接(Windows设置中的状态也是'Connected')
- 从我的代码访问设备(例如通过调用
BluetoothGATTSetDescriptorValue()
启用 BLE 通知)失败并超时 (ERROR_SEM_TIMEOUT
))
出于某种原因,首次与设备配对不会出现这些症状。
有什么想法吗?
如果相关,我的本地蓝牙设备是 Qualcom Atheros USB 模块 (VID_0489&PID_E076&REV_0001)。
这是 Windows 10 的问题,已在 KB4054517
中解决