UWP C#蓝牙低能量:多个并发连接不工作

UWP C#蓝牙低能量:多个并发连接不工作,c#,uwp,bluetooth,bluetooth-lowenergy,C#,Uwp,Bluetooth,Bluetooth Lowenergy,在我的UWP Windows 10应用程序中,我使用Window.Devices.Bluetooth扫描并连接到内部蓝牙低能耗设备。下面是用于连接的代码示例(内部设备已知mac地址) 使用以下两个API测试应用程序: using Windows.Devices.Bluetooth; using Windows.Devices.Bluetooth.GenericAttributeProfile; var bleDevice = BluetoothLEDevice.FromBluetoothA

在我的UWP Windows 10应用程序中,我使用Window.Devices.Bluetooth扫描并连接到内部蓝牙低能耗设备。下面是用于连接的代码示例(内部设备已知mac地址) 使用以下两个API测试应用程序:

 using Windows.Devices.Bluetooth;
 using Windows.Devices.Bluetooth.GenericAttributeProfile;
 var bleDevice = BluetoothLEDevice.FromBluetoothAddressAsync
 var services = bleDevice.GetGattServicesAsync
对于多个设备广告,API GetGattServicesAsync对于第一个设备可以正常工作,但在第一个设备仍然连接时尝试连接时返回“不可访问”状态。我们看到第一个连接的两个设备都有相同的行为

类似的功能在过去运行良好,但在最新版本的windows和SDK(windows 10 21H1、SDK目标19041、SDK最小17134)中不起作用

我是否缺少某些配置或此功能不再受支持。下面提供了一个简单示例的源代码:


谢谢

结果是联想P52笔记本电脑上的BT驱动程序出了问题。该问题最初是通过使用外部CSR4.0加密狗而不是内部BT解决的。在最近对英特尔无线蓝牙驱动程序v22.50.0.4进行windows更新后,多个连接也在内部BT上工作。

您能告诉我更多关于系统和应用程序目标版本的信息吗?我从2019年开始在我的旧应用程序中使用目标SDK 10.0.17763.0和最低10.0.16299.0。但是,在最新的windows(21H1)上针对较旧的SDK版本仍然存在问题。因此,问题只发生在21H1操作系统中,对吗?我不经常测试此配置,因此它已在以前版本的windows 10上被破坏。如果有帮助,我已使用Bluetooth Virtual Sniffer创建了wireshark日志。日志在此可用。与第一台设备的连接在时间6.23秒启动,运行良好,PC执行服务发现。然后在11.43秒时,启动第二个连接,7-8秒后,主机发送取消连接请求。当我签入设备FW时,从未收到第二个设备的连接回调。