Re: Where in the code is a BLE connection accepted?

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

 



Hi Gilles,

On Fri, Nov 21, 2014 at 8:12 PM, Arman Uguray <armansito@xxxxxxxxxxxx> wrote:
> Hi Gilles,
>
>> On Fri, Nov 21, 2014 at 12:03 AM, Gilles Grégoire <gilles.gregoire@xxxxxxxxx> wrote:
>> Hi,
>>
>> I am trying to understand how a BLE connection is established between
>> my embedded system and an Android phone. I am using bluez 5.9 on a
>> 3.12 kernel on this embedded system; with a CSR chipset.
>>
>> I set up bluetooth using:
>> hciconfig hci0 reset
>> hciconfig hci0 noscan
>>
>> Then, I use hcitool to set the advertisement and scan data, and I
>> enable a connectable advertisement with
>> hcitool -i hci0 cmd 0x08 0x000a 01
>>
>> I am _not_ using bluetoothd.
>>
>> With this simple setup, I can connect with an Android phone to my
>> embedded system.
>> I check it with:
>> hcitool -i hci0 con
>>
>> Which reports one active connection.
>>
>> I had a look at the hciconfig and hcitool source code (the only tools
>> I used to setup bluetooth), but could not find where a connection is
>> accepted.
>>
>> My question is: where (in the code) is the connection accepted in the
>> first place?
>>
>> Thanks!
>>
>> -- Gilles
>>
>> PS: my excuses for this repost. I realized that I forgot to set a
>> subject for the initial version of this e-mail sent on this list
>> yesterday.
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
> If you're using just hcitool (and someone correct me if I'm wrong)
> then the kernel will accept the connection but won't magically hand it
> over to userland unless someone is listening for incoming connections.
> For that you would have to create an L2CAP socket and listen on it.
> Once a connection is accepted then you can use the returned socket
> just as you would with any UNIX socket over which you can exchange
> data.
>
> You can look at tools/btgatt-server.c for an example of listening for
> incoming LE L2CAP connections on the ATT channel.
>

Or you can use l2test if its possible for you. It would go probably like this:

l2test -r -V le_public -J 4


> Thanks,
> Arman

\Łukasz

> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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