BLE does not connect to a specific phone

Hello everyone 

In the company I work for, we make a special kind of dongles which are able to connect to smartphones through BLE and transfer data.

I have 4 of these dongles and only one of them does not connect to my smartphone which is a Samsung Galaxy A32 5G.

I tried that dongle by a Samsung Galaxy A31 and an iPhone 6 and another device which is produced by our company and it works without any problem. I also tried the other dongles with my Samsung Galaxy A32 5G and it also works fine. Just that specific dongle does not connect to my Samsung Galaxy A32 5G.

The dongle is the device that requests the connection and it looks like the connection is terminated right after it's been made.

Does anybody know what can possibly cause this? Is it possible that the SoftDevice of this dongle had saved this smartphone in a permanent blacklist?

Parents Reply Children
  • Hi Vahidreza,

    It doesn't seems that you have selected the dongle to follow the connection. 
    You should select the advertiser in the drop down menu like this: 

    After that the sniffer will follow only one single advertiser , only after that it can follow the connection. I assume you are using the dongle as advertiser/peripheral and the phone as central ? 

  • Hi Hung

    Sorry for the mistake I made. I sent you another sniffing result. I also included a result in which the connection is not terminated just in case it might be helpful.

    I assume you are using the dongle as advertiser/peripheral and the phone as central ? 

    No. The dongle is central and the phone is peripheral/advertiser.

  • Hi Vahidreza, 

    From what I can see what happened was that the central tried to encrypt the link because it has been bonded with the phone before but the phone has removed the bond information. The central reject the connection after the phone reject the encryption request. 


    The problem with the dongle is that it's not possible to completely erase its flash unless you connect a debugger to it. The dongle is not designed as a development board. 

    If you want to erase the bond information , what you need to do is to make a feature on your firmware to erase bond information. It's similar to this function in ble_app_hrs: 

    On the sniffer trace where there was no problem, the central didn't try to re-encrypt the link because they has not bonded before. 

  • Thank you very much dear Hung.

    I added that delete_bonds() function in the dongle startup function and the issue is solved now.

Related