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.

[参考译文] WL1835MOD:外设删除远程设备后、LE 长期密钥请求否定性回复

Guru**** 2522770 points
Other Parts Discussed in Thread: WL1835MOD

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/898053/wl1835mod-le-long-term-key-request-negative-reply-after-peripheral-delete-remote-device

器件型号:WL1835MOD

您好!

我在尝试从 iPhone (中央)修复到外设时遇到问题。 从外设中删除 iPhone 后、iPhone 无法连接到外设。 断开连接后、我将移除远程 iPhone 设备。 iPhone 仍然具有外设(WL1835MOD)信息(在设置->蓝牙->我的设备中)。 但外设(WL1835MOD)已擦除 iPhone 器件。 当尝试重新连接时、它会自动断开连接。

我希望实现以下目标:

1.在外设上只接受一个配对的器件(WL1835MOD)
2.当另一个设备与外设配对时、移除外设上先前配对的设备(WL1835MOD)

这是我的设置:

WL1835MOD (外设)

Apple iPhone 7 iOS 13.4.1 (中央)

我使用的是 bluetopia GATM 服务器示例、这是我配置外设的方法:

/SS1BTPM 和

/LinuxGATM_SRV

初始化1

SetDevicePower 1.

DeleteRemoteDevices 0 (确保远程设备列表为空)

注册器身份验证1.

注册表 GATTCallback 1.

ChangeLEPairingParameters 1 1 1 0 0 0

I/O 功能:1 =显示是/否
粘合类型:1 =粘合
MIPTM 要求:1 =是
SC 使能:0 =否
P256DebugMode:0 =否
OOB 支持:0 =否
按键:0 =否

EnableSCOnly 0

RegisterService 0 (注册样本中的第一个服务。 第一个特征包含一个 GATM_SECURITY_PROPERTIFITY_Authenticated、encryption_write、它将在中央触发配对请求)。

StartAdvertising 0x36 1234


0x00000002 -可发现
0x00000004 -可连接
0x00000010 -广告名称
0x00000020 -通告 Tx 电源

在 iPhone 上、我使用 NRF Connect 或 BLE Hero 连接到 WL1835MOD 器件。

连接后、我将写入第一个特征以触发配对请求。 我在 iPhone 上输入 PIN、配对成功。 我等待几秒钟、然后在 iPhone 上断开连接。

在 WL1835MOD 上、我将执行以下操作:

删除 RemoteDevices 0    ,以便删除所有远程设备

然后、我再次开始广播:

StartAdvertising 0x36 1234

在 iPhone 上、我仍将 WL1835MOD 器件保存在 Settings -> Bluetooth -> My devices 中

然后、我尝试连接到外设、我在 iPhone 上收到此错误:

ConnectionAttempFled ErrorDomain=CBATTErrorDomain Code=14 "Peer removed pairing information"

我已将调试日志保存为 FTS 文件格式、并使用 Wireshark 打开该日志、这就是我在尝试重新连接时获得的结果:

如您所见、WL1835Mod 不再具有 LE 长期密钥、iPhone 无法连接到外设。 我不希望用户转到 iPhone 设置、要求他选择设备并执行"忘记此设备"操作。

我对多台 Android 手机执行了相同的测试、但我没有遇到此问题。

我想知道这一问题对于 iPhone 是否正常、如何解决? 谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的详细博文。 我正在努力获取重现您的问题所需的硬件、我将在本周结束之前回复您。

    此致、

    Michael

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Michael、

    感谢您研究这个问题。 我对不同的外设进行了一些测试、这些设备就像外设:Raspberry Pi 3和 Android 手机。 iPhone 充当中央设备。 我面临着同样的问题。

    1. iPhone 连接到外围设备

    2.将外围设备与中央设备配对

    3.断开 iPhone 连接

    4.删除外围设备上配对的 iPhone

    5.外设再次广播

    6. iPhone 尝试连接到外围设备,但失败。 错误为:"对等设备已删除配对信息"

    因此、我认为问题是在外设上删除配对信息时 iPhone 的行为。 我认为这不是一个错误、而是一个功能。 如果您发现了其他东西、请告诉我。

    此致、

    Benoit

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Benoit、

    感谢您再次查看您的调查结果。 正如您提到的、这似乎是 iOS 的一项功能。 在此主题上还有更多的技术讨论、您可以参考:

    https://e2e.ti.com/support/wireless-connectivity/bluetooth/f/538/t/649415?TI-SDK-1-40-00-45-Crash-when-re-pairing-with-a-peer-device-that-lost-or-removed-its-bonding-keys-still-exists

    但要点是、如果 LE 密钥从外设中擦除、则进入 iphone 的设置以手动擦除配对信息是防止欺骗攻击的一个安全步骤。

    此致、

    Michael