We have moved to a new Sailfish OS Forum. Please start new discussions there.

USB file transfer support for Mac OS X

asked 2013-12-18 15:31:33 +0300

bijjal gravatar image

updated 2017-12-20 18:42:09 +0300

DarkTuring gravatar image

As a Jolla user, how I can transfer media files and associated meta data between my Mac and Jolla phone?

edit retag flag offensive close delete



Would be nice get it working with iPhoto and iMovie without need to use Image Capture app on OS X. Getting access to other files would be nice too and preferably so that mounting a file system would be the solution. That would solve the iPhoto issue too.

Penguin ( 2013-12-24 22:30:26 +0300 )edit

Thanks for all fine answers! Actually a ready-made solution is needed for accessing Jolla's files from Mac and other computers without developer mode. [Says somebody who has developed enough and only wants to use his device]

jpek-m ( 2014-02-03 21:42:32 +0300 )edit

I have to say I'm rather shocked this does not work. I knew I was going to lack the bliss of iCloud syncing everything, but not even showing up as a USB drive (like the N9)? Basically it seems there is no user-friendly way of hooking up the Jolla with a Mac. Really unfortunate considering how popular Macs are these days.

Setok ( 2014-02-17 00:25:03 +0300 )edit

Would be nice if USB Mass storage would be supported in addition to MTP.

avdwoude ( 2014-02-20 02:09:38 +0300 )edit

Apparently the Jolla USB vendor/product IDs changed in the update. When selecting "PC Connection" mode, the device comes up as 2931:0a05 now, but it used to be 2931:0a01. Only the latter was added to the development version of libmtp, so this might need yet another entry now.

raimue ( 2014-03-18 03:38:57 +0300 )edit

22 Answers

Sort by » oldest newest most voted

answered 2013-12-24 18:14:45 +0300

PhixGre gravatar image

Same request for Linux users :) We need a simple solution for transferring data in both ways without activating devel mode and SSH connection!

edit flag offensive delete publish link more


My "old" Samsung Galaxy S2 has an USB utilities called "USB mass storage" you turn on after connecting to a Linux PC. The device is then properly mounted (/media). Without this utility the device is shown as gphoto2://[usb:002,006]/, I can see folders and files but transferring file from Linux to the device is unstable. With this utility I was also able to listen music in my car, without the device is unreadable. Having a similar utility on Jolla would simplify USB connections.

yann ( 2014-01-18 12:47:03 +0300 )edit

answered 2013-12-24 18:21:40 +0300

Milo gravatar image

updated 2013-12-24 18:23:29 +0300

Jolla uses Microsoft's MTP, (which is rubbish btw), for USB-transfers. MTP's wikipedia article ( http://en.wikipedia.org/wiki/Media%5FTransfer%5FProtocol%23Unix-like ) suggests that you could use this: http://www.android.com/filetransfer for OS X to enable MTP.

As for Linux users, there are more options. I'm personally using kio-mtp (https://projects.kde.org/projects/playground/base/kio-mtp).

edit flag offensive delete publish link more


Thanks, I already found it but kio-mtp isn't available in Debian Stable...

PhixGre ( 2013-12-24 18:52:06 +0300 )edit

kio-mtp is considered 'experimental' and you can't find it from any stable branches. But you can still get it from unstable: http://packages.debian.org/unstable/kde/kio-mtp

Of course, if you don't use KDE, you're probably better off using gvfs.

Milo ( 2013-12-24 18:58:59 +0300 )edit

Thanks, I installed the Android file transfer app in OS X Mavericks, but when I start it (with Jolla connected in PC mode) it says: "no Android device found".

(and 'Microsoft' and 'rubbish' are synonyms :-) )

Winfried ( 2013-12-24 21:19:23 +0300 )edit

