nRF5 SDK is not maintained anymore
More Info: Consider nRF Connect SDK for new designs

Problems with Windows

We are having connection problems with our nRF52832 based HID device only on Windows. I've attached packet captures taken with the nRF sniffer (nRF52 DK) and in Windows with BTVS.

It seems from the nRF sniffer capture that the nRF52832 disconnects in frame 3603 because Windows doesn't respond to the connection update request in frame 3413, is that correct? But the trace from Windows suggests it does think it is responding (frame 618 in Windows trace), but the packet is not sent.

 

Parents
  • Hello Nick, 

    We are having connection problems with our nRF52832 based HID device only on Windows.

    I assume you can run your setup on another operating system without any issues, then?  

    It seems from the nRF sniffer capture that the nRF52832 disconnects in frame 3603 because Windows doesn't respond to the connection update request in frame 3413, is that correct? But the trace from Windows suggests it does think it is responding (frame 618 in Windows trace), but the packet is not sent.

    What Windows version are you using currently? 

    Regards, 

    Markus 

  • Yes it works on iOS, android and Mac. The issue occurs on Windows 10 and windows 11. I’ve not tested other windows versions. It also, oddly, only occurs in release builds. Debug builds don't have an issue. However, this could be to do with timing. From my reading of the packet logs, it seems Windows is at fault.

    Thanks

    Nick

  • Might not be related, but I can see the peripheral is sending a security request upon connection, I have seen this can be problematic with some centrals. Try to remove (comment out) pm_handler_on_pm_evt() call from the pm_event_handler() function in main.c.

    I can also see the peripheral is trying to exchange a LL_LENGTH_REQ upon connection, I have seen this also can be problematic. Try to remove (comment out) data_length_update() call from on_connected_evt() function in nrf_ble_gatt.c

    Did any of the above help?

    Best regards,
    Kenneth

  • Okey, then I guess we need to look elsewhere.

    Packet #3413 is sent from the central (Windows), so it's not initiated by the peripheral, so that one should be fine.

    Do you see the same with the standard HID example as-is? Do you see the same across several PC's with Windows? Do you see the same if for instance using an USB BT dongle on the PC? There doesn't seem to be any data from the peripheral, does the same happen if you transmit some "dummy" data? Is is strange that Windows does not really seem to enable any CCCD's by writing to them.Have you tried to disable and enable BT on the Windows PC before trying with my suggestions?

    Best regards,
    Kenneth

Reply
  • Okey, then I guess we need to look elsewhere.

    Packet #3413 is sent from the central (Windows), so it's not initiated by the peripheral, so that one should be fine.

    Do you see the same with the standard HID example as-is? Do you see the same across several PC's with Windows? Do you see the same if for instance using an USB BT dongle on the PC? There doesn't seem to be any data from the peripheral, does the same happen if you transmit some "dummy" data? Is is strange that Windows does not really seem to enable any CCCD's by writing to them.Have you tried to disable and enable BT on the Windows PC before trying with my suggestions?

    Best regards,
    Kenneth

Children
No Data
Related