Ask / Submit
374

Bluetooth file transfer for all file types [answered]

asked 2013-12-25 16:24:09 +0300

pnuu gravatar image

updated 2014-01-10 19:01:36 +0300

lk gravatar image

Currently it's possible to send images, videos and contacts, but not music files, via bluetooth. More generalized file transfer should be added, atleast to Settings -> System settings -> Bluetooth -> pulley menu -> "Send file", and naturally the file browser.

edit retag flag offensive reopen delete

The question has been closed for the following reason "the question is answered, an answer was accepted" by olf
close date 2019-10-19 18:21:32.818752

Comments

15

This is important. A deal breaker if not fixed, imo

Glenn9K ( 2013-12-25 20:36:56 +0300 )edit
15

Yes, definitely this is important!

LaruX ( 2013-12-26 14:53:49 +0300 )edit
3

Not high priority at the moment in my opinion. But something I hope to have in the future. Enjoyed it a lot that I could send and receive everything with Nokia N9. Pully menu with "Send file" is a very good idea and would enrich the idea of the Pully menu a lot.

molan ( 2014-01-07 19:31:36 +0300 )edit
11

It would be nice to have it in File Browser.

SaimenSays ( 2014-03-01 21:09:02 +0300 )edit
5

It should be a have to be in the MediaPlayer analog to Galerie

michaelmischke ( 2014-04-19 00:05:51 +0300 )edit

15 Answers

Sort by » oldest newest most voted
4

answered 2019-10-06 22:55:51 +0300

deloptes gravatar image

Hi, I will up vote this in the hope that we get our voice heard.

In fact looking some time ago into the BT stack implementation it was clear that only OPP is implemented, while file transfer is not, because it needs all the things mentioned in the answers API, integrated APP etc.

I was even thinking I would find some time to write the server part, but not likely before next year. If someone is willing to share burden let me know. However, I mentioned already before on the dev list. Jolla needs to set the path in such a work (API), so that we work in unified manner.

sdptool search FTP <BT MAC>
Inquiring ...
Searching for FTP on <BT MAC> ...

sdptool search OPUSH <BT MAC>
Inquiring ...
Searching for OPUSH on <BT MAC> ...
Service Name: Object Push
Service RecHandle: 0x10007
Service Class ID List:
  "OBEX Object Push" (0x1105)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
     Channel: 9
  "OBEX" (0x0008)
Profile Descriptor List:
  "OBEX Object Push" (0x1105)
    Version: 0x0102

You can have a look in the obexd - I do not recall, but I think FTP is enabled.

edit flag offensive delete publish link more

Comments

@deloptes,

  • for interoperability, it makes sense to focus on using "OBEX Object Push", as that is what almost all devices with Bluetooth support (Smartphones, Feature Phones, PCs etc.).
  • "OBEX Object Push" is also what Jolla's mini-filemanager (in Settings -> Storage -> Mass memory -> [Top pulley] File manager), Filecase and Jolla's Gallery app use.
    While Filecase's source code does not seem to be available and I have not looked for the sources of the two Jolla apps, what they do when sending a file via Bluetooth may be observed per strace and / or other means, in order to re-implement that in an app of your choice.
olf ( 2019-10-07 17:41:01 +0300 )edit

I don't know file case, but I know about the protocols. The missing features are all covered by the FTP. I do not know why it disappeared in Sailfish. It was there in N9 AFAIK.

OOP is simple to implement, but very limited - for example you can not specify destination and you can do only one file a time.

Also I do not feel like reverse engineering apps. There is a good bluetooth documentation of the interfaces and implementation of FTP server wouldn't be much of a work. The integration part might be however.

deloptes ( 2019-10-07 20:33:46 +0300 )edit
4

answered 2019-09-30 23:41:19 +0300

just bumping up

as when switching devices or after reset (yep, had to do it after failed update once) I do like to transfer a lot of differen items

and we are 5 (FIVE) years later!

edit flag offensive delete publish link more

Comments

2

The answer and solution are already here (in this very TJC thread)!
See my comment 2018-11-13 to the original question for an explanation and the link there for a solution.

olf ( 2019-10-01 01:09:01 +0300 )edit
1

Thanks olf. I did know/re-read about this workaround. But after "downgrading" to XA2 I just forgot to apply that.

My personal patches folder is growing and growing ...

