CBATTErrorDomain Code=14 "Peer removed pairing information"

Hi,


I have been working with CoreBluetooth for a while now and I've never run into this error before. This error occurred when I tried connecting to my desired peripheral. I've pasted the error message below:


Domain=CBATTErrorDomain Code=14 "Peer removed pairing information" UserInfo={NSLocalizedDescription=Peer removed pairing information}


I've tried to connect with the peripheral using a third-party app on the Android platform, and it works fine. However, third-party application on iOS isn't able to connect to this peripheral. It timeout when connecting on the iOS platform with the third-party app.


I'm not sure what the source of this error is, or how to go about solving this error?


Thanks!

Replies

Hi,

I have the same issue, did you figure out a solution?

I found out that if the iOS device is paired to the peripheral (in the Bluetooth settings) when I try to connect to the peripheral using CoreBluetooth, I get the error, But If you unpair the peripheral from the settings, I don't get the error anymore.

I hope this help!

Thanks!

  • I know this thread is very old, but it helped me today. So it can help others later. I had the same problem on a Macbook Pro, and the solution was the same. So it's not exclusive to IOS.

Add a Comment

Is this error new in iOS 13.4.1?


I just updated iOS and saw this error for the first time.


It seems to happen when iOS has been paired with the peripheral, but the peripheral does not currenly have the correct (or any) pairing data. And, for me too, the solution is to Forget it in Settings/Bluetooth and re-pair.


Before I updated iOS, the iPad would just fail to communicate in this state, with no apparent error.


There are other posts online where the friendly [!] error text was apparently "Unlikely error".


I wonder if it is technically possible for the central to ignore the issue and re-pair with the peripheral, but iOS chooses not to because the peripheral may not have the pairing data because it's an impostor.

I have the same problem. Is there a solution?
The problem steps:
  1. The mobile phone system is IOS13.4.1 or above.

  2. In normal mode, bluetooth peripherals are paired with mobile phones to communicate

  3. Send DFU instructions in normal mode

  4. The Bluetooth device enters DFU mode and the Bluetooth is disconnected

  5. The connection failure will be prompted if the bluetooth peripheral is connected to the DFU mode of the mobile phone: Peer removed pairing information

That's the problem at the moment. This situation can cause the device to be in DFU state and cannot be upgraded
Hi,

I have the same problem that once I powered off and on my earbuds, iPhone(iOS 13.5.1) is not able to reconnect on nRF Connect anymore, but I don’t see this issue on iPhone(iOS 13.3.1).

The only way to fix this issue is to forget the earbuds on BT list and repair them again which doesn’t make any sense.

Does anyone have a solution yet?

Thanks
As some have guessed correctly, this is a new error condition which was introduced in order to let the apps know that the remote accessory has lost the pairing keys, and this device will no longer connect to it unless the user forgets the device from Settings first.

Before this, the connections would silently fail. This is by design to prevent an impostor accessory requesting a new pairing key, pretending to be a previously paired device which forgot the pairing key, and maliciously or accidentally pair to your device.

Along with the introduction of this error, the security around this issue was also further tightened, so you may encounter this state more frequently now than before.


Hello,I’d like to get attention to the problem. On iOS 14 after some successful connections, I got the mentioned error.

So my question is, what is the reason for removing pairing information? It occurred once after update iOS.
What in case if the issue will occur again?
As far as I see, the only solution is to tell users to go to system settings to unpair a peripheral device. If the issue occurs rarely, I am willing to accept that, but my app requires being constantly in touch with Bluetooth peripheral device, and everything requiring user action decreases my product value.

I can’t accept that if an error occurs more frequently than once per 1000 connections attempts, so I hope the solution to repair peripheral device programmatically without user action exists.
  • hello, I am also having the same problem. Was there a way to solve the problem without requiring the user to operate the system? (Sorry if my English is wrong.)

  • Did you end up finding a workaround?

Add a Comment
The first answer "go to system settings to unpair a peripheral device" it work for me.

Did any one end up finding a workaround that's not a manual unpairing?