nRF Connect For Desktop Bluetooth LE App No Longer Works Properly

Setup, Windows 10 PC,  nRF Connect for Desktop 3.12.0, BLE App v4.0.0
The windows nRF Connect for Desktop BLE Application on Windows 10 no longer works properly.  I've managed to get it to connect to a nRF52840DK eventually by doing the following:

1. Connect nRF82840DK to PC
2.  Disable segger mass storage device in device manager
3.  Cycle the power on the nRF52840DK
4.  Run nrfjprog --recover from the command line tools
5.  Open nRF Connect for desktop
6.  Open the BLE app (v4.0.0)
7.  Select the DK
8.  App says 'firmware must be programmed' even though it was previously programmed with this
9.  The BLE app now works as usual, except:
10.  After using for a short time, I get the error "Disconnected from device B8:1F:5E:FF:F9:02, reason: BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT"
11.  Every time I connect the DK, I get the message that the firmware needs to be programmed.

Previous to this, it wouldn't work at all, it would say it had programmed the firmware, then would give error messages saying invalid response from device.

Prior to these problems appearing everything worked normally.  This problem has occurred simultaneously on a number of PCs in our office.

I have attached logs of where it works but times out and where the firmware programming fails, meaning I need to perform nrfjprog --recover

2022-11-01T11_34_49.508Z-log - Working But Times Out.txt

2022-11-01T11_42_06.763Z-log - Firmware Not Programming.txt

Parents
  • Hi

    BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT means that a link layer procedure has timed out (data length negotiation for instance). The timeout by default is 40 seconds I believe. The easiest way to find out which procedure it was that timed out exactly is to get a sniffer trace and see what happened ~40 seconds before the disconnection.

    You can use either a free nRF52 DK and Wireshark + the nRF Sniffer, or a dedicated sniffer like the Ellisys sniffer series.

    Best regards,

    Simon

Reply
  • Hi

    BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT means that a link layer procedure has timed out (data length negotiation for instance). The timeout by default is 40 seconds I believe. The easiest way to find out which procedure it was that timed out exactly is to get a sniffer trace and see what happened ~40 seconds before the disconnection.

    You can use either a free nRF52 DK and Wireshark + the nRF Sniffer, or a dedicated sniffer like the Ellisys sniffer series.

    Best regards,

    Simon

Children
Related