Bug 557678 - Bluetooth: unable to send files via OBEX
Summary: Bluetooth: unable to send files via OBEX
Status: VERIFIED FIXED
Alias: None
Product: openSUSE 11.3
Classification: openSUSE
Component: GNOME (show other bugs)
Version: Final
Hardware: Other Other
: P1 - Urgent : Major with 5 votes (vote)
Target Milestone: ---
Deadline: 2011-06-20
Assignee: E-mail List
QA Contact: E-mail List
URL:
Whiteboard: .
Keywords:
Depends on:
Blocks: 621189
  Show dependency treegraph
 
Reported: 2009-11-23 10:01 UTC by Stanislav Brabec
Modified: 2016-04-15 10:34 UTC (History)
5 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stanislav Brabec 2009-11-23 10:01:50 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.
Comment 1 Stanislav Brabec 2009-11-23 17:39:52 UTC
http://bugs.gentoo.org/show_bug.cgi?id=285043 says, that obex-data-server should be replaced by obexd.
Comment 2 Stanislav Brabec 2009-11-23 17:46:51 UTC
obexd is not part of openSUSE 11.2. Confirming that installation of obexd from Moblin:Factory/openSUSE_11.2 fixes the problem.
Comment 3 Vladimir Botka 2009-11-24 08:09:02 UTC
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
Comment 4 Stanislav Brabec 2009-11-24 09:56:59 UTC
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.
Comment 5 Vladimir Botka 2009-11-24 17:17:28 UTC
(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
Comment 6 Vladimir Botka 2009-11-24 17:24:11 UTC
Also gnome-user-share "Requires: obexd" instead of obex-data-server then.
Comment 7 Stanislav Brabec 2009-11-24 18:03:33 UTC
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
Comment 8 Stanislav Brabec 2009-11-24 18:31:27 UTC
The item 1) above reported as upstream usability issue: https://bugzilla.gnome.org/show_bug.cgi?id=602860
Comment 9 Luis Medinas 2009-11-25 01:54:41 UTC
I can confirm that installing obexd fixes the bluetooth problem. Please consider this an 11.2 update since bluetooth is broken.
Comment 10 Stanislav Brabec 2009-12-01 15:37:53 UTC
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.
Comment 11 Stanislav Brabec 2009-12-02 13:13:16 UTC
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.
Comment 12 Stanislav Brabec 2009-12-02 16:38:26 UTC
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.
Comment 13 Stanislav Brabec 2009-12-02 18:13:20 UTC
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
Comment 14 Stephan Kulow 2009-12-08 13:30:11 UTC
not sure what info is needed from me.
Comment 15 Stanislav Brabec 2009-12-08 13:35:58 UTC
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.
Comment 16 Christian Dengler 2009-12-08 15:32:10 UTC
-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.
Comment 17 Stanislav Brabec 2009-12-08 15:46:58 UTC
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).
Comment 18 Marcus Meissner 2009-12-08 15:51:05 UTC
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.
Comment 19 Stanislav Brabec 2009-12-08 16:35:54 UTC
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.
Comment 20 Christian Dengler 2009-12-11 12:34:57 UTC
> 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?
Comment 21 Christian Dengler 2009-12-21 16:39:11 UTC
No answer :-(

No update at the moment. We will wait for a proper solution and then do an update.
Comment 22 Luis Medinas 2010-01-21 05:06:11 UTC
People can we fill an update ? Right now bluetooth is broken on GNOME.
Comment 23 Christian Dengler 2010-01-29 14:15:22 UTC
(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.
Comment 24 Jiri Slaby 2010-06-15 15:19:18 UTC
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.
Comment 26 Jiri Slaby 2010-06-22 09:52:10 UTC
I've pushed obexd built with --disable-server to base:system. If there are no objections, I'll push it to factory.
Comment 27 Stanislav Brabec 2010-06-22 14:34:41 UTC
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.
Comment 28 Jiri Slaby 2010-06-22 16:17:19 UTC
(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.
Comment 29 Jiri Slaby 2010-06-23 07:04:27 UTC
(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).
Comment 30 Jiri Slaby 2010-06-23 13:26:10 UTC
(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...
Comment 34 Stefan Dirsch 2010-07-09 13:14:26 UTC
SLED11/SLED11-SP based HP images are now handled in Bug #621189.
Comment 35 Vladimir Botka 2010-07-30 19:19:52 UTC
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
Comment 36 Stanislav Brabec 2010-08-02 09:52:19 UTC
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.
Comment 37 Stanislav Brabec 2010-08-03 14:05:13 UTC
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
Comment 38 Stanislav Brabec 2010-08-03 16:49:06 UTC
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)
Comment 39 Vladimir Botka 2010-10-26 18:36:31 UTC
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
Comment 40 Stanislav Brabec 2010-10-26 18:48:58 UTC
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.
Comment 43 Frederic Crozat 2011-03-17 12:03:39 UTC
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.
Comment 44 Vladimir Botka 2011-03-17 21:28:24 UTC
(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">
Comment 45 Frederic Crozat 2011-03-18 09:06:17 UTC
let's move discussion for 11.4 to bug 680770
Comment 46 Uwe Drechsel 2011-05-19 08:04:44 UTC
*ping*
Comment 47 Frederic Crozat 2011-05-20 09:56:35 UTC
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
Comment 48 Marcus Meissner 2011-05-20 12:33:39 UTC
is fine. +1

(obexd or obexd-client?)
Comment 49 Frederic Crozat 2011-05-20 12:58:43 UTC
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)
Comment 50 Frederic Crozat 2011-05-20 13:34:48 UTC
I'm not sure I was clear enough : the only package to update for both 11.3 and 11.4 is gnome-bluetooth.
Comment 51 Christian Dengler 2011-05-23 14:24:17 UTC
okay +1
Comment 52 Swamp Workflow Management 2011-05-23 14:24:28 UTC
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
Comment 54 Christian Dengler 2011-05-26 16:12:42 UTC
Be so kind and submit the fixed sources against openSUSE:11.4:Update:Test
Comment 55 Frederic Crozat 2011-05-26 16:30:45 UTC
sr for 11.3 : 71536
sr for 11.4 : 71538
Comment 56 Bernhard Wiedemann 2011-05-26 17:00:09 UTC
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
Comment 57 Christian Dengler 2011-06-09 13:37:25 UTC
update released
Comment 58 Swamp Workflow Management 2011-06-09 13:37:50 UTC
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)
Comment 59 Swamp Workflow Management 2011-06-09 13:37:56 UTC
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)
Comment 60 Bernhard Wiedemann 2016-04-15 10:34:06 UTC
This is an autogenerated message for OBS integration:
This bug (557678) was mentioned in
https://build.opensuse.org/request/show/41950 Factory / obexd