Windows does not answer BLE parameter update request RRS feed

  • Question

  • I have a custom embedded device with a Bluetooth low energy stack. The device is advertising itself until a connection is requested, I pair and connect to it via the Bluetooth menu in Windows 10, I can read/write to my custom GATT services using the following BLE GATT functions from the Win32 API.

    For my application I need to receive high frequency data using notifications on a characteristic so I enable it using the same API as stated above and receive the correct data but too slow. The default connection parameters Windows is using is not enough and I want to update them so I can receive notification events at higher frequency, but Windows API does not provide such function. I had the same problem when connection to an Android phone, and I solved it by requesting connection parameters update from the device (the slave in the connection) and the Android phone accepted it and everything worked as expected.

    The only problem is when I'm trying to ask for a connection parameter update from the device when connected to a Windows master, I don't receive any response (no accept nor reject), meanwhile I still receive notification events so I know the connection is still active. And the weird thing is that if I hold the device closer to the computer's Bluetooth antenna it does receive a response and update the connection parameters like intended.

    Any idea what's going on? Is it a bug in Windows stack?

    Thursday, September 24, 2015 9:49 AM

All replies

  • Hey Tomer,

    Requesting a connection parameter update is definitely supported.  Based on what you say here: "And the weird thing is that if I hold the device closer to the computer's Bluetooth antenna it does receive a response and update the connection parameters like intended" my first reaction is to guess that the antenna on the Windows device might either be defective or naturally weak.  Have you tried a different radio?  As you mention, you do not receive any response which is against the Bluetooth spec.  If this continues to repro, we will need Bluetooth packet sniffer logs in order to root cause.  



    Friday, September 25, 2015 11:27 PM
  • Thanks for the reply!

    I've tried it with my desktop which has a built in Bluetooth LE module and with my laptop, both running Windows 10. I'll try it with another computer just to be sure. I'll record some logs and upload them here soon.

    Another question, I saw that upon creating a connection with the device the connection interval value is 48 which I assume is the default. Is it possible to initiate a connection parameter update from the Windows side instead of having the slave request it?

    Tuesday, September 29, 2015 7:01 AM