Re: app doesn't recieve signal DeviceDisappeared

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

 



Marcel Holtmann пишет:
Hi Ilya,

I need help with using Bluez and dbus. Here is my small program in Python:

------------

import dbus
import dbus.glib
import gobject

def device_found(addr, values):
	print 'Found:', addr

def device_disapp(addr): print 'Disappeared:', addr

bus = dbus.SystemBus()
obj = bus.get_object('org.bluez', '/org/bluez/hci0')
adapter = dbus.Interface(obj, 'org.bluez.Adapter')
adapter.connect_to_signal('DeviceFound', device_found)
adapter.connect_to_signal('DeviceDisappeared', device_disapp)

adapter.StartDiscovery()

gobject.threads_init()
dbus.glib.init_threads()
main_loop = gobject.MainLoop()
main_loop.run()


-----------

And I have problem with DeviceDisappeared signal. I run program, then it finds my bluetooth enabled phone and prints it's address every ~10 seconds (periodical discovery). Than I turn off bluetooth in phone, but Bluez doesn't send signal 'DeviceDisappeared', so program doesn't print "Disappeared: ...". What's wrong in my program? Do I have misunderstanding of Bluez Adapter API?

this might be a bug. Not many applications are actually making full use
of the DeviceDisappeared signal. Please run dbus-monitor and check if it
is really not present.
I run 'dbus-monitor --system'. Now I'm sure there are no DeviceDisappeared signal. Besides, I found that the adapter's Discovering property changes to True only _right before_ any device is found. If there are no devices in the field, this property will be False permanently.

I use BlueZ 4.12. I understand that before reporting any bug I should update my system with the lastest versions of packages, so if this bug was fixed between 4.12 an current 4.27 version - excuse me and sorry for disturbing.
On another note, you can _NOT_ hardcode /org/bluez/hci0 path in your
apps. Nowadays they are totally random. Use FindAdapter() instead.

Now I use this method instead of hardcoding paths. Thanks!
--
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