• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: BLE disconnect on heavy WiFi
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: BLE disconnect on heavy WiFi


  • Subject: Re: BLE disconnect on heavy WiFi
  • From: Spero Koulouras <email@hidden>
  • Date: Fri, 20 Dec 2013 08:24:32 -0800

See the Apple Bluetooth Design Guidelines for details. Your peripheral will need to send a connection parameter update request. Many devices that implement both BLE and WiFi use a hardware-based "Coexistence" feature built in to the BLE module, but it sounds like in your case you will need to treat the BLE and WiFi components as completely separate devices since you don't have a physical connection between them. 

--- Clipped without permission from Apple Bluetooth Design Guidelines ---

3.6 Connection Parameters

The accessory is responsible for the connection parameters used for the Low Energy connection. The accessory
should request connection parameters appropriate for its use case by sending an L2CAP Connection Parameter
Update Request at the appropriate time. See the Bluetooth 4.0 specification, Volume 3, Part A, Section 4.20 for
details. The connection parameter request may be rejected if it does not comply with all of these rules:

 ● Interval Max * (Slave Latency + 1) ≤ 2 seconds
 ● Interval Min ≥ 20 ms
 ● Interval Min + 20 ms ≤ Interval Max 
 ● Slave Latency ≤ 4   << NB: The Apple spec has a typographic error here >>
 ● connSupervisionTimeout ≤ 6 seconds
 ● Interval Max * (Slave Latency + 1) * 3 < connSupervisionTimeout

If Bluetooth Low Energy HID is one of the connected services of an accessory, connection interval down to
11.25 ms may be accepted by the Apple product. The Apple product will not read or use the parameters in the Peripheral Preferred Connection Parameters characteristic. See the Bluetooth 4.0 specification, Volume 3, Part C, Section 12.5.

---------------------

A spectrum analyzer is a nice tool to have. Lacking one, think about purchasing an inexpensive WiFi access point from Ubiquiti, such as the NanoStation Loco M2 for under $50. See the data sheet for a short description of their built-in spectrum analyzer that is designed specifically for identifying interference. Not perfect, but maybe the best tool you can get for the money.


Spero Koulouras  (408) 874-6331


On Thu, Dec 19, 2013 at 10:13 PM, Rick Mann <email@hidden> wrote:

On Dec 19, 2013, at 21:53 , Spero Koulouras <email@hidden> wrote:

> 3.1s of heavy WiFi could push you over the supervision timeout of your link layer. Time to get that USB Dongle and the TI packet sniffer going :).  If you have access to the code, check and see what the connection supervision timeout is set to.

You're probably right about that :-)

I have access to both the iOS code, and the code on the peripheral side. Who sets the link supervisory timeout for a connection? I don't see any way to set that in iOS.

On our peripheral, BLE and Wi-Fi are two separate devices (Wi-Fi is a USB dongle, BLE is connected to the processor via serial). We don't do any special coordination between the two, although most of the time BLE is just maintaining the connection.

(Our real problem is that our Wi-Fi connection is dropping frequently, in the the peripheral stops responding to the iPad app, or to other tools; BLE is not really expected to be a culprit in this case).

Anyway, how do I set the connection parameters? The Master or the Slave?

Thanks,

>
> Spero Koulouras  (408) 874-6331
>
>
> On Thu, Dec 19, 2013 at 9:40 PM, Rick Mann <email@hidden> wrote:
> I'm noticing pretty regularly that my BLE connection disconnects with 'Error Domain=CBErrorDomain Code=6 "The connection has timed out unexpectedly."' right after I transfer about 10 MB from my peripheral over Wi-Fi, which takes about 3.1 s to do.
>
> Is this the kind of interference behaviors others have been seeing?
>
>
> --
> Rick
>
>
>
>
>  _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Bluetooth-dev mailing list      (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Bluetooth-dev mailing list      (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden


--
Rick




 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Bluetooth-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >Re: BLE disconnect on heavy WiFi (From: Spero Koulouras <email@hidden>)

  • Prev by Date: Re: BLE disconnect on heavy WiFi
  • Next by Date: Testing Apple Notification Center Service
  • Previous by thread: Re: BLE disconnect on heavy WiFi
  • Next by thread: Can I make peripheral UUID unique?
  • Index(es):
    • Date
    • Thread