Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

fast pair connects but fails to add to find my device

I am using Zephyr 2.9.0 with the sdk-nrf repo v2.9-branch checked out. The locator_tag sample builds without issue and flashes to the nRF54L15-PDK without issue. I have a Moto G 5G that I am testing with, and have it set up in developer mode as well as having "include debug results" enabled. My google account is registered with the developer program.

When I boot the dev board with the locator_tag firmware, I get the half-screen "connect" dialog, and when I tap connect I see it interact with the dev board. The "use responsibly" dialog comes up, but I see that the dev kit has already been disconnected, and tapping "agree and continue" briefly shows something I cannot see because it is so fast, then the "issue connecting" dialog comes up saying "check your internet and Bluetooth connections, then try connecting to the Find My Device again." Trying again just waits forever.

On the devkit console I see the following. Note that *all* of this is printed before I tap on "agree and continue", and nothing is printed afterward. It seems like whatever fast pairing is happening is not getting written to the device, since a reboot of the devkit just does the same again.

What am I missing? I have tried several times, and also tried with an nRF52840 dev kit as well with the same results.

*** Booting NCS locator tag v2.9.0-eaae5ac184e9 ***
*** Using nRF Connect SDK v2.9.0-eaae5ac184e9 ***
*** Using Zephyr OS v3.7.99-1f8f3dc29142 ***
I: Starting Bluetooth Fast Pair locator tag example
I: DFU: Firmware version: 2.9.0+0
I: 7 Sectors of 4096 bytes
I: alloc wra: 0, e60
I: data wra: 0, b0
I: SoftDevice Controller build revision:
I: 79 a3 10 be e6 80 b7 e9 |y.......
I: a3 ba cc a9 fc 08 66 12 |......f.
I: 90 cf 45 a9 |..E.
I: HW Platform: Nordic Semiconductor (0x0002)
I: HW Variant: nRF54Lx (0x0005)
I: Firmware: Standard Bluetooth controller (0x00) Version 121.4259 Build 3078678206
I: No ID address. App must call settings_load()
I: Bluetooth initialized
I: Identity[0]: E8:66:EE:5F:C6:47 (random)
I: Identity[1]: F2:33:78:AF:BC:D0 (random)
I: HCI: version 6.0 (0x0e) revision 0x309a, manufacturer 0x0059
I: LMP: version 6.0 (0x0e) subver 0x309a
I: Settings loaded
I: FMDN: setting battery level to 100 %
I: FMDN level: Normal
I: DULT level: Full
I: Performing reset to factory settings...
I: Factory Reset: resetting Bluetooth identity within the factory reset
I: Reset to factory settings has completed
D: FMDN State: TX power set to 0 [dBm]
D: FMDN State: enabled
D: Motion detector is not running: owner nearby
I: DULT enabled
D: Fast Pair is enabled
I: Fast Pair: prepared the advertising set
I: Fast Pair: fp_adv module enabled
I: SI: Fast Pair: RPA expired
I: Fast Pair: setting RPA timeout to 777 [s]
ample has started
I: FMDN: state changed to unprovisioned
I: The device has been reset to factory settings
I: Please press a button to put the device in the Fast Pair discoverable advertising mode
I: Fast Pair: advertising request from trigger "ui": enable
I: Fast Pair: advertising: enabling
I: Fast Pair: advertising in the discoverable mode
I: Connected
D: Key-based Pairing write: res=80 conn=0x20002780
D: Account Key stored
I: Fast Pair: Account Key write
I: Fast Pair: advertising request from trigger "fmdn_provisioning": enable
I: Fast Pair: advertising: enabling
I: Fast Pair: automatically switched to non-discoverable advertising mode
I: Fast Pair: advertising inactive due to an active connection
D: Account Key write: res=16 conn=0x20002780
D: Beacon Actions GATT Read Request
D: Beacon Actions: challenge-response enabled for the next write:
D: ec bb 0e 43 12 2d 6b cc |...C.-k.
D: Beacon Actions read: res=9 conn=0x20002780
I: Beacon Actions CCCD write, handle: 0, value: 0x0001
D: Beacon Actions GATT Write Request:
D: 01 08 63 ed f0 7a 01 9e |..c..z..
D: 40 c1 |@.
D: Beacon Actions: consuming random nonce read operation
D: Beacon Actions response:
D: 01 09 7e ab ee 8f 15 d6 |..~.....
D: 0b 68 02 |.h.
D: Beacon Actions write: res=10 conn=0x20002780
I: Beacon Actions CCCD write, handle: 0, value: 0x0000
I: Disconnected (reason 19)
I: Fast Pair: advertising in the non-discoverable mode
I: Connected
D: Beacon Actions GATT Read Request
D: Beacon Actions: challenge-response enabled for the next write:
D: 8b 29 5c 01 10 0e 63 c2 |.)\...c.
D: Beacon Actions read: res=9 conn=0x20002780
I: Beacon Actions CCCD write, handle: 0, value: 0x0001
D: Beacon Actions GATT Write Request:
D: 01 08 6c 9f d9 ff bb f2 |..l.....
D: 21 42 |!B
D: Beacon Actions: consuming random nonce read operation
D: Beacon Actions response:
D: 01 09 1c 9d b5 7d b3 74 |.....}.t
D: c3 37 02 |.7.
D: Beacon Actions write: res=10 conn=0x20002780
I: Beacon Actions CCCD write, handle: 0, value: 0x0000
I: Disconnected (reason 19)
I: Fast Pair: advertising in the non-discoverable mode

