Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NimBLE client cannot reconnect to bonded peer when both devices use RPA. #10

Closed
h2zero opened this issue Apr 27, 2020 · 2 comments
Closed

Comments

@h2zero
Copy link

h2zero commented Apr 27, 2020

Easy to reproduce, if a NimBLE client device enables RPA and bonds with a peripheral using RPA they will connect and pair/bond. However if one of them disconnects, the client will try to reconnect using the peripheral ID address, which the peripheral does not respond to.

Commenting out this section resolves the issue but does not allow the client/app to obtain the peer ID address for identification.

@prasad-alatkar
Copy link

prasad-alatkar commented Apr 29, 2020

Hi @h2zero Thank you for the issue and fix. I could observe the issue and yes it gets resolved with removing code block wherein we replace the peer_addr in ADV_REPORT with its stored Identity address. This should be handled in BLE_HCI_LE_SUBEV_ENH_CONN_COMPLETE. Can you please update existing PR(#7) with this fix as additional commit ?

but does not allow the client/app to obtain the peer ID address for identification.

I could not face this issue. I could see ID addresses being updated in LE connection complete event. Please let me know if I am missing anything.

@h2zero
Copy link
Author

h2zero commented Apr 29, 2020

What I meant by that was in the scan discovery event the client would not be able to identify the peer by ID address.

For instance if connection is lost and we were trying to reconnect. While scanning for that device it may have changed its advertising address and if we don’t resolve it to an ID we wouldn’t know if it’s the correct device.

I assume that’s the reason the code exists?

dhrishi pushed a commit that referenced this issue May 20, 2020
dhrishi pushed a commit that referenced this issue May 20, 2020
dhrishi pushed a commit that referenced this issue May 28, 2020
mahavirj pushed a commit to mahavirj/esp-afr-sdk that referenced this issue Jun 1, 2020
… (backport v3.3)

Change list:
- Reduces the size of the compiled binary, PR: espressif/esp-nimble#6
- Null pointer check, PR: apache/mynewt-nimble#701
- Pairing procedure abort on unexpected req: apache/mynewt-nimble#710
- Fix conn flags after pairing: apache/mynewt-nimble#730
- Remove notification for update process timeout (Vol 6, Part B, section 5.2 ):
  apache/mynewt-nimble#782
- CCCD fix : apache/mynewt-nimble#790 and
  apache/mynewt-nimble#804
- Host based Privacy (RPA) fix: espressif/esp-nimble#7

 Closes espressif/esp-nimble#10

 Closes espressif/esp-idf#4413
espressif-bot pushed a commit to espressif/esp-idf that referenced this issue Jun 15, 2020
… (backport v4.0)

Change list:
- Reduces the size of the compiled binary, PR: espressif/esp-nimble#6
- Null pointer check, PR: apache/mynewt-nimble#701
- Pairing procedure abort on unexpected req: apache/mynewt-nimble#710
- Fix conn flags after pairing: apache/mynewt-nimble#730
- Remove notification for update process timeout (Vol 6, Part B, section 5.2 ):
  apache/mynewt-nimble#782
- CCCD fix : apache/mynewt-nimble#790 and
  apache/mynewt-nimble#804
- Host based Privacy (RPA) fix: espressif/esp-nimble#7

 Closes espressif/esp-nimble#10

 Closes #4413
projectgus pushed a commit to espressif/esp-idf that referenced this issue Jul 22, 2020
… (backport v4.1)

Change list:
- Reduces the size of the compiled binary, PR: espressif/esp-nimble#6
- Null pointer check, PR: apache/mynewt-nimble#701
- Pairing procedure abort on unexpected req: apache/mynewt-nimble#710
- Fix conn flags after pairing: apache/mynewt-nimble#730
- Remove notification for update process timeout (Vol 6, Part B, section 5.2 ):
  apache/mynewt-nimble#782
- CCCD fix : apache/mynewt-nimble#790 and
  apache/mynewt-nimble#804
- Host based Privacy (RPA) fix: espressif/esp-nimble#7

 Closes espressif/esp-nimble#10

 Closes #4413
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants