Connection error/loop using IOS central

I'm getting exactly the same as this ticket now I've switched to extended advertising. Was there any resolution?

Android is fine, iOS 18.5 phone sits in a connect/error/disconnect loop. I've tried with my own app and with nRF Connect app.

[00:20:07.866,281] <inf> app: Disconnected (reason: 62)
[00:20:07.866,307] <inf> app: BT Recycle
[00:20:07.866,324] <inf> remote: Starting Extended Advertising
[00:20:07.879,200] <inf> app: Connected.
[00:20:08.046,400] <wrn> bt_conn: conn 0x20002c08 failed to establish. RF noise?
[00:20:08.046,597] <inf> app: Disconnected (reason: 62)
[00:20:08.046,623] <inf> app: BT Recycle
[00:20:08.046,640] <inf> remote: Starting Extended Advertising
[00:20:08.052,527] <inf> app: Connected.

Here is my connect/disconnect code, nothing special here. Note I also get similar results with the advertiser sample, this gives "Disconnected, reason 0x3E" error.

 void on_connected(struct bt_conn *conn, uint8_t err)
 {
	int rc;
	if(err) {
		 LOG_ERR("connection err: %d", err);
		 return;
	 }
	 current_conn = bt_conn_ref(conn);
	 LOG_INF("Connected.");
 }
 
 void on_disconnected(struct bt_conn *conn, uint8_t reason)
 {
	 LOG_INF("Disconnected (reason: %d)", reason);
	 if(current_conn) {
		 bt_conn_unref(current_conn);
		 current_conn = NULL;
	 }
 }

Parents
  • Hello,

    Can you update to the latest iOS v26.1?

    Kenneth

  • I'd like to turn that question around - is this an issue known to iOS version(s)?

    I ask because this is a commercial project for on-street devices accessible to the general public, and restricting functionality to the latest iOS could potentially be quite detrimental.

    I'm a bit reticent at this stage to upgrade the phone as it will be a one-way journey from what I can see.

  • Hello,

    Sometimes interoperability issues occurs, and it's preferred that the issue is fixed on the peer that have the specific issue, rather than implementing workarounds that potentially limit the specification. So there is no immediate plans to change the implementation on our side no, but would be good to get confirmation also from you that the issue is fixed in v26.

    Kenneth

  • OK, but you sort of evaded my question. This is obviously known about, so do you have any indication at which point extended advertising (or to be specific, your implementation of it) becomes reliable? If at all.

    I did some web searching and it does seem like a general problem with iPhones although it's near impossible to quantify.

    I have iPhones 8,X,12pro for testing of which the 12pro is the only one upgradeable to iOS26. I don't want to upgrade this phone, so I'll need to obtain another and I'll post results when I do. 

    There is the consideration of using scan response instead of EA as I only need 20 bytes, but I recall looking at that a few years ago and there was an issue that iOS didn't use scan request when performing background scanning, but I don't know if that's still a thing.

Reply
  • OK, but you sort of evaded my question. This is obviously known about, so do you have any indication at which point extended advertising (or to be specific, your implementation of it) becomes reliable? If at all.

    I did some web searching and it does seem like a general problem with iPhones although it's near impossible to quantify.

    I have iPhones 8,X,12pro for testing of which the 12pro is the only one upgradeable to iOS26. I don't want to upgrade this phone, so I'll need to obtain another and I'll post results when I do. 

    There is the consideration of using scan response instead of EA as I only need 20 bytes, but I recall looking at that a few years ago and there was an issue that iOS didn't use scan request when performing background scanning, but I don't know if that's still a thing.

Children
Related