Re: Bluetooth: Is it possible to operate Bluez concurrent in central and peripheral role?

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

 



Hi Thomas,
On Fri, Oct 12, 2018 at 2:15 PM Eisenkolb Thomas
<Eisenkolb.Thomas@xxxxxxxxxxx> wrote:
>
> Hello Luiz,
>
> I have now tried the same procedure with my desktop linux pc instead of the embedded linux device.
> The result is the same but I think in the logs is now more useful information.
>
> It is also a Bluetooth 4.2 hardware but this time with an intel chipset.
>
> I have tried two cases(the same procedure as before).
>  1) first I established a connection from the smartphone to the desktop(desktop as peripheral device)
>  2) try to establish a connection from desktop to the sensor(desktop as central device) using the command "connect 88:...." in blutoothctl tool while the connection between smartphone and desktop is still established
>       The device was successfully discovered and is still available and waiting for connection.
>       a) desktop starts passive device scan.
>       b) sensor sends scan response.
>       c) after the scan response is received, desktop disables the device scan
>       d) no further action at hci interface(expected le connection attempt command)
>       e) bluetoothctl runs into timeout and logs "Failed to connect: org.bluez.Error.Failed"

Perhaps it is because of the following code in the kernel:

https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/tree/net/bluetooth/hci_event.c#n5082

Now I wonder it wouldn't be better to remove that line and just let
the controller reject it if it don't support connections while being a
slave.

> After that I disconnected the smartphone from the desktop and did the same as mentioned in point 2.
> The only difference in this case is that the connection attempt command is immediately sent after the passive device scan is disabled(point 2.c).
>
> Maybe this is more helpful than the last answer.
>
> Should I set any special flags that I get it to work?
>
> Thanks.
>
> Best Regards,
> Thomas Eisenkolb
>
> Hi Thomas,
> On Thu, Oct 11, 2018 at 10:18 AM Eisenkolb Thomas <Eisenkolb.Thomas@xxxxxxxxxxx> wrote:
> >
> > Hello,
> >
> > I am working with blueZ 5.50 on a linux embedded device with kernel 4.14.
> >
> > Now I have to implement a use case where the linux embedded device communicates as a central device with a few sensors through Bluetooth LE characteristics and at the same time it should advertise some data and accept at least one incoming connection from a Smartphone as a peripheral device for maintenance cases.
> >
> > I haven't found any information about blueZ is supporting both LE roles at the same time.
> > I have already tried it now for 2 days to get this use case to work and I found a few limitations for which I didn't find any solution.
> >
> > I was not able to advertise any data while my device had an active connection to a peripheral device.
> > Also while the Smartphone is connected to my embedded device(peripheral), I don't receive any advertised Data from any sensor and I cannot connect to any sensor.
> >
> > The Bluetooth Hardware Module which I am using on the embedded Linux System supports Bluetooth 4.2. From the Bluetooth Standard I have found that concurrent use of both Bluetooth Low Energy Roles should be supported since Bluetooth 4.1.
> >
> > Is it possible from blueZ Stack side to implement this use-case?
>
> BlueZ should work as dual roles already, if it doesn't there could bugs or the controller preventing commands to work properly.
>
> > If yes, can you give me some hints what I have to consider to get this case working?
>
> Do you have HCI logs of the problem(s)?
>
> > If no, have you got a timeline when it will be supported or is this no planned to implement in near future?
>
> Most of upstream effort is on mesh and updates to include 5.0 features, but dual-role is something that we might consider high priority if that is not working properly.
>
> >
> > Thanks for your answer,
> > Thomas
> >
> >
>
>
> --
> Luiz Augusto von Dentz



-- 
Luiz Augusto von Dentz




[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