Just found accidentally this answer of you from Dec 2017 https://together.jolla.com/question/1302/bluetooth-file-transfer-for-all-file-types/?answer=175986#post-id-175986 and this is still valid, right?

(I do hate this time cluttered comment/answer game - okay, must have had a different sort configured! :) )

peterleinchen ( 2019-10-01 09:33:03 +0300 )edit
4

Great that we have a community-supported answer, but I agree it should be an option under Settings-->Bluetooth, not a CLI hack.

sunburnedpenguin ( 2019-10-01 09:41:08 +0300 )edit
1

@peterleinchen, there seems to be some confusion navigating this thread, as you wrote:

"Just found accidentally this answer of you from Dec 2017 [...]"

... which details the complaints on the technical side, but does not solve anything.

That is why I tried to direct you to my comment 2018-11-13 (currently the last one at the original question) and the real answer (with solution), which I provided 2018-11-10 (and I linked to in yesterdays comment above and my comment 2018-11-13 to the original question; recognising and using these web-links seems to be hard, thus this comment is without any ;\ ).

olf ( 2019-10-01 16:10:41 +0300 )edit
11

answered 2018-11-10 04:11:36 +0300

olf gravatar image

updated 2019-10-09 04:46:49 +0300

Table of contents


Sending files per OBEX

(the original question)

Any filtering for "supported" file or MIME types seems to be done by an application (or a high-level application framework it uses, e.g. Qt), but not by the OBEX implementation (per obexd in bluez 4 and 5).
Hence complaints about specific apps limiting the types of files to share via Bluetooth should be filed a separate issues for these apps, IMO.

The awkward mini-filemanager in Settings -> Storage -> Mass memory -> [Top pulley] File manager seems to share any file via Bluetooth in recent SailfishOS versions, as Filecase (unmaintained, does not start up without patching since SailfishOS 2.2.0) definitely did on older SailfishOS versions.
You might file a feature request for your favorite file-manager to support unrestricted sharing of files via Bluetooth.


Sending multiple files via Bluetooth


As the OBEX (aka "IrDA compatibility") specification only supports sending one file at a time, selecting multiple files and sending them one-by-one also has to be implemented on application (or framework) level. No SailfishOS app provides this feature yet, AFAIK.
You might file a feature request for your favorite file-manager to support this, too.


Receiving arbitrary files


Edit / update (2019-10-03)


As this enduring situation is annoying, I created obexd-contentfilter-off, which automatically does what is described in the original answer (2018-11-10) below.
For easy installation (e.g., per Storeman), an RPM is available at OpenRepos.
As obexd-contentfilter-off obsoletes the original obexd-contentfilter-helper package, the need to check if the "dummy" obexd-contentfilter-helperapp script is still installed after a SailfishOS upgrade is also eliminated (compared to the manual deployment of the "dummy script" described in the original answer (2018-11-10) below).

Side note
While researching this issue in-depth, it became apparent that Jolla's position is understandable: It would be hard to sell SailfishOS licenses to companies and governments, if the Bluetooth software stack behaves non-compliant to the Bluetooth OBEX specifications.
Still I wish Jolla will enable users to switch the OBEX filter off at the GUI, some day.


Original answer (2018-11-10)


Oh, I completely forgot, that this was answered by @hmallat in a comment to my very first question on TJC (and also in his comment to another question).

Applying these five commands prevents any filtering for Bluetooth file transfers:

devel-su  # Become root
cd /usr/libexec
mv -v obexd-contentfilter-helperapp obexd-contentfilter-helperapp.orig  # Backup & delete by renaming
echo -e "#!/bin/sh\n\nexit 0" > obexd-contentfilter-helperapp  # Create a dummy helperapp, always returning O.K.
chmod +x obexd-contentfilter-helperapp  # Make it executable


Still, IMO Jolla should stop filtering for supported file types when receiving via BT file transfer in SailfishOS per default or offer a setting to disable this filter.

