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