|
查看: 6|回复: 0

[BLE SDK] 对端每次连接MAC都变,正常吗?

[复制链接]

145

主题

338

回帖

1584

积分

管理员

积分
1584
发表于 昨天 11:50 | 显示全部楼层 |阅读模式 来自 上海
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: -
SDK及版本: -
对端(如手机)每次连接时 MAC 地址都会变化,这是正常的吗?为什么?怎么获取对端真实的地址?

回答:

1、正常。如果对端使用了地址隐私(RPA,可解析随机私有地址),每次连接可以使用不同的地址,因此看起来 MAC 一直在变。

2、身份地址(identity address)不变:每个设备只有一个身份地址,在第一次配对时会交代给对端。IRK(身份解析密钥)也只有在第一次配对时才会交互,回连时不会再有 IRK 交互,也不会有 PAIRING_SUCCESS 事件。

3、地址对应关系
- peer_addr(连接时使用的地址):对端每次连接都可能变化(RPA);
- peer_id_addr(身份地址):固定不变,保存在 flash 的 SMP 配对记录中。

4、获取方法:首次配对成功时记录连接回调里的 MAC(与 flash 存储的 peer_addr 一致);后续回连需要身份地址时,用 SMP 配对记录中的 peer_id_addr 即可。回连时连接的地址变化不用关注。

5、如果对端未配对且使用随机地址,则无法获取其身份地址,这是 BLE 隐私机制的设计。

本版积分规则

关注公众号
隐私政策|Telink forum

相关侵权、举报、投诉及建议等,请发 E-mail:forum@telink-semi.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|沪ICP备17008231号-1 |沪公网安备31011502403548号

在本版发帖返回顶部