Bugzilla – Bug 557678
Bluetooth: unable to send files via OBEX
Last modified: 2016-04-15 10:34:06 UTC
When trying to send a file via GNOME Bluetooth applet or via Nautilus Send menu item, I get a pop-up with an error: (translation back to English, it may fit strings unexactly.) File transfer Sending files via Bluetooth From: /home/sb To: "**:**:..." (ID removed) Connecting... The name org.openobex.client was not provided by any .service files The error appears for both associated and un-associated devices.
http://bugs.gentoo.org/show_bug.cgi?id=285043 says, that obex-data-server should be replaced by obexd.
obexd is not part of openSUSE 11.2. Confirming that installation of obexd from Moblin:Factory/openSUSE_11.2 fixes the problem.
Yes the obexd solves the client part of the job. The package for openSUSE 11.2 is here [1] . How do I submit the package into the 11.2 Update ? [1] https://build.opensuse.org/package/show?package=obexd&project=home%3Avbotka%3AFactory
NEEDINFO to coolo. We need to release gnome-bluetooth with new/fixed Requires: obexd and add a new package - obexd. obexd probably should replace obex-data-server while we packaged GNOME 2.28 betas, but it was not done. Support for the old obex-data-server (present in 11.2) was removed during the GNOME 2.27 development. It seems that obexd also contain one part of server code (D-Bus service support for receiving files). But I did not find the rest. D-Bus signals appears on the d-bus when phone wants to sent file, but it seems that nothing serves them. To Vladimír: Please check, whether obexd should contain Obsoletes: obex-data-server. Both provide the same, but use a different name space, and probably a different API. I can check, whether it is still needed by any package.
(In reply to comment #4) > To Vladimír: Please check, whether obexd should contain Obsoletes: > obex-data-server. Both provide the same, but use a different name space, and > probably a different API. I can check, whether it is still needed by any > package. I have added "Obsoletes: obex-data-server" into the obexd.spec as both packages provides the the same d-bus service. [D-BUS Service] Name=org.openobex
Also gnome-user-share "Requires: obexd" instead of obex-data-server then.
I found some new facts: The good thing: gnome-user-share seems to be the second part of the Bluetooth OBEX server. Running gnome-file-share-properties (and then optionally Sharing options from the Nautilus context menu), one can enable file sharing. The bad things: 1) Nobody will search Bluetooth OBEX server there. 2) It does not work with gnome-obex-server nor obexd: server.Creating Bluetooth ObexFTP server failed: Method "CreateBluetoothServer" with signature "ssb" on interface "org.openobex.Manager" doesn't exist Creating Bluetooth ObexPush server failed: Method "CreateBluetoothServer" with signature "ssb" on interface "org.openobex.Manager" doesn't exist
The item 1) above reported as upstream usability issue: https://bugzilla.gnome.org/show_bug.cgi?id=602860
I can confirm that installing obexd fixes the bluetooth problem. Please consider this an 11.2 update since bluetooth is broken.
home:sbrabec:branches:openSUSE:11.2 contains gnome-user-share and gnome-bluetooth packages with needed dependency change. gnome-bluetooth package also includes few usability patches to make files reception more visible. I am now able to send files, but not browse or receive (strange, I guess I was able to browse files in my phone before starting to experiment). Warning for experiments: If you change the dbus service, it may take some time (or even require restart) before the old one shuts down and the new fires up. In the time between, you can experience strange errors.
According to https://bugzilla.gnome.org/show_bug.cgi?id=595374#c5 you need both obexd and obex-data-server to get a working GNOME Bluetooth support: You need both for a working GNOME desktop. obex-data-server is used by gnome-user-share and gvfs, obexd is used by bluetooth-sendto.
Just another important info from the https://bugzilla.gnome.org/show_bug.cgi?id=595374#c5 - You need to disable the server part of obexd, using --disable-server to configure.
Here is a summary of my tests of Bluetooth in GNOME after this change: Association: Association initiated by openSUSE 11.2: OK, remote device asks for PIN, openSUSE provides PIN. Association initiated by remote device: openSUSE 11.2 is visible, association fails, openSUSE 11.2 does nothing File transfers: Browsing, downloading and uploading files from openSUSE 11.2 nautilus as a client: Basically works, but nautilus behavior is not fully correct: File transfer should take precedence over thumbnailing, nautilus window must allow to be closed before pressing retry on error "only one transfer at a time" appears. File transfer initiated by remote device: Broken. openSUSE does not respond. File transfer initiated by openSUSE 11.2: Broken. Everything seems to work, but only 1/4 of the file is transferred and connection is closed. Browsing, downloading and uploading files with openSUSE 11.2 as a server: not tested Networking: PAN/BNEP initiated by openSUSE 11.2 (pand command line): OK, remote device asks for permission PAN/BNEP initiated by remote device: OK, openSUSE asks for permission
not sure what info is needed from me.
Sorry, it should be maintenance@opensuse.org: Please approve update for 11.2 which will contains a new package obexd. It is possible to update it now into a partailly working state (comment #13) or keep it totally broken and continue in research until finding a way how to completely fix it, but it may take an untrivial amount of time.
-1 I'm against it, because of - not fixing the whole issue - API change - new package needed - to high risk of negative side effects I think we should wait at least for a complete solution.
Yes, there is API change and new package is needed. But GNOME 2.28 requires the new package and does not work with the old API. The new API is required since 2.27 betas. We just missed supported API change. Adding Luboš Luňák to Cc: to comment KDE support of OBEX in openSUSE 11.2 and supported/required packages (obexd/obex-data-server).
this is a very large and convoluted change to me too. I am not convinced we can fix this without other things breaking. the gnome 2.28 update is not decided nor discussed yet.
I do not see a need for update of any GNOME 2.28 component. To progress to the state described in comment #13, it is just required: - Add new package obexd compiled with --disable-server. - Add "Requires: obexd" to gnome-bluetooth package. And optionally: - Apply usability patches to gnome-bluetooth that make other components (receive files, share files, maybe sound configuration) more visible. However there is still work to be done: Find and fix or package component responsible for claiming of OBEX service via SDP (Bluetooth Service Discovery Protocol) and a component responsible for answering of pairing requests. Find a problem that concatenates files transferred by bluetooth-sendto. And probably also fix correctly problem from http://thread.gmane.org/gmane.linux.bluez.kernel/3361 that affects all people that plug single dongle into more machines.
> To progress to the state described in comment #13, it is just required: > > - Add new package obexd compiled with --disable-server. > > - Add "Requires: obexd" to gnome-bluetooth package. Is there a risk to get in trouble obexd and obex-data-server is installed?
No answer :-( No update at the moment. We will wait for a proper solution and then do an update.
People can we fill an update ? Right now bluetooth is broken on GNOME.
(In reply to comment #22) > People can we fill an update ? Right now bluetooth is broken on GNOME. I think we should wait for a good solution. An update at the moment doesn't resolve all bugs. :-/ I don't know and I didn't checked it, but possible that it will be fixed by the Gnome Version upgrade.
So, what is the status of this? obexd is not in factory, so that even 11.3 bluetooth-sendto was defunct for me. After I installed obexd from moblin repo, it works.
I've pushed obexd built with --disable-server to base:system. If there are no objections, I'll push it to factory.
Can you check, whether gnome-bluetooth-2.30 still requires old obex-data-server package for the server backend? (I cannot run 11.3 due to critical bugs.) If yes: Push it as is (with --disable-server). If it was already ported to obexd: Remove --disable-server from obexd and maybe fill drop request for obex-data-server.
(In reply to comment #27) > Can you check, whether gnome-bluetooth-2.30 still requires old obex-data-server > package for the server backend? (I cannot run 11.3 due to critical bugs.) Coincidently I tried earlier today without success. gnome-bluetooth still implements bluez Agent which understands obex-data-server, but not obexd. I.e. I was unable to receive files unless I specified auto-accept for obexd. I asked gnome-bluetooth developer for the status and will get back if he replies.
(In reply to comment #28) > I asked gnome-bluetooth developer for the status and will get back if he > replies. Citation from http://article.gmane.org/gmane.linux.bluez.kernel/6047 You'd need to use gnome-user-share to have Obex server capabilities, and it doesn't use obexd right now, but obex-data-server. So I'm pushing it as is (without server).
(In reply to comment #29) > So I'm pushing it as is (without server). Yeah, and after it makes it into Factory, I'll submit gnome-bluetooth with "Requires: obexd" from home:jirislaby:branches:GNOME:Factory to GNOME:Factory...
SLED11/SLED11-SP based HP images are now handled in Bug #621189.
Because 11.3 is released I suggest to switch the product to openSUSE 11.3. In 11.3 remote host running obex-data-server [1] can be browsed and files can be copied to the remote host with copy&paste. Directories can be created on the remote host but can't be renamed. To copy&paste files from localhost to the remote will crash the obex-data-server on the remote host. After the crash the remote host can't be browsed anymore. There is no activity since October 2009 in obex-data-server project developed by singel user. Moreover the project obexd is developed by the Bluez developers. Unfortunately the gnome support for obex (gnome-file-share-properties, gnome-bluetooth ) depends on obex-data-server. I believe that this problem can be resolved only by gnome support for obexd. There is no other functional obex browser available AFAIK [2] and therefor neither any quick solution. [1] obex-data-server 0.4.5 (2009/10/21 19:09) [2] http://dev.zuckschwerdt.org/openobex/wiki/ObexProjects over 1 year no activity Obexftp - frontend - 'connection error' obextool - no "Bwidget' Tcl in 11.3
AFAIK obexd should replace obex-data-server gnome-user-share already requires obexd According to NEWS, gnome-bluetooth < 2.27.6 requires obex-data-server, newer versions require obexd. Quick solution for old products: Install both, obexd with --disable-server. Quick solution for new products: Install fully featured obexd, drop and obsolete obex-data-server. I will test obexd only installation in 11.3 and let you know.
No. I just reviewed the OBEX calls in openSUSE 11.3 and it seems to look as follows: Pair with the device: gnome-bluetooth -> bluez Pair with computer: bluez -> gnome-bluetooth Browse, upload and manage files in the device: (gnome-bluetooth ->) nautilus -> gvfs -> obex-data-server Send one file: (gnome-bluetooth ->) nautilus-sendto -> nautilus-sendto-bluetooth plugin (from nautilus-sendto) -> bluetooth-sendto (from gnome-bluetooth) -> obexd Receive one file: (gnome-bluetooth ->) gnome-user-share -> obex-data-server Browse, upload and manage files in the computer via OBEX: (gnome-bluetooth ->) gnome-user-share -> obex-data-server
I found package dependencies problems and tried work around: Ensured manually that both obexd (11.3 style client only package) and obex-data-server are installed. After doing that, I got these results: Pair with the device: works Pair with computer: works Browse, upload and manage files in the device: broken, fails with: "Failed to mount OBEX volume: Could not get service channel". It's a regression, it worked in 11.2. Send one file: works Receive one file: works Browse, upload and manage files in the computer via OBEX: listing works, downloading and uploading files fails on remote obexftp with: "Connecting...failed: connect" PAN/BNEP: works (no GUI available, but bluetooth-applet correctly asks for connection permission). RFCOMM: works for paired devices (tested with old style global rfcomm.conf)
I've upgraded and built the obexd to the latest version 0.35 [1]. I've enabled the obex server in obexd, but the obexd doesn't start [2]. Unfortunately I'm not able to get working desktop in Factory and I'm testing in 11.3. [1] home:vbotka:sandbox/obexd [2] # /usr/lib/obex/obexd --nodaemon --opp --ftp -a --root=Public --root-setup=/usr/lib/obex/obexd-setup.sh obexd[5015]: OBEX daemon 0.35 /usr/lib/obex/obexd: symbol lookup error: /usr/lib/libebook-1.2.so.10: undefined symbol: g_dbus_proxy_get_type
You have to disable server in obexd and enable only client. Use --disable-server configure option is the most save way. Use obex-data-server package for server function. The undefined symbol may be caused by binary incompatibility of evolution-data-server and dbus-1-glib.
for openSUSE 11.4, we need to change gnome-bluetooth requirement from obexd to obexd-client, because the client part needed to send file through OBEX has been moved to obexd-client subpackage.
(In reply to comment #43) > obexd-client, because the client part needed to send file through OBEX has been > moved to obexd-client subpackage. I've tested obex on 11.4 . obex-data-server works fine and the box can receive files via bluetooth. But the client doesn't work. I can install the package obexd-client, but "Send to ..." doesn't offer the bluetooth option. Also the box can't be browsed via blueooth. bluetooth-applet offers only "Send files ..." to the 11.4 box. Both boxes under test were 11.4 . obexftp works fine. Server can be started [1], client can connect [2] and files can be sent and received. [1] # obexftpd -b -v -c /home/tux/Public/ Waiting for connection... Incoming request 00 obex_event() OBEX_EV_REQDONE: obex_rsp=00 Incoming request 03 get_server() get_server() Skipped header cb get_server() type:x-obex/folder-listing get_server() Found inverse push req data:70 xml doc:<?xml version="1.0"?> <!DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd"> <folder-listing version="1.0"> [2] # obexftp -b 00:16:CF:EE:63:66 -l Browsing 00:16:CF:EE:63:66 ... Connecting..\done Tried to connect for 4ms Receiving "(null)"...|<?xml version="1.0"?> <!DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd"> <folder-listing version="1.0">
let's move discussion for 11.4 to bug 680770
*ping*
test package for sending files using OBEX is available at https://build.opensuse.org/package/show?package=gnome-bluetooth&project=home%3Afcrozat%3Abranches%3AopenSUSE%3A11.3%3AUpdate%3ATest it also includes fix for bug #622946 requesting maintenance team review
is fine. +1 (obexd or obexd-client?)
for 11.3, dependencies added are obexd (for this bug) and bluez (for #622946) for 11.4, obexd dependency is replaced by obexd-client (bug 680770)
I'm not sure I was clear enough : the only package to update for both 11.3 and 11.4 is gnome-bluetooth.
okay +1
The SWAMPID for this issue is 41092. This issue was rated as low. Please submit fixed packages until 2011-06-20. Also create a patchinfo file using this link: https://swamp.suse.de/webswamp/wf/41092
Be so kind and submit the fixed sources against openSUSE:11.4:Update:Test
sr for 11.3 : 71536 sr for 11.4 : 71538
This is an autogenerated message for OBS integration: This bug (557678) was mentioned in https://build.opensuse.org/request/show/71536 11.3 / gnome-bluetooth
update released
Update released for: gnome-bluetooth, gnome-bluetooth-debuginfo, gnome-bluetooth-debugsource, gnome-bluetooth-devel, gnome-bluetooth-lang, gnome-bluetooth-plugins-geoclue, gnome-bluetooth-plugins-geoclue-debuginfo, libgnome-bluetooth7, libgnome-bluetooth7-debuginfo, libgnome-bluetooth8, libgnome-bluetooth8-debuginfo, nautilus-sendto-plugin-bluetooth, nautilus-sendto-plugin-bluetooth-debuginfo Products: openSUSE 11.3 (debug, i586, x86_64)
Update released for: gnome-bluetooth, gnome-bluetooth-debuginfo, gnome-bluetooth-debugsource, gnome-bluetooth-devel, gnome-bluetooth-lang, gnome-bluetooth-plugins-geoclue, gnome-bluetooth-plugins-geoclue-debuginfo, libgnome-bluetooth7, libgnome-bluetooth7-debuginfo, libgnome-bluetooth8, libgnome-bluetooth8-debuginfo, nautilus-sendto-plugin-bluetooth, nautilus-sendto-plugin-bluetooth-debuginfo, obexd-client Products: openSUSE 11.4 (debug, i586, x86_64)
This is an autogenerated message for OBS integration: This bug (557678) was mentioned in https://build.opensuse.org/request/show/41950 Factory / obexd