使用经典 BT 和 BLE 与同一外围设备通信时出现“对等删除配对信息”错误

Posted

技术标签:

【中文标题】使用经典 BT 和 BLE 与同一外围设备通信时出现“对等删除配对信息”错误【英文标题】:"Peer removed pairing information" error when using both classic BT and BLE to communicate with same peripheral 【发布时间】:2020-09-08 09:52:27 【问题描述】:

我们的 ios 应用程序通过 BLE 与某些设备(英特尔 NUC)通信,写入某些特征。我们使用加密特征,在我们第一次写入特征时强制系统配对。

同一设备上的另一款软件正在使用经典 BT 来同步联系人(电话簿访问配置文件)并将音乐从 iPhone 流式传输到英特尔 NUC。这也需要系统配对(与 BLE 连接所需的配对分开)。

一旦设备为 BLE 和经典 BT 配置文件(两个单独的配对过程)配对,一切正常。当我们从系统 BT 设置中手动断开外围设备,或者更糟糕的是,将 iPhone 置于 NUC 设备的范围之外时,就会出现问题。设备在 BT 设置中保持断开连接,如果我们回来了,那么两个设备都在范围内。这应该不是问题,因为我们已配对进行 BLE 通信,因此我们应该能够连接当前断开连接但在范围内的设备。但是,当尝试通过 BLE 连接时,我们会收到错误消息:

Domain=CBATTErrorDomain Code=14 "Peer 已删除配对信息" UserInfo=NSLocalizedDescription=Peer 已删除配对信息

我们连接到 CBCentralManager.retrievePeripherals(:withIdentifiers) 方法返回的设备

一旦我们在系统 BT 设置中手动连接,一切都会恢复正常。

我们尝试使用 CBConnectPeripheralOptionEnableTransportBridgingKey 标志传递给 CBCentralManager.connect() 方法,但它变得更糟。经典 BT 配置文件的系统配对存在问题,即使我们设法以某种方式做到这一点,连接也会超过 BLE 超时。

知道问题的原因是什么吗?

【问题讨论】:

【参考方案1】:

在您的情况下,外围设备正在删除配对信息(由用户或从 BLE)。它可能与外围设备固件有关。此错误 "Domain=CBATTErrorDomain Code=14 "Peer removed pairing information" UserInfo=NSLocalizedDescription=Peer removed pairing information" 在 iOS (

示例:对等删除配对信息。打开蓝牙设置,在重新连接之前忘记设备等。否则用户会感到困惑。

【讨论】:

以上是关于使用经典 BT 和 BLE 与同一外围设备通信时出现“对等删除配对信息”错误的主要内容,如果未能解决你的问题,请参考以下文章

BLE 5 外围设备未在支持 BLE 5 的 Android 手机和 iPhone 上得到扫描

iOS8 - BLE 唤醒应用

Android和双模蓝牙设备:与BR / EDR(经典)配对时未找到自定义BLE服务

从设备到智能手机的BLE文件传输

如何在 bt 4.0 加密狗中禁用蓝牙经典

BLE广告和信标