Hi Tõnis, On Thu, Mar 10, 2016 at 4:18 PM, Tõnis Tiganik <ttiganik@xxxxxxxxx> wrote: > Hi Luiz > >> On 10 Mar 2016, at 14:00, Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote: >> >> Hi Tõnis, >> >> On Thu, Mar 10, 2016 at 12:43 PM, Tõnis Tiganik <ttiganik@xxxxxxxxx> wrote: >>> Hello, >>> >>> We have an iPhone app that is acting as a peripheral and bluez connects to it. >>> >>> We do not receive properties changed signal from dbus that you would expect on device disconnection (Device.Connected = false) if we kill the iPhone app. We know the iPhone disconnects from bluez because the bluetooth icon goes from black to grey on the iPhone. We receive the connected=false signal if we turn the bluetooth off on the iPhone(keep the app alive) - in that case everything works correctly. >> >> Check the HCI traces if we don't receive a HCI Disconnect command then >> it is probably not disconnecting, btw I would imagine it perhaps >> wouldn't disconnect because there could be other users to GATT/ATT not >> just the app, in that case you would have to force a disconnect >> somehow. This btw matches the behavior of BlueZ as peripheral, if the >> app unregister its services (or is close by the user) the only thing >> that will happen is a service changed indication telling these >> services are no longer available, thus the central can know what has >> happened and take actions such as disconnecting if there are no >> profiles in use. > > I checked the HCI traces, it looks to me there is a Disconnect command both when I set the bluetooth off and kill the app. I dont know if this should be the case but reasons for command and event are different (0x13 and 0x16) > > < HCI Command: Disconnect (0x01|0x0006) plen 3 > handle 64 reason 0x13 > Reason: Remote User Terminated Connection > > HCI Event: Command Status (0x0f) plen 4 > Disconnect (0x01|0x0006) status 0x00 ncmd 1 > > HCI Event: Disconn Complete (0x05) plen 4 > status 0x00 handle 64 reason 0x16 > Reason: Connection Terminated by Local Host This is actually initiated by BlueZ according to the logs, and we do receive a Disconnect Complete so at this point it should be disconnected. Is there something printed in bluetoothd logs? > The traces are here: > http://pastebin.com/7ZwF5wkp > >> >>> What is weird is that we receive object-removed signal for all of the bluez dbus stack, even for instance /org/bluez and /org/bluez/hci0. org.bluez also disappears from d-feet. >> >> That sounds like the adapter has been removed, perhaps it is a driver >> problem after all. Check the logs with btmon it should tell if that >> has happened. > > It does not look like the adapter gets removed. I tried to remove the adapter manually and look for similar trace on iPhone app kill but did not find any. > >>> >>> After this if we open the iPhone app and start broadcasting again, the bluez app does not work. If we restart the bluez app everything works as before. >> >> Probably the adapter is no longer available. >> >>> Do you have any idea why we do not receive connected = false signal if we kill our connected iPhone app? >>> >>> Why does the bluez lose its dbus interface if we kill our connected iPhone app? >> >> See the above explanation. >> >> -- >> Luiz Augusto von Dentz > > Tõnis > -- Luiz Augusto von Dentz -- 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