Windows不回答BLE参数更新请求

我有一个自定义embedded式设备与蓝牙低能量堆栈。 该设备是广告自己,直到连接请求,我配对并连接到它通过蓝牙菜单在Windows 10中,我可以读/写我的自定义GATT服务使用以下BLE GATT函数从Win32 API。

对于我的应用程序,我需要使用特征通知来接收高频数据,所以我使用上面所述的相同的API启用它,并接收正确的数据,但速度太慢。 Windows正在使用的默认连接参数是不够的,我想更新它们,所以我可以收到更高频率的通知事件,但Windows API不提供这样的function。 当连接到Android手机时,我遇到了同样的问题,我通过从设备(从设备连接)请求连接参数更新来解决此问题,Android手机接受了它,一切按预期工作。

唯一的问题是当我试图从设备连接到Windows主机时要求连接参数更新,我没有收到任何回应(不接受也不拒绝),同时我仍然收到通知事件,所以我知道连接仍然有效。 而奇怪的是,如果我把设备靠近电脑的蓝牙天线,它收到响应并更新连接参数。

任何想法发生了什么? 这是在Windows堆栈中的错误?

应该验证保持装置靠近天线的事实。 以不同的方式尝试多次。

你提到Android,从Android进一步控制设备还阻止连接参数更新?

如果这证明是正确的,我会说设备有问题。 我会比较不同设备之间的行为,如果他们来自不同的制造商或至少是模型更好。