Related thread on maemo.org: [http://talk.maemo.org/showthread.php?t=92095]

Winfried ( 2013-12-24 22:11:33 +0300 )edit

I can't get kio-mtp to show anything, but camera:/ works nicely.

Tanghus ( 2013-12-25 19:58:51 +0300 )edit

answered 2013-12-25 13:40:47 +0300

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

updated 2013-12-28 15:19:42 +0300

teeri gravatar image

USB transfer impossible with a Mac... A pity :-(

edit flag offensive delete publish link more

answered 2014-05-06 04:04:12 +0300

bmwebb gravatar image

We really need to have a simple "Joe Sixpack" capability to transfer files to & from OSX. All these solutions are fine if you have the ability or time to be able to enable them but all I want to do is plug in my Jolla and not have to think about dev mode or SSH etc.

edit flag offensive delete publish link more

answered 2014-01-03 22:15:56 +0300

Winfried gravatar image

updated 2014-01-04 02:13:37 +0300

I finally managed to transfer files to/from Jolla on both Linux and Mac (using GUI)

On Mac (requires commercial app ExpanDrive, $39.95, see below for alternatives):

Via WLAN (note that you have to do steps 1 - 6 only once):

  1. Enable developer mode on Jolla, set a password for ssh and root access
  2. Note the WLAN IP address that your Jolla has (see settings -> developer mode)
  3. Download ExpanDrive from http://www.expandrive.com/expandrive (free 7 day trial, $39,95 afterwards)
  4. Unzip and start ExpanDrive
  5. In ExpanDrive click "new drive"
  6. Drive type: SFTP, enter Jolla WLAN IP address in 'server' field, set 'nemo' in username field and enter password. If you leave the 'Remote Path' field empty, you will connect to the nemo home dir (where music, photos etc are). If you enter '/' in the 'Remote Path' field, you will go to the root of the Jolla file system.
  7. Click 'connect' and your Jolla will show up in Finder
  8. If you open Aperture or iPhoto, you can import photos directly from your mounted Jolla

Via USB (note that you need to do all steps except the last only once) :

  1. Enable developer mode on Jolla, set a password for ssh and root access
  2. Note the WLAN IP address that your Jolla has (see settings -> developer mode, default is
  3. Install Horndis on your Mac (free download from http://joshuawise.com/horndis#available_versions)
  4. Not sure if it is necessary, but re-boot just in case
  5. Connect your Mac and Jolla via USB cable
  6. When the 'USB connected" dialog pops up on Jolla choose 'Developer mode'
  7. On Mac go to System Preferences -> Network
  8. Select the 'Sailfish' network interface and give it a manual IP address in the same range as the Jolla USB IP address (for example
  9. Now follow steps 3 - 7 from the above WLAN connection description, but in ExpanDrive connect to the Jolla USB IP address

Edit: Alternatives for Expandrive:

Some free (but less integrated) alternatives for ExpanDrive are:

On Linux (you must have kde libs and Dolphin or Konqueror installed):

  1. Enable developer mode on Jolla, set a password for ssh and root access
  2. Note the WLAN IP address (I have not tried via USB on Linux)
  3. Open Dolphin file browser on your Linux machine (or Konqueror)
  4. in the URL bar type: fish://nemo@jolla_wlan_ip_adress/
  5. enter the password that your set in step 1
  6. you can now browse and copy files to/from Jolla in Dolphin
edit flag offensive delete publish link more


It can also be done without the use of ExpanDrive, using the Terminal on mac and scp command.

I confirm the point 4, for the usb connection, the reboot (of the Jolla) is needed for the Jolla to ask "developer mode" connection.

Vivien ( 2014-01-03 22:26:14 +0300 )edit

Yes, for scp only you don't need ExpanDrive, but many users, including me, prefer to work via Finder or another GUI solution.

Winfried ( 2014-01-03 22:32:10 +0300 )edit

There is no free GUI for ssh on MacOS ?

Vivien ( 2014-01-03 22:33:11 +0300 )edit

I think it should be possible with Mac fuse, but I have limited time, so I'd rather pay the 40$ than experiment with MacFuse. Moreover, MacFuse development seems to have stopped, so I don't know if it still works with OS X Mavericks. I'll search a bit more to see if there is a free GUI app.

Winfried ( 2014-01-03 22:36:52 +0300 )edit

Just made a fast research and found that: https://www.macupdate.com/app/mac/8761/fugu

The configuration is easy:

Connect to:

Username: nemo

Password: the ssh password set on the Jolla

Click connection, and its done.

It seems a little bit old (last update 2011), but does the job.

Vivien ( 2014-01-03 23:30:22 +0300 )edit

answered 2013-12-28 12:24:55 +0300

Tomek gravatar image

updated 2013-12-28 12:30:32 +0300

I recently learned, that there should be support threw the libmtp (http://libmtp.sourceforge.net) project soon. In the GIT repository of the project, support for jolla phones was added (see http://sourceforge.net/p/libmtp/bugs/958/ and http://sourceforge.net/p/libmtp/code/ci/master/tree/src/music-players.h) recently. Unfortunately, there is no official release for it yet so that MacPots or so could use it.

edit flag offensive delete publish link more


Is there actually support added? Seems the bug isn't assigned and still open.

fawz ( 2014-01-03 19:36:40 +0300 )edit

tried mtp approach in Ubuntu, but without success.

LaruX ( 2014-01-04 00:33:33 +0300 )edit

The issue is fixed already (in source code). All the guys from libmtp need to to is to release a version 1.1.7 so that no manual steps are needed for brew and macports. I am going to kindly request so in the forum now.

Tomek ( 2014-01-04 10:21:57 +0300 )edit

I think MTP is a rather ridiculous solution if every new device requires a code change.

Setok ( 2014-04-13 10:18:44 +0300 )edit

answered 2014-04-28 03:44:05 +0300

urso gravatar image

updated 2014-05-04 03:35:23 +0300

I found file transfer working fine with 'Android File Transfer' or XNJB. No need for developer mode or ssh. Drawback is file transfer shows your home directory only (no Android directories I think).

The problem is the phone is detected as 'USB communications device class', so the Mac loads the com.apple.driver.AppleUSBCDC driver. The driver seems to claim device ownership. That's why libtmp can not open the device. Additionally the drivers AppleUSBCDCACMData and AppleUSBCDCECMData will be loaded when connecting the phone.

Check with 'sudo dmesg' and 'kextstat' the drivers loaded. Bottommost entries in 'kextstat' show recently loaded drivers. Just unload all 3 drivers:

$ sudo kextunload -b com.apple.driver.AppleUSBCDC
$ sudo kextunload -b com.apple.driver.AppleUSBCDCACMData
$ sudo kextunload -b com.apple.driver.AppleUSBCDCECMData

The next time you reconnect your phone these drivers will not be loaded unless you restarted your Mac.

libtmp works fine after unloading the drivers. Even without vendor and product id. Check with 'mtp-detect'. You will still get the 'UNKNOWN' device message, but no more connection error. Same for 'Android File Transfer' and XNJB.

Note: The screen should not be locked when transfering files.

The USB CDC drivers are provided by /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns. Not sure if it's safe to remove/rename the AppleUSBCDC.kext in said directory. Especially with /System/Library/Extensions/IOUSBFamily.kext being code signed.

Edit: Playing with libusb on my mac I found these information for my Jolla:

Bus: 029 (0x1d), Address: 007, Port: 01
    Class: By Interface
    Manufacturer: Jolla (0x2931)
    Product: Sailfish (0x0a05)
    USB: 2.00, Speed: High[480MBit/s]
    Config 0:
        Max Power: 500mA
        Interface 0:
            Setting 0
            Class: Image
            Description: MTP
        Interface 1:
            Setting 0
            Class: Communications
            Description: PC Suite Services
        Interface 2:
            Setting 0
            Class: Data
            Description: CDC OBEX Data
            Setting 1
            Class: Data
            Description: CDC OBEX Data
        Interface 3:
            Setting 0
            Class: Communications
            Description: SYNCML-SYNC
        Interface 4:
            Setting 0
            Class: Data
            Description: CDC OBEX Data
            Setting 1
            Class: Data
            Description: CDC OBEX Data

In comparison my Nexus 7 displays:

Bus: 029 (0x1d), Address: 007, Port: 01
    Class: By Interface
    Manufacturer: asus (0x18d1)
    Product: Nexus 7 (0x4ee1)
    USB: 2.00, Speed: High[480MBit/s]
    Config 0:
        Max Power: 500mA
        Interface 0:
            Setting 0
            Class: vendor-specific.
            Description: MTP

And my Samsung Galaxy Nexus:

Bus: 029 (0x1d), Address: 007, Port: 01
    Class: By Interface
    Manufacturer: samsung (0x04e8)
    Product: Galaxy Nexus (0x685c)
    USB: 2.00, Speed: High[480MBit/s]
    Config 0:
        Max Power: 500mA
        Interface 0:
            Setting 0
            Class: vendor-specific.
            Description: MTP

With all these additional interfaces exposed by the Jolla phone, your Mac/Linux computer may load additional drivers claiming the interface, thusly libmtp (which is supposed to be used by Android File Transfer and XNJB) can not open the device. That's why you have to find and kill other applications having claimed the interface and unload some drivers.

Would be nice if we can make Sailfish OS to offer only the MTP interface for file transfer mode.

edit flag offensive delete publish link more


It works for me. After unloading the driver I was able to use XNJB to download and upload files. But the App "Android File Transfer" did not work.

monomartin ( 2015-03-22 22:20:06 +0300 )edit

After removing the ",obex" option, Android File Transfer works just fine for me on OS X. No other change was required.

raimue ( 2015-09-10 02:05:49 +0300 )edit

@raimue: Thanks for confirming this works. Based on this feedback the obex option has already been dropped and this fix should be in the early access release that was announced today.

Philippe De Swert ( 2015-09-10 02:19:33 +0300 )edit

And since by converting things to an answer the actual steps to achieve this results have disappeared from this thread... It is described here : https://together.jolla.com/question/282/usb-file-transfer-support-for-mac-os-x/?answer=105226#post-id-105226

Philippe De Swert ( 2015-09-16 17:03:52 +0300 )edit

answered 2013-12-26 18:34:06 +0300

cma gravatar image

So, I have the same issue regarding the file transfer. I read somewhere that you may want to use SyncMate. But since it's Shareware you have to pay for it to actually work decent (thats rubbish). So i searched some more and found a Freeware call XNJB which works with Mavericks ok and will let you move files between mac and jolla by usb. Let me know if that works. Still... I would really appreciate an integrated method. Why would anyone use MTP... it just doesn't occur to me.

edit flag offensive delete publish link more


I tried XNJB (last update 2011...) and no luck. It does not see the Jolla. Are you saying it actually saw your device and worked with it?

Setok ( 2014-04-13 10:17:45 +0300 )edit

I've used Syncmate very successfully with the Nokia e71 (I think) and a Mac but isn't working with the Jolla at this time. I've reported it to their support, along with the current VID/PID pair for Jolla.

edit: having given up on USB, SyncMate's WiFi module works reliably, but slow. You will need to find the syncmate module apk file on their website and install it first.

Sanjay Mehta ( 2014-10-09 08:40:57 +0300 )edit

answered 2015-08-19 22:31:50 +0300

Philippe De Swert gravatar image

updated 2015-09-16 17:01:37 +0300

Seems apss and the android transfer app get confused by the extra obex communication device (which is not used atm anyway) You can avoid the communication device coming up by using developer mode and editing /etc/usb-moded/dyn-modes/pc_suite-android.ini

And remove the obex on the sysfs_value = ffs,obex line, so it reads afterwards sysfs_value = ffs

After this you will either restarts usb-moded (systemctl restart usb-moded ) or reboot the phone.

This will be also fixed in the upcoming release. (2.0.x)

edit flag offensive delete publish link more

answered 2014-01-04 01:36:21 +0300

Sailor gravatar image

I successfully installed libmtp on my mac via homebrew.

bash-3.2$ brew install libmtp
==> Downloading http://downloads.sourceforge.net/project/libmtp/libmtp/1.1.6/libmtp-1.1.6.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/libmtp/1.1.6
==> make install
�  /usr/local/Cellar/libmtp/1.1.6: 26 files, 1.2M, built in 13 seconds

But the device is not detected:

bash-3.2$ mtp-detect 
libmtp version: 1.1.6

Listing raw device(s)
   No raw devices found.
bash-3.2$ mtp-connect 
libmtp version: 1.1.6

No devices.

This is what dmesg is reporting:

[DGMTP_Drv.cpp][probe()][00097][ERRO] Current vid (0x2931) and expected vid (0x04e8) is not matchedAppleUSBCDC: Version number - 4.2.1b2
USBF:    255158.710    AppleUSBEHCI::Found a transaction which hasn't moved in 5000 milliseconds on bus 0x1a, timing out! (Addr: 2, EP: 0)
       0        1 AppleUSBCDCACMData: start - Find CDC driver for ACM data interface failed
       0        1 AppleUSBCDCECMData: start - Find CDC driver for ECM data interface failed
       0        3 AppleUSBCDCACMData: start - Find CDC driver for ACM data interface failed
       0        3 AppleUSBCDCECMData: start - Find CDC driver for ECM data interface failed
[DGMTP_Drv.cpp][probe()][00097][ERRO] Current vid (0x2931) and expected vid (0x04e8) is not matchedAppleUSBCDC: Version number - 4.2.1b2
edit flag offensive delete publish link more


I got connection to pictures, music and videos on my Jolla with my MAC via Image Capture but it seems I cannot upload anything. http://s1.directupload.net/file/d/3492/k4bloxxu_png.htm

Sailor ( 2014-01-04 01:45:05 +0300 )edit

I got similar "No raw devices found." in Ubuntu. However, I am happy with sftp transfer over wifi. Actually it's very fast and convenient way to move photos/music/videos between laptop and Jolla.

LaruX ( 2014-01-04 02:12:12 +0300 )edit

Just patched the src/music-players.h with:

   * Jolla
  { "Jolla", 0x2931, "Sailfish", 0x0a01,

And now mtp-detect partly works:

libmtp version: 1.1.6

Listing raw device(s)
Device 0 (VID=2931 and PID=0a01) is a Jolla Sailfish.
   Found 1 device(s):
   Jolla: Sailfish (2931:0a01) @ bus 29, dev 7
Attempting to connect device(s)
ignoring libusb_claim_interface() = -3PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
inep: usb_get_endpoint_status(): Operation timed out
outep: usb_get_endpoint_status(): Operation timed out
usb_clear_halt() on IN endpoint: Operation timed out
usb_clear_halt() on OUT endpoint: Operation timed out
usb_clear_halt() on INTERRUPT endpoint: Operation timed out
ignoring libusb_claim_interface() = -3LIBMTP PANIC: failed to open session on second attempt
Unable to open raw device 0
Sailor ( 2014-01-04 02:39:25 +0300 )edit

I just found out that PTP is blocking the MTP access under OSX. Killing all PTP applications leads to a better behaviour of MTP. I am currently trying setting up mtpfs to use with Jolla.

Sailor ( 2014-01-04 15:07:05 +0300 )edit

Does ImageCapture work for anyone else? All I'm seeing is an empty 'Jolla' device.

Setok ( 2014-04-13 10:20:33 +0300 )edit
Login/Signup to Answer

Question tools



Asked: 2013-12-18 15:31:33 +0300

Seen: 20,286 times

Last updated: Dec 22 '17