This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

MITM Bonding issue with Android L

Hi, we'd like to use nexus 7 II(android 5.1.1) to connect nrf51822, but cannot connect if nrf51822 uses whitelist.

step 1. we send advertising packets without using whitelist, and uses MITM. Nexus 7 II can do the bonding.

adv_params.type        = BLE_GAP_ADV_TYPE_ADV_IND;
adv_params.p_peer_addr = NULL;
adv_params.fp          = BLE_GAP_ADV_FP_ANY;
adv_params.interval    = APP_ADV_INTERVAL;
adv_params.timeout     = APP_ADV_TIMEOUT_IN_SECONDS;

step 2. then we send advertising packets with whitelist info, nexus 7 II cannot connect to us, even we did bonding before.

adv_params.type        = BLE_GAP_ADV_TYPE_ADV_IND;
    adv_params.fp          = BLE_GAP_ADV_FP_FILTER_BOTH;
    adv_params.p_whitelist = &whitelist;
    advertising_init(BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED); 

But iPhone5s is okay on step2.

Is it google's issue? or we can do something for it?

-Thanks, Bill

  • already used the patch for Q1/Q2/Q5 on my SDK6.1 devzone.nordicsemi.com/.../

    but android L device still cannot reconnect if using whitelist advertising

  • @Now: If you are using SDK v6.1 you don't have to apply the patch in the blog post.

    Have you tried the SDK proximity example to see if the Nexus 7 can reconnect to the board ? You can also check and make sure the device is not full of bonded device and couldn't add your device in the database ? Could you check if the address of your tablet is in the list of "whitelist" ? When mentioned Nexus 7 can't connect to the device, you meant you couldn't find it in the list on the Nexus 7 or you found but when click connect nothing happened ?

  • Hi Hung, thanks for your suggestion. We've clear the database while doing the test, and we'll check if bt address saved in whitelist. When Nexus 7 fails to reconnect, it can find nrf51822 on its scan list and press connect button.

    BTW we find a weird behavior:

    1. if we clear our nrf51822 database and use nexus 7 to do its first bonding. it's okay for nexus 7 to reconnect while using whitelist advertising.
    2. if we delete bonded data in nexus 7, and then re-bonding again. it can't reconnect while using whitelist advertising. The weird thing is nexus 7 can reconnect if we use advertising without whitelist.

    looks like data mismatch when we use whitelist advertising.

  • we think nexus 7 with android 5.1.x may not handle whitelist advertising correctly, since it enters connected state and s110 is still advertising in disconnected state.

  • Hi Hung, as you said, the bt address of nexus 7 II is not saved in the whitelist!! But the BT address of HTC M7 (with android 4.4) can be saved.

Related