Re: LE ADV data is lost after first connection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 10/06/2015 12:35 PM, Luiz Augusto von Dentz wrote:
> Hi Andrejs,
> 
> On Tue, Oct 6, 2015 at 10:04 AM, Andrejs Hanins <andrejs.hanins@xxxxxxxx> wrote:
>> Hi,
>>
>>         I'm on Bluez 5.35 + Kernel 4.1.6 using D-Bus LE Adv Manager to register my own advertisement structure (with service UUID). Everything works fine, I see my UUID is present in scan record (using Android Bluetooth LE Scanner or iOS Light Blue App). But scan record becomes empty (all zeros) after I connect/disconnect to the peripheral.
>>
>>         This issue, however, only present on Atheros AR3012 Bluetooth chip (USB vendor:product is 0cf3:3004) and not present neither on Broadcom BCM20705 nor on CSR. Based on btmon traces I see that after peripheral is disconnected, LE adv is enabled again using HCI "LE Set Advertising Parameters" and "LE Set Advertise Enable" commands which obviously do not set the adv data again.
>>
>>         My assumption is that BT chip is expected to keep LE adv data between re-connections, but Atheros AR3012 (at least the revisions we use) has a bug which erases Adv data after the connection is made.
>>
>>         Can someone confirm that my assumption is correct and workaround/quirk is needed for AR3012 or maybe there is something else may be wrong here?
>>
> 
> I guess it would be good if you attach the HCI logs, from the
> description it looks like the Atheros chip is misbehaving since LE Set
> Advertising Data Command is suppose to stay valid unless the
> controller is reset.
Attached. Frame 132 sets adv data followed by incoming connection.
> 
> 

Attachment: AR3012.cap
Description: application/vnd.tcpdump.pcap


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux