This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE 4.0 Disconnect issue

Hello;

we are having a communication issue(a BIG one at this point) that we are experiencing with our BLE 4.0 tablets. Our device(has NRF52832) is designed to communicate with a XSlate R12 tablets. The older tablets out in the field have a BLE 4.0 while the newer ones have BLE 4.2. The current FW is based on SDK 15.0.0 and softdevice 6.0.0. The issue only occurs with the older tablets having the Intel BLE 4.0 chipset where after 5 to 20 minutes of communication, the tablet and device disconnect. From my debugging, it seems the tablet requests to update the connection parameters and soon after disconnects. I am transmitting 2 packets per connection interval having 20 bytes in the first and 16 bytes in the second packet. Any thoughts/recommendations on what may be causing this issue? I have attached 2 different sniffer logs to review. Any help will be greatly apprlog2.pcapnglog1.pcapngeciated.

  • HI Wael, 

    Could you point me to the place in the sniffer logs that you think when the issue happened ? 

    For some reason the sniffer couldn't decrypt the last packets properly (bad MIC). I'm not sure why this happened. Please make sure you put the sniffer close to the 2 devices. Please try to capture other sniffer traces. 


    If you use the BLE4.0 tablet to connect to a nRF52832 running one of our example in the SDK, do you see the same issue ? 

  • Hi Hung:

    Thank you for taking the time to look over my case. the SW on the tablet is setup to reconnect when a disconnection happens so in the log2 file there should be a few different connect/disconnects. unfortunately, the tablet fails to reconnect after about 4 to 8 reconnects. I have never used wireshark and I really do not know how to find things in it. I was hopping you can help with that. the device is very close to the tablet and the dongle. Your time and effort will be greatly appreciated in any help. 

    Regards,

  • Could you try capture the traces again ? Please also try using the nRFConnect app to test. Just to check if the connection is kept. 
    Please also test with our stock examples in the SDK. 

    What I can see in the trace is that there are lots of undecryptable packets, before the connection was lost. So I don't know what could be wrong here. 
    What do you see in the firmware in the DISCONNECTED event , which disconnect reason was that ? 

  • the error code I received on the DISCONNECT p_ble_evt->evt.gap_evt.params.disconnected.reason was 0x1E which is BLE_HCI_STATUS_CODE_INVALID_LMP_PARAMETER. I do not get disconnects on nRF Connect app only the BLE 4.0 tablet. I think the central device does not like the min/max connection interval and it tries to change them and the device disconnects. The min and max values I am using is 20ms and 23ms respectively. It’s a windows 10 tablet which is running our c# application. its hard for me to understand the wireshark log. 

    with regards to capturing traces again, I always see some undecrypteed packets no matter how many times I run it. is there anything I can do on the FW on the device side. I cannot change the interval timing as everything is sort of designed based on it. what example would you like me to test?

    Regards,

  • I don't think the connection interval negotiation would cause the issue, at least that not showed on the sniffer. Could you give some more information why you suspect the connection parameter change causing the issue ?

    Could you clarify what did you mean by " I do not get disconnects on nRF Connect app only the BLE 4.0 tablet" ? Did you have the issue on the nRFConnect app on the BLE4.0 tablet ? 

    Please try to test on any example, ble_app_proximity for example. The example support bonding, please do bonding when testing (you can read any characteristic, it would trigger bonding). 
    Could you give some information about your C# application ? What it does, is there any low level BLE function ? 

Related