DiscoverDevices with apitest?
Hi,
i tried today to discover devices with apitest (instead of "hcitool scan"), but it did not work:
seife@strolchi:~> apitest DiscoverDevices
None
and it returns immediately. So i tried my luck with direct "dbus-send":
seife@strolchi:~> dbus-send --system --dest=3Dorg.bluez --print-reply /org/= bluez/hci0 org.bluez.Adapter.DiscoverDevices
method return sender=3D:1.541 -> dest=3D:1.867
No luck either.
I always get this in my syslog from hcid:
Oct 19 13:52:39 strolchi hcid[17330]: Introspect path:/org/bluez Oct 19 13:52:39 strolchi hcid[17330]: Introspect path:/org/bluez/hci0 Oct 19 13:52:39 strolchi hcid[17330]: name_listener_add(:1.869) Oct 19 13:52:39 strolchi hcid[17330]: DiscoverDevices requestor at :1.869 e= xited before the operation finished Oct 19 13:52:39 strolchi hcid[17330]: name_listener_remove(:1.869) Oct 19 13:52:39 strolchi hcid[17330]: remove_name_listener: no listener for= :1.869
So why doesn't the dbus call block? I also tried with a "apitest -l" running in parallel, to see if this would get something discovered, but it didn't:
seife@strolchi:~> apitest -l
Listening for events...
DiscoveryStarted - /org/bluez/hci0:
DiscoveryCompleted - /org/bluez/hci0:
DiscoveryStarted - /org/bluez/hci0:
DiscoveryCompleted - /org/bluez/hci0:
Caught signal, exiting
So am i doing something wrong?
I'm running bluez-{libs,utils} version 3.7 on 2.6.18. -- =
Stefan Seyfried
QA / R&D Team Mobile Devices | "Any ideas, John?"
SUSE LINUX Products GmbH, N=FCrnberg | "Well, surrounding them's out." =
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easi= er
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D1=
21642
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users
Marcel Holtmann
maintainerHi Stefan,
Quoted 19 lines
i tried today to discover devices with apitest (instead of "hcitool scan"), but it did not work:
seife@strolchi:~> apitest DiscoverDevices
Noneand it returns immediately. So i tried my luck with direct "dbus-send":
seife@strolchi:~> dbus-send --system --dest=org.bluez --print-reply /org/bluez/hci0 org.bluez.Adapter.DiscoverDevices method return sender=:1.541 -> dest=:1.867No luck either.
I always get this in my syslog from hcid:Oct 19 13:52:39 strolchi hcid[17330]: Introspect path:/org/bluez Oct 19 13:52:39 strolchi hcid[17330]: Introspect path:/org/bluez/hci0 Oct 19 13:52:39 strolchi hcid[17330]: name_listener_add(:1.869) Oct 19 13:52:39 strolchi hcid[17330]: DiscoverDevices requestor at :1.869 exited before the operation finished Oct 19 13:52:39 strolchi hcid[17330]: name_listener_remove(:1.869) Oct 19 13:52:39 strolchi hcid[17330]: remove_name_listener: no listener for :1.869
Quoted 10 lines
So why doesn't the dbus call block? I also tried with a "apitest -l" running in parallel, to see if this would get something discovered, but it didn't:
seife@strolchi:~> apitest -l
Listening for events...
DiscoveryStarted - /org/bluez/hci0:
DiscoveryCompleted - /org/bluez/hci0:
DiscoveryStarted - /org/bluez/hci0:
DiscoveryCompleted - /org/bluez/hci0:
Caught signal, exiting
You need to keep the calling application running, because otherwise hcid will stop the discovery. That is actually what you see in syslog.
It is not blocking, because this is simply not a blocking task. You might wanna have a look at this blog on how to do it with Python:
http://blogs.gnome.org/view/jamesh/2006/10/19/0
Regards
Marcel
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users
Quoted 2 lines · Marcel Holtmann
You need to keep the calling application running, because otherwise hcid will stop the discovery. That is actually what you see in syslog.
You could also try the attached patch. After that the following command should do the trick:
./apitest -l DiscoverDevices
I think we may want to apply this to CVS. Marcel, what do you think?
Johan
Index: apitest
===================================================================
RCS file: /cvsroot/bluez/utils/test/apitest,v
retrieving revision 1.1
apitest +3 -2
@@ -399,7 +399,8 @@ self.dbus_mgr_sig_setup() self.dbus_dev_sig_setup() print 'Listening for events...' - elif self.cmd in mgr_cmds: + + if self.cmd in mgr_cmds: try: self.dbus_mgr_setup() except dbus.DBusException, e:
@@ -413,7 +414,7 @@ print 'Failed to setup device interface: %s' % e sys.exit(1) self.call_dev_dbus_func() - else: + else if not self.listen: print 'Unknown command: %s' % self.cmd self.usage() sys.exit(1)
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users
Should have actually tested the patch first...
Quoted 1 line · Johan Hedberg
+ else if not self.listen:
This should of course be "elif not self.listen:"
Johan
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users
Marcel Holtmann
maintainerHi Johan,
Quoted 6 lines
Should have actually tested the patch first...
Quoted 1 line · Johan Hedberg
+ else if not self.listen:
This should of course be "elif not self.listen:"
commit the fixed version.
Regards
Marcel
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users
Quoted 1 line · Marcel Holtmann
commit the fixed version.
Done.
Johan
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users
Quoted 9 lines · Johan Hedberg
Quoted 2 lines · Marcel Holtmann
You need to keep the calling application running, because otherwise hcid will stop the discovery. That is actually what you see in syslog.
=
You could also try the attached patch. After that the following command =
should do the trick:
./apitest -l DiscoverDevices
almost, see below
=
Quoted 1 line
I think we may want to apply this to CVS. Marcel, what do you think?
I like it :-) I already had tried apitest -l DiscoverDevices, but it did not work.
Quoted 2 lines
Index: apitest =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Quoted 16 lines
RCS file: /cvsroot/bluez/utils/test/apitest,v
retrieving revision 1.1
diff -u -r1.1 apitestapitest +2
-1@@ -399,7 +399,8 @@ self.dbus_mgr_sig_setup() self.dbus_dev_sig_setup() print 'Listening for events...' - elif self.cmd in mgr_cmds: + + if self.cmd in mgr_cmds: try: self.dbus_mgr_setup() except dbus.DBusException, e:
apitest line 417
Quoted 5 lines
apitest +1
-1@@ -413,7 +414,7 @@ print 'Failed to setup device interface: %s' % e sys.exit(1) self.call_dev_dbus_func() - else: + else if not self.listen:
elif not self.listen
apitest line 420
Quoted 3 lines
apitest +0
-0print 'Unknown command: %s' % self.cmd self.usage() sys.exit(1)
-- =
Stefan Seyfried \ "I didn't want to write for pay. I
QA / R&D Team Mobile Devices \ wanted to be paid for what I write."
SUSE LINUX Products GmbH, N=FCrnberg \ -- Leonard Cohen
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easi= er
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D1=
21642
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users