USB file transfer support for Mac OS X
As a Jolla user, how I can transfer media files and associated meta data between my Mac and Jolla phone?
We have moved to a new Sailfish OS Forum. Please start new discussions there.
As a Jolla user, how I can transfer media files and associated meta data between my Mac and Jolla phone?
Same request for Linux users :) We need a simple solution for transferring data in both ways without activating devel mode and SSH connection!
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 +0200 )editJolla 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).
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 +0200 )editRelated thread on maemo.org: [http://talk.maemo.org/showthread.php?t=92095]
Winfried ( 2013-12-24 22:11:33 +0200 )editanswered 2013-12-25 13:40:47 +0200
This post is a wiki. Anyone with karma >75 is welcome to improve it.
USB transfer impossible with a Mac... A pity :-(
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.
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):
Via USB (note that you need to do all steps except the last only once) :
Edit: Alternatives for Expandrive:
Some free (but less integrated) alternatives for ExpanDrive are:
Filezilla (http://sourceforge.net/projects/filezilla/?source=recommended)
Fugu (http://sourceforge.net/projects/fugussh/files/Unstable/)
On Linux (you must have kde libs and Dolphin or Konqueror installed):
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 +0200 )editJust made a fast research and found that: https://www.macupdate.com/app/mac/8761/fugu
The configuration is easy:
Connect to: 192.168.2.15
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 +0200 )editI 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.
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.
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 +0200 )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 +0200 )editAnd 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 +0200 )editSo, 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.
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 +0200 )editSeems 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)
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.
bash-3.2$
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
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 +0200 )editJust patched the src/music-players.h with:
/*
* Jolla
*/
{ "Jolla", 0x2931, "Sailfish", 0x0a01,
DEVICE_FLAGS_ANDROID_BUGS },
And now mtp-detect partly works:
mtp-detect
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
OK.
Sailor (
2014-01-04 02:39:25 +0200
)editThis thread is public, all members of Together.Jolla.Com can read this page.
Asked: 2013-12-18 15:31:33 +0200
Seen: 23,234 times
Last updated: Dec 22 '17
SD-Card access via USB is needed [released]
Add option to hide dotfiles in USB/MTP connection [answered]
Remove individual transfers [released]
MicroSD as removable drive in Windows [released]
usb symbol on charger [not relevant]
Transfer/sync photos from N9 ? [answered]
HowTo: Connecting to Jolla via SSH over USB [answered]
Browsing device over USB confusing and very slow (using KDE)
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 +0200 )editThanks 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 +0200 )editI 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 +0200 )editWould be nice if USB Mass storage would be supported in addition to MTP.
avdwoude ( 2014-02-20 02:09:38 +0200 )editApparently the Jolla USB vendor/product IDs changed in the 1.0.4.20 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 +0200 )edit