Re: Is it possible to change scan parameters for BT LE scans?
Re: Is it possible to change scan parameters for BT LE scans?
- Subject: Re: Is it possible to change scan parameters for BT LE scans?
- From: Jimmy Adler <email@hidden>
- Date: Wed, 09 Jan 2013 14:23:21 +0100
Hi Etan,
thanks for your answers!
I belive that I have found the issue. Using a PC for sniffing the packets I saw that the datalength of the packet was set to 17 bytes, while the packet only contained 16 bytes, so it is most likely the fault of the 3:rd party device which is sending the packet. I assume that IOS does not deliver the packet until it thinks all the data is available, which it will never be if there is to little payload in the data :)
Since I don't have insight in the code on the device I have forwarded my suspicion to my customer and they will handle the discussion with the 3:rd party supplier to correct the issue in the HW!
You did mention that there can be dynamic data in the scan response and that this will only be discovered once while in background mode.
I noticed that with another HW I tested with, when I had the scanning option set to "not allow duplicates", I would still get updated advertisment packets with the changed dynamic data after a couple of minutes when activating the HW again (controlled by accelerometer in the device) is this the same behavior that I should expect to see when running in the background, or will I never get the updates at all when running the app in the background?
Best regards,
Jimmy
On Jan 9, 2013, at 1:48 PM, Etan Kissling wrote:
> Jimmy,
>
> one more update for my last message:
>
> The only scanning option that you have on iOS is whether you want to receive multiple advertisements for the same device.
> If this is disabled, I'm not sure whether or not SCAN_RSP data is already included when the first advertisement is received.
> Note that background scanning will always only send the first advertisement for each device to your app.
>
> Regarding device name in SCAN_RSP data:
> A video of one of the projects I worked for in action, where the peripheral name is broadcasted as SCAN_RSP data, can
> be watched under the following link. Note how it takes several seconds for all the names to load, even after the peripheral
> has already been discovered.
> http://www.youtube.com/watch?v=uqGF-Mtja-E&feature=player_embedded
> (device list starts at 0:20)
>
> Etan
>
>
> On 09.01.2013, at 11:15, Etan Kissling <email@hidden>
> wrote:
>
>> You cannot specify scanning options on iOS using public APIs. However, iOS supports active scanning.
>>
>> Note that you should put static data in your scan_rsp part as additional packets have to be exchanged to retrieve them. Dynamic data should be put in your advertisement data.
>>
>> I have not tested it but it may be reasonable that iOS does not send a SCAN_REQ for each and every advertisement report of the same device. Also, as the SCAN_RSP data arrives at a later point in time than the original advertisement data, you may not see it at all.
>>
>> What I tested in the SCAN_RSP data until now is only a partial device name. This works perfectly (but is not available on the first received advertisement yet) and is overridden as soon as you connect to the device with the name stored in the GAP service.
>> As the name is managed by iOS, other rules may apply for custom SCAN_RSP data.
>>
>> I also suggest using the TI packet sniffer for ~50$ to see when the iphone actually sends these scan_req packets.
>>
>> Etan
>>
>> On 09.01.2013, at 09:59, "Jimmy Adler" <email@hidden> wrote:
>>
>>> I have an issue detecting kCBAdvDataManufacturerData from a 3:rd party device using BT LE. I get the kCBAdvDataLocalName advertisement, but not the one containing the Data.
>>>
>>> When using a PC testapplication I'm able to get the kCBAdvDataManufacturerData by setting the scan_interval to 10ms and scan_window to 10ms and using active scanning.
>>>
>>> Problem is that as far as I can see, these parameters are not accessible on the IOS device, or can the paramters be sent in when starting the scan using the options dictionary in some way?
>>>
>>> Is this problem solvable without having access to and altering the code in the device?
>>>
>>> Best regards,
>>>
>>> Jimmy
>>> _______________________________________________
>>> 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
>
_______________________________________________
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