Parents
  • Hi andrew-identita,

    I am using Zephyr 2.9.0 with the sdk-nrf repo v2.9-branch checked out.

    This is a little strange description of an SDK. How did you install this?

    Since this is about an unmodified sample, I would like to reproduce and test this myself, but I am missing some prerequisites. Could you please try again with a specific release of the nRF Connect SDK? There are a few ways to install it, described here: Installation.

    Hieu

Reply
  • Hi andrew-identita,

    I am using Zephyr 2.9.0 with the sdk-nrf repo v2.9-branch checked out.

    This is a little strange description of an SDK. How did you install this?

    Since this is about an unmodified sample, I would like to reproduce and test this myself, but I am missing some prerequisites. Could you please try again with a specific release of the nRF Connect SDK? There are a few ways to install it, described here: Installation.

    Hieu

Children
  • This was a standard installation ... literally following the instructions you listed. when I say I am using the v2.9-branch, it just means that I'm using that specific branch (checking out the specific branch as described in the instructions).

    Building the firmware and flashing it was literally just navigating to nrf/samples/bluetooth/fast_pair/locator_tag and then running west zephyr-export, west build -b nrf52840dk/nrf52840 (or west build -b nrf54l15dk/nrf54l15/cpuapp for the nRF54L15 dev board) and then west flash

    I'm pretty sure I'm not doing anything weird to build the code.

  • It was a little odd to me that you are using the v2.9-branch instead of a fixed release. However, I checked the difference and there shouldn't be any impactful change between v2.9.1 and the current v2.9-branch head.

    I will try to reproduce and follow up with you in 1-2 working days.

  • Unfortunately, I cannot reproduce the issue with NCS v2.9.1. At the bottom is my log where the device can be added to my phone successfully, and I also tested the play sound feature successfully.

    We are unfortunately out of clue now. Can I ask you to test with NCS v2.9.1, and if that still failed, test with another phone?

    *** Booting NCS locator tag v2.9.1 - unknown commit ***
    *** Using nRF Connect SDK v2.9.1-60d0d6c8d42d ***
    *** Using Zephyr OS v3.7.99-ca954a6216c9 ***
    I: Starting Bluetooth Fast Pair locator tag example
    I: DFU: Firmware version: 2.9.1+0
    I: 3 Sectors of 4096 bytes
    I: alloc wra: 0, f00
    I: data wra: 0, 108
    I: SoftDevice Controller build revision: 
    I: 79 a3 10 be e6 80 b7 e9 |y.......
    I: a3 ba cc a9 fc 08 66 12 |......f.
    I: 90 cf 45 a9             |..E.    
    I: HW Platform: Nordic Semiconductor (0x0002)
    I: HW Variant: nRF52x (0x0002)
    I: Firmware: Standard Bluetooth controller (0x00) Version 121.4259 Build 3078678206
    I: No ID address. App must call settings_load()
    I: Bluetooth initialized
    I: Identity[0]: CF:62:58:24:0A:53 (random)
    I: Identity[1]: CA:D4:09:FF:C5:F7 (random)
    I: HCI: version 6.0 (0x0e) revision 0x109a, manufacturer 0x0059
    I: LMP: version 6.0 (0x0e) subver 0x109a
    I: Settings loaded
    I: FMDN: setting battery level to 100 %
    I:      FMDN level: Normal
    I:      DULT level: Full
    D: FMDN State: TX power set to 0 [dBm]
    D: FMDN State: enabled
    D: Motion detector is not running: owner nearby
    I: DULT enabled
    D: Fast Pair is enabled
    I: Fast Pair: prepared the advertising set
    I: Fast Pair: fp_adv module enabled
    I: Fast Pair: RPA expired
    I: Fast Pair: setting RPA timeout to 762 [s]
    I: Sample has started
    I: FMDN: state changed to unprovisioned
    I: Fast Pair: advertising request from trigger "ui": enable
    I: Fast Pair: advertising: enabling
    I: Fast Pair: advertising in the discoverable mode
    I: Connected
    D: Key-based Pairing write: res=80 conn=0x20002a28
    D: Account Key stored
    I: Fast Pair: Account Key write
    I: Fast Pair: advertising request from trigger "fmdn_provisioning": enable
    I: Fast Pair: advertising: enabling
    I: Fast Pair: automatically switched to non-discoverable advertising mode
    I: Fast Pair: advertising inactive due to an active connection
    D: Account Key write: res=16 conn=0x20002a28
    D: Beacon Actions GATT Read Request
    D: Beacon Actions: challenge-response enabled for the next write:
    D: d8 98 18 d9 b6 ef 99 6a |.......j
    D: Beacon Actions read: res=9 conn=0x20002a28
    I: Beacon Actions CCCD write, handle: 0, value: 0x0001
    D: Beacon Actions GATT Write Request:
    D: 01 08 2e f7 1d 4a 87 2a |.....J.*
    D: 78 c8                   |x.      
    D: Beacon Actions: consuming random nonce read operation
    D: Beacon Actions response:
    D: 01 09 3c 99 12 b6 61 6d |..<...am
    D: 6f f7 02                |o..     
    D: Beacon Actions write: res=10 conn=0x20002a28
    I: Beacon Actions CCCD write, handle: 0, value: 0x0000
    I: Disconnected (reason 19)
    I: Fast Pair: advertising in the non-discoverable mode
    I: Connected
    D: Beacon Actions GATT Read Request
    D: Beacon Actions: challenge-response enabled for the next write:
    D: 36 1a ec 6d 5b ab cd 5e |6..m[..^
    D: Beacon Actions read: res=9 conn=0x20002a28
    I: Beacon Actions CCCD write, handle: 0, value: 0x0001
    D: Beacon Actions GATT Write Request:
    D: 01 08 5d e6 44 49 e7 73 |..].DI.s
    D: 1a 03                   |..      
    D: Beacon Actions: consuming random nonce read operation
    D: Beacon Actions response:
    D: 01 09 ae 78 06 45 5c c9 |...x.E\.
    D: 1a 24 02                |.$.     
    D: Beacon Actions write: res=10 conn=0x20002a28
    I: Beacon Actions CCCD write, handle: 0, value: 0x0000
    I: Beacon Actions CCCD write, handle: 0, value: 0x0001
    D: Beacon Actions GATT Read Request
    D: Beacon Actions: challenge-response enabled for the next write:
    D: 43 12 b7 4f 04 6d be 8d |C..O.m..
    D: Beacon Actions read: res=9 conn=0x20002a28
    D: Beacon Actions GATT Write Request:
    D: 01 08 34 1d 62 4e ca ab |..4.bN..
    D: a6 99                   |..      
    D: Beacon Actions: consuming random nonce read operation
    D: Beacon Actions response:
    D: 01 09 03 1c a7 3a ce 2f |.....:./
    D: 76 0e 02                |v..     
    D: Beacon Actions write: res=10 conn=0x20002a28
    D: Beacon Actions GATT Read Request
    D: Beacon Actions: challenge-response enabled for the next write:
    D: 78 7d d8 a7 eb 12 d9 40 |x}.....@
    D: Beacon Actions read: res=9 conn=0x20002a28
    D: Beacon Actions GATT Write Request:
    D: 00 08 14 d9 6d ed 84 c1 |....m...
    D: 7c 87                   ||.      
    D: Beacon Actions: consuming random nonce read operation
    D: Beacon Actions: Beacon Parameters Read request: setting response TX power to -15 [dBm] encoded as 0xF1
    D: FMDN Clock: reading the last value: 8 [s]
    D: Beacon Actions response:
    D: 00 18 c8 7d ea a5 41 e1 |...}..A.
    D: bb 8f 29 1c b1 56 b4 b1 |..)..V..
    D: ea 4b 6b ad bf ac 7f ba |.Kk.....
    D: c3 80                   |..      
    I: FMDN: clock information synchronized with the authenticated Bluetooth peer
    D: Beacon Actions write: res=10 conn=0x20002a28
    D: Beacon Actions GATT Read Request
    D: Beacon Actions: challenge-response enabled for the next write:
    D: 8e 26 73 93 e5 ed 50 58 |.&s...PX
    D: Beacon Actions read: res=9 conn=0x20002a28
    D: Beacon Actions GATT Write Request:
    D: 02 28 da da a8 42 32 89 |.(...B2.
    D: 97 91 61 98 43 c0 88 35 |..a.C..5
    D: 27 88 b8 c8 67 eb b6 d3 |'...g...
    D: bb 67 dc 19 c2 f2 fa 02 |.g......
    D: 4e 48 d0 8f d3 9d a0 ae |NH......
    D: bf 2e                   |..      
    D: Beacon Actions: consuming random nonce read operation
    I: FMDN: state changed to provisioned
    I: Fast Pair: advertising request from trigger "fmdn_provisioning": disable
    I: Fast Pair: advertising request from trigger "ui": disable
    I: Fast Pair: advertising: disabling
    I: Fast Pair: automatically switched to disabled advertising mode
    I: Fast Pair: advertising inactive due to an active connection
    D: FMDN State: RPA expired
    D: FMDN Clock: reading the last value: 13 [s]
    D: FMDN State: calculating new rotation time: 1011 s + 12 s
    D: FMDN Clock: reading the last value: 13 [s]
    D: EID seed data:
    D: ff ff ff ff ff ff ff ff |........
    D: ff ff ff 0a 00 00 00 00 |........
    D: 00 00 00 00 00 00 00 00 |........
    D: 00 00 00 0a 00 00 00 00 |........
    D: EIK:
    D: de a3 d2 a3 11 5f 7e 46 |....._~F
    D: 99 05 f9 76 d3 be c1 4e |...v...N
    D: 1f 62 39 8f 6f 0e e0 e4 |.b9.o...
    D: 67 8e a5 bc 9f 5b 13 91 |g....[..
    D: Encrypted EID seed data:
    D: b3 42 fa 56 93 a3 59 15 |.B.V..Y.
    D: 3d ab 40 58 12 f7 41 f7 |[email protected].
    D: c7 1f e0 e5 b4 b9 82 be |........
    D: 58 47 a6 9e b7 f8 9d d6 |XG......
    D: EID:
    D: 4a ad 60 f4 fb 00 eb d6 |J.`.....
    D: 92 44 ae 99 8a ca ed 5c |.D.....\
    D: 80 bd 2e 23             |...#    
    D: FMDN State: Hashed Flags byte:
    D:      Bitmask:        0x02
    D:      Hash:           0x3B
    D:      Final value:    0x39
    D: FMDN State: FMDN Frame type: 0x40
    D: FMDN State: rotating advertising payload
    D: FMDN State: next rotation in 1023 [s]
    I: Fast Pair: RPA expired
    I: Fast Pair: the last timeout has occurred 13 [s] ago
    D: FMDN State: forcing advertising payload rotation
    D: FMDN State: advertising started
    D: FMDN State: Successful provisioning of the EIK
    D: Beacon Actions response:
    D: 02 08 c8 f4 15 2e 8c 42 |.......B
    D: f5 73                   |.s      
    D: Beacon Actions write: res=42 conn=0x20002a28
    I: Beacon Actions CCCD write, handle: 0, value: 0x0000
    I: Disconnected (reason 19)
    I: Fast Pair: advertising in the disabled mode
    I: Connected
    D: FMDN State: peer connected
    D: FMDN State: advertising started
    I: Beacon Actions CCCD write, handle: 0, value: 0x0001
    D: Beacon Actions GATT Read Request
    D: Beacon Actions: challenge-response enabled for the next write:
    D: 0c b0 b7 a9 cc 0d 2c 78 |......,x
    D: Beacon Actions read: res=9 conn=0x20002af8
    D: Beacon Actions GATT Write Request:
    D: 05 0c 1b 9d c4 96 d0 fd |........
    D: bd e1 ff 02 58 00       |....X.  
    D: Beacon Actions: consuming random nonce read operation
    I: FMDN: starting ringing action with the following parameters:
    I:      Source:         Bluetooth GATT FMDN
    I:      Components:     Right=active, Left=active, Case=active (BM=0xFF)
    I:      Timeout:        600 [ds]
    I:      Volume:         Default (0x00)
    D: Beacon Actions response:
    D: 05 0c 45 ab 7c 88 e5 b8 |..E.|...
    D: 10 e0 00 07 02 58       |.....X  
    D: Beacon Actions write: res=14 conn=0x20002af8
    D: Beacon Actions GATT Read Request
    D: Beacon Actions: challenge-response enabled for the next write:
    D: 45 01 d4 52 b0 d3 38 97 |E..R..8.
    D: Beacon Actions read: res=9 conn=0x20002af8
    D: Beacon Actions GATT Write Request:
    D: 05 0c 01 3f 32 b2 40 7d |...?2.@}
    D: a7 61 00 00 00 00       |.a....  
    D: Beacon Actions: consuming random nonce read operation
    I: FMDN: stopping the ringing action on GATT request
    I:      Source: Bluetooth GATT FMDN
    D: Beacon Actions response:
    D: 05 0c 37 33 8d 44 46 fe |..73.DF.
    D: e2 a3 04 00 00 00       |......  
    D: Beacon Actions write: res=14 conn=0x20002af8
    I: Beacon Actions CCCD write, handle: 0, value: 0x0000
    I: Disconnected (reason 19)
    

Related