Dynamic modification advertising public address

Hi,

 I want to set my BLE advertising as public adress Dynamic, and can't work. I have try reboot,, and call "bt_ctlr_set_public_addr" before "bt_enable", It is working first time. In second time, the advertising was change successful, but the address in "bt_id_get(addrs, &count)" was different, and when I do pair with phone always fail, seems like the advertising address must same with SETTING?

Parents
  • Hi,

     To supplement my requirements:

        1. Multiple broadcast IDs are needed, e.g., ID1 ID2

        2. ID1 needs to be a public address that can be dynamically modified.

        3. ID2 needs to be a random address that can be dynamically modified.


     Add my testing project. Test process:

    1. Execute `west flash --recover` to flash the application. The actual broadcast address is "01, 0x02, 0x03, 0x04, 0x05, 0x07", and the address type is public.

    2. The Android phone initiates a bond request via the NRF Connect tool. The development board accepts by pressing button 0, and the pairing is successful.

    3. Modify the address set in `bt_ctlr_set_public_addr` to "01, 0x02, 0x03, 0x04, 0x05, 0x06", and compile and execute `west flash`.

    4. It can be seen that the actual broadcast address has been set successfully, but the ID0 address in `SETTING` is still "01, 0x02, 0x03, 0x04, 0x05, 0x07".

    5. The phone reconnects and initiates a bond request, but it fails.

    3463.peripheral_uart.zip

Reply
  • Hi,

     To supplement my requirements:

        1. Multiple broadcast IDs are needed, e.g., ID1 ID2

        2. ID1 needs to be a public address that can be dynamically modified.

        3. ID2 needs to be a random address that can be dynamically modified.


     Add my testing project. Test process:

    1. Execute `west flash --recover` to flash the application. The actual broadcast address is "01, 0x02, 0x03, 0x04, 0x05, 0x07", and the address type is public.

    2. The Android phone initiates a bond request via the NRF Connect tool. The development board accepts by pressing button 0, and the pairing is successful.

    3. Modify the address set in `bt_ctlr_set_public_addr` to "01, 0x02, 0x03, 0x04, 0x05, 0x06", and compile and execute `west flash`.

    4. It can be seen that the actual broadcast address has been set successfully, but the ID0 address in `SETTING` is still "01, 0x02, 0x03, 0x04, 0x05, 0x07".

    5. The phone reconnects and initiates a bond request, but it fails.

    3463.peripheral_uart.zip

Children
No Data
Related