The current behavior ("Oops, uploading did not work!" on the sender's side) appears to be a non-functional Bluetooth file transfer (when trying to transfer an "unsupported" kind of file), because there is no indication why the BT file transfer went wrong!


Side notes

  • A functional (i.e., filtering) obexd-contentfilter-helperapp file may be reinstalled when upgrading SailfishOS.
    Repeat above commands, then.
  • Mind that Bluetooth file transfers may still fail for other reasons, most often due to Bluez instabilities (especially on Jolla 1 phones, still provided with Bluez4 by default).
edit flag offensive delete publish link more

Comments

2

awesome share man, could have done with this info for years. Giving it a try right now.

DameCENO ( 2018-11-13 15:01:08 +0300 )edit

Great that we have a community-supported answer, but I agree it should be an option under Settings-->Bluetooth, not a CLI hack.

sunburnedpenguin ( 2019-10-01 09:42:31 +0300 )edit
1

Wow, 5 years since the original question and still Jolla has their fingers wedged firmly up their arses - no wonder people get fed up and leave. Such a simple function, yet this bunch can't seem to get it together, "Couldn't hold a piss up in a brewery!" springs to mind

Edz ( 2019-10-01 11:32:14 +0300 )edit
7

answered 2017-12-12 18:41:05 +0300

olf gravatar image

updated 2019-10-09 04:42:50 +0300

Still not able to send or receive any (i.e., arbitrary) file type via Bluetooth (under SFOS 2.1.3.7, four years after this issue has been originally addressed)!
E.g., file types rpm, xml, tar, gz and many more fail to be transferred.

Even worse is that SailfishOS does not mention the real reason (which is "unsupported file type"), but displays exactly the same error message which occurs when there is a Bluetooth connection error ("Oops, uploading did not work!") on the sender's side. Furthermore connection errors often occur when trying to transfer larger files (> 1 MB).
Hence it is impossible for the user to distinguish an unsupported file type error from a real Bluetooth connection error.

Please ultimately fix the file type limitations by allowing any file type to be transferred via Bluetooth.

P.S.: Yes, I know how to workaround this by appending a supported extension to the file I am going to transfer. But I regularly forget and this is really awkward for a Smartphone!

P.P.S. / Edit (2019-10-09):
The proper, generic and permanent solution is to eliminate any file type filtering for Bluetooth file transfers.

edit flag offensive delete publish link more
6

answered 2016-10-27 15:01:38 +0300

jovirkku gravatar image

A partial fix for this issue was delivered in update 2.0.4. We know that it is still not possible to share all file types (but most of them), including .html, .qml, .log, .json and files lacking an extension. However, it is possible to share json and log files, for instance, by adding the extension .txt to them. Investigations are carried on. Hopefully this issue can be fixed completely.

edit flag offensive delete publish link more

Comments

2

Thanks for the official statement. I'm actually wandering why the filetype is an issue at all... usually I can transfer any file if I , for example, add the extension .jpg or any other supported extension. So the file is not getting analyzed...

PatsJolla ( 2016-10-27 15:18:26 +0300 )edit
1

@jovirkku Unfortunately Sailfish OS also does not support multiple file transfer since there is no option to select more than one file in the file browser.

Alex ( 2016-12-27 18:39:31 +0300 )edit
2

@jovirkku, sorry to say your answer sounds awkward in October 2019:

  • This question was asked in December 2013, has received 367 up-votes (October 2019) and many emotional comments.
  • The former SailfishOS' Bluetooth-maintainer @hmallat provided proper reasons to filter for supported MIME-types (and in his subsequent comments there) in September 2014.
  • He also provided a rough description of a workaround in the aforementioned thread in October 2014 and again in the first comment to this question in June 2015, which was the base for a little how-to for beginners.
  • Still you state in October 2016, "Investigations are carried on. Hopefully this issue can be fixed completely."

This sounds as if a clear, rather political choice should be made by Jolla (as the technical aspects have been sufficiently discussed) between these three options:

  1. Keep the status quo, but clearly state that Bluetooth file transfers (per OBEX) support only registered MIME-types for adhering to the specification(s) of that BT-SIG.
  2. Cease to interpret these statements in the OBEX specification(s) as mandatory and eliminate the deliberate filtering for supported (i.e., registered) MIME-types.
  3. Implement a new setting (e.g., "Allow all file types" in Settings -> Bluetooth), which defaults to off to provision SailfishOS in a compliant state.

Taking any of these options is better than leaving this issue open and undecided / without uttering a decision, IMO.


P.S.: The relevant Bluetooth specifications are the OBEX aka IrDA Interoperability (IrOBEX) (v2.0, 26 Aug 2010), the Generic Object Exchange Profile (GOEP) (v2.1.1, 15 Dec 2015) and the Object Public Profile (OPP) (v1.2.1, 15 Dec 2015) specification (the latter does not seem to be publicly available, only the aspects essential for implementing the OPP are).

olf ( 2019-10-02 01:02:30 +0300 )edit
5

answered 2016-10-23 10:59:50 +0300

thisisme gravatar image

This has been implemented in 2.0.4 release through Settings app -> Storage -> File manager (from pulley menu) -> long press on a file and select 'Share', Bluetooth option is available.

edit flag offensive delete publish link more

Comments

2

You are right but IMO it's not fully implemented yet since you are still unable to send multiple files at once and still not all file types are supported e.g. qml and html files are not supported: https://together.jolla.com/question/148849/bug-bluetooth-is-not-present-in-share-page-for-qml-and-html-files/.

Also this bluetooth file sharing additionaly should be included into the relevant native apps (e.g. in the native media app to share music directly from it).

Alex ( 2016-10-23 12:46:33 +0300 )edit
2

Maybe close this question and write new ones for specific features like those you mentioned then? Or tag it as partially implemented or something. I don't think sharing .qml or .html files via bluetooth is a very common use case... What other file types are not supported?

thisisme ( 2016-10-26 10:02:27 +0300 )edit
2

answered 2016-06-22 09:24:14 +0300

Marius gravatar image

I come back to this old subject... does it work now (2.0.1.11)? I tried to transfer some video files between 2 jollas and did not managed.

edit flag offensive delete publish link more

Comments

4

It does work, but only for file formats the device can play without any additional codec or player. for instance trying to send an mp4 video will have no issue at all, but trying to send an wmv or 3gp video will just fail. Thus the need for Jolla to remove this limitation and let us users worry about what we send in our devices. Hope this answers your querry

DameCENO ( 2016-06-22 13:49:13 +0300 )edit

@DameCENO SFOS is able to play flac without additional codec but fails to transfer over bluetooth, tar/zip/gz are also preinstalled and failing to transfer, too. So this can't be the reason. It's more like they put some extensions in the list and forgot some other...

lpr ( 2016-06-22 20:14:19 +0300 )edit

@lpr that was my point exactly just failed to pass it across well enough, the BFTP on SFOS has a kind of white list and blacklist on which files get accepted and sent and which don't. I have been complaining about this from day one, and still these restrictions remain. The case is with more software updates there might be more compatibility with files the system can play but these restrictions on the other hand might be sticky

DameCENO ( 2016-06-23 14:10:03 +0300 )edit

@lpr, read the shell script /usr/libexec/obexd-contentfilter-helperapp on your device and the documentation of lca-tool:
There is no black- or white-list, just a query, if the MIME- type of that file is registered by an installed app. Text mode apps (tar, gzip etc.) usually do not register the MIME types of the files they can process, as registring MIME type handlers is for GUI apps (just consider how tar may open a tar file automatically for a pure GUI user!).

olf ( 2019-10-07 15:19:11 +0300 )edit
0

answered 2015-12-26 14:21:28 +0300

Pim gravatar image

Hi,

I just found this thread, I just sent a music file from my laptop using Bluetooth to my Jolla with the current SailfishOS 2.0, and it was instantly visible in the Media application. My laptop is Ubuntu and the file was in OGG format, but I have no reason it would not work from any other OS using any of the supported audio formats (see https://jolla.zendesk.com/hc/en-us/articles/202015443-Which-kinds-of-media-music-video-files-does-Jolla-support-).

The media player found the track and artist from the OGG file, so it is nicely organized. Now I'm just looking forward for my Jolla tablet which I ordered with 64GB to be able to load lots of music on to it ..

So all fine for now.

Pim

edit flag offensive delete publish link more
2

answered 2015-11-03 13:22:07 +0300

malibu1106 gravatar image

Same thing for receiving file .. Really boring .. (2.0.0.10)

edit flag offensive delete publish link more
6

answered 2015-08-01 18:35:35 +0300

DameCENO gravatar image

I cannot agree more, honestly how can something as basic as bluetooth file share is a bug or limitation on sailfish, I am so disappointed. I do hope it is the priority of any future update for crying out loud!!! Yet Sailfish rocks, best os ever, and after all the little bug fixes in your numerous updates... I can't even begin to imagine how beautiful it would be...

edit flag offensive delete publish link more

Question tools

Follow
35 followers

Stats

Asked: 2013-12-25 16:24:09 +0300

Seen: 8,238 times

Last updated: Oct 09