Periodic Advertising Sync Transfer (PAST) Peripheral issue

Hi, 

My configuration is as follow : 

NCS : 2.2.0

DK : nrf52833DK (pca10100)

Dev environnement :Ubuntu 20.04

IDE : visual studio code with NCS plugin

I'm trying to develop some behaviors based on PAST (Periodic Advertising Sync Transfer) procedure and to start I used peripheral_past example in zephyr samples.

But when I tried to compile it, there was this undefended reference error to 'bt_le_per_adv_sync_transfer_subscribe' as shown below.

I didn't change anything in the example !

Do you have any idea for this issue ?

Thank you.

Parents Reply Children
  • Hi  ,

    Indeed the new version of NCS 2.4.0 fixes a lot of stuff for periodic advertising Sync Transfer including my issue (2) of my previous message. But the issue (1) with the scenario (1-b) isn't fixed yet, I got the error -5 with opcode : 0x205a (HCI_LE_Periodic_- Advertising_Sync_Transfer) and status :0x1A (<wrn> bt_hci_core: opcode 0x205a status 0x1a)

    The status 0x1a (UNSUPPORTED REMOTE FEATURE) indicates that remote doesn't support the PAST feature which is  very surprising because int the (scenario 1-a) it works well, it seems that the order of operations (connection and periodic sync) is very important. I checked in the core specification 5.4 about the order of connection and periodic sync and it is not mentionned, it just said that a valid connection should be in progress when transfering the periodic advertising !

    The scenario 1-b is very important in our case, do you have any idea why it doesn't work in scenario 1-b ?

    Thank you

  • Hi,

    I checked with our Bluetooth controller team, and they said the HCI UNSUPPORTED REMOTE FEATURE error is raised if you try to send a PAST from the connected callback before the feature exchange has been completed. So, the solution should be to wait for the feature exchange to be completed. You can register the remote_info_available callback to get notified of this.

  • Hi  ,

    Right, when I add  remote_info_available callback and wait for the feature exchage, the PAST works well with scenario 1-b, that  is a good news.

    I have one last question,  can the central PAST receive callback when using bt_le_per_adv_sync_transfer() method to indicate that the peripheral PAST has synced with the periodic adv ? I want to transfer more than one periodic adv, and I need to know when the peripheral synced with the first before transferring the second one.

    Thank you

  • Hi,

    Unfortunately, the PAST procedure doesn't provide any feedback to the sender about a sync being successful. A workaround could be waiting for more than 6 PA intervals on the sender to be sure the receiver has synced (or timed out trying).

    Best regards,

    Vidar

  • Hi,

    Indeed it is a good idea for a workaround, do you think that in future evolution of NCS/Zephyr, a native callback in central PAST of received sync from peripheral PAST will be added ? 

    In any case, thank you a lot for your support   

Related