This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2642R: Multiple identical peripherals appears in MacOS when using RPA with public ID

Part Number: CC2642R
Other Parts Discussed in Thread: SYSCONFIG

Dear All
I'm using a multirole app with latest CCS, SDK based on CC2642R.

When the app runs as a peripheral role, using Public address mode works fine when connected MacOS central.
When connecting to win 10, only one peripheral works fine, the first connected peripheral is paired / bonded successfully, other identical devices are not able to pair (pair fails with reason 8).

I switched to RPA with public ID address mode, and now win 10 is able to connect to multiple peripherals, this address mode solves the issue on Win 10, anyway, when connecting to MacOS, it still works but when the peripheral is disconnected, the Mac lists multiple peripherals available while only one was connected.

I'm a bit stuck on that current behavior, any help would be greatly appreciated.
Thanks

  • Hey Jerome,

    Just to clarify, are you seeing the TI peripheral device show up multiple times on the MAC BLE list? Or are you seeing other devices around you on the list?

    I just want to verify this, as it's not uncommon that the Central device performs a scan to detect nearby devices (especially if the TI peripheral device is disconnected).

    Can you summarize what behavior you are expecting?

  • Hi 
    Thanks for your reply.
    My problem is when I use Public address mode in sysconfig general BLE configuration : I can pair / bond only one peripheral in Win 10, the next similar peripheral I try to pair / bound always fails, and I receive 0x08 as the pair state result.
    Sounds like win 10 is confused when using multiple similar peripherals using public addresses.
    I then switched to RPA with public ID in the sysconfig address mode -> This solves the win 10 issue.

    BUT

    RPA with public ID has a weird behavior when connecting a single peripheral on Mac OS, each time the peripheral is switched off/on, its BLE address changes and Mac OS sees this device as new device, even if it was previously paired / bounded.

    What am'I missing ?
    Thanks

  • UPDATE:

    I observe the same issue using the multirole example :

    1) Set Device Address to public.
    2) Connect device 1 (from dev board 1) to win 10 -> OK.
    3) Connect device 2  (from dev board 2) to win 10 -> FAIL.
    4) Delete device 1 in Win 10
    3) Connect device 2 to win 10 -> OK.

    How can we pair more than one device using public address in win 10 ?
    Thanks



  • Jerome,

    Thanks for sending the update; I was able to reproduce this on my Windows 10 PC version 1909 Build 18363.1082 (With Intel Bluetooth chipset on a HP Elitebook 840 G6). However, we can't necessarily control how Windows operates and searching around on the internet I found just a handful of reports of problems when connecting more than one BLE device to a Windows 10 host. 

    This thesis gains a bit more strength when I am able to connect and pair the same two boards with my Galaxy S9. Unfortunately my 2015 macbook pro does not feature BLE for me to try it out.

    By the way, I am using two different Device Names in order to minimize confusion, and I tried to connect with other boards running other clients as well (Project Zero, for example). The UART of both projects (the second Multi-Role and the Project Zero) indicate the attempt to connect, but ultimately Windows 10 times out and Project Zero reports error 8 (timeout).

    Teraterm said:

    #000037 [ 265.478 ] INFO: (project_zero.c:1438) Adv Set 0 disabled after conn 0
    #000038 [ 265.478 ] INFO: (project_zero.c:1230) Link establish event, status 0x00. Num Conns: 1
    #000039 [ 265.478 ] INFO: (project_zero.c:1243) Connected. Peer address: B8:9A:2A:8F:08:58
    #000040 [ 265.484 ] INFO: (project_zero.c:968) MTU Size: 247
    #000041 [ 265.485 ] INFO: (project_zero.c:1413) Adv Set 0 Enabled
    #000042 [ 265.530 ] INFO: (project_zero.c:1479) Pairing started
    #000043 [ 265.530 ] INFO: (project_zero.c:1479) Pairing started
    #000044 [ 265.781 ] INFO: (project_zero.c:1531) BondMgr Requested passcode. We are Displaying passcode 123456
    #000045 [ 271.874 ] INFO: (project_zero.c:1738) Update Failed 0x07: B8:9A:2A:8F:08:58
    #000046 [ 276.149 ] INFO: (project_zero.c:1489) Pairing fail: 8
    #000047 [ 276.240 ] INFO: (project_zero.c:1271) Device Disconnected!
    #000048 [ 276.240 ] INFO: (project_zero.c:1272) Num Conns: 0

    In this case, I am not entirely sure how to handle this from the Windows perspective - I am not aware that Windows handles two Bluetooth adapters and it may be highly dependent on the hardware you have available.

    Hope this helps,

    Rafael

  • Thanks for your test Rafael.
    This Windows issue disappears when using RPA address resolvable rather than using Public address.
    It seems Windows is not able to distinguish two different devices using Public addresses.

    BUT, the problem is when using RPA resolvable address on MacOS, the devices appears as a new device after each power cycle.