Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'm using the US Model 16GB version of the Samsung Galaxy S3 (I747), however, I cannot mount it to my laptop from some reason. I have tried using both FTP and MTP connections, but neither work.

What should I do?

share|improve this question
I always had trouble with trying to transfer file using MTP in Ubuntu, AirDroid has been my savior for quite a while. –  Dan Sep 17 '12 at 17:32
you could just use adb(many posts about it) OR use airdroid app + usb tethering for network –  user148266 Apr 10 '13 at 11:11

15 Answers 15

Update: The GVFS-MTP module is included in the default installation since 13.04. For troubleshooting see this anwser.

There have been several projects to bring MTP support to Linux during the recent months. Here is a quick overview:


The best solution would be to use GVFS via the recently released GVFS-MTP-backend to mount your Android phone. There are two PPAs with a newer GVFS version.

  1. ppa:langdalepl/gvfs-mtp

        sudo add-apt-repository ppa:langdalepl/gvfs-mtp
        sudo apt-get update && sudo apt-get dist-upgrade
  2. ppa:webupd8team/gvfs-libmtp

        sudo add-apt-repository ppa:webupd8team/gvfs-libmtp
        sudo apt-get update && sudo apt-get dist-upgrade



You could use go-mtpfs to mount your Android phone.

go-mtpfs screenshot

Install needed packages and get the source:

sudo apt-get install golang-go libmtp-dev
sudo go get github.com/hanwen/go-mtpfs
sudo ln /usr/lib/go/bin/go-mtpfs /usr/local/bin/

Add yourself to the group fuse (after that log out and log in again):

sudo adduser $USER fuse

Create a folder for your Android phone and mount it with go-mtpfs into that folder:

mkdir android
go-mtpfs android

Unmout your Android phone (wait for the end of file operations):

fusermount -u android

Source: http://linuxundich.de/de/android/mit-go-mtpfs-unter-linux-auf-android-handys-via-mtp-zugreifen/


You could use jmtpfs to mount your Android phone.

jmtpfs screenshot

Download jmtpfs, unpack and change into directory:

cd /tmp
wget http://research.jacquette.com/wp-content/uploads/2012/05/jmtpfs-0.4.tar.gz
tar -xzf jmtpfs-0.4.tar.gz
cd jmtpfs-0.4

Add yourself to the group fuse (after that log out and log in again):

sudo adduser $USER fuse

Install needed packages, compile and install (for checkinstall questions hit enter) jmtpfs:

sudo apt-get install libmtp-dev libfuse-dev libmagic-dev checkinstall build-essential
sudo checkinstall

Create a folder for your Android phone and mount it with jmtpfs into that folder:

mkdir ~/android
jmtpfs ~/android/

Unmout your Android phone (wait for the end of file operations):

fusermount -u ~/android

Source: http://linuxundich.de/de/ubuntu/mit-jmtpfs-mtp-gerate-wie-das-galaxy-nexus-oder-das-samsung-galaxy-siii-in-ubuntu-mounten/

share|improve this answer
With the GVFS method I could copy files. However I also got "internal error" messages for gvfsd-mtp. –  jdthood May 2 '13 at 9:22
I found that GVFS couldn't create files on my GT-I747M S3. I initially had this problem using the PPA under 12.04, and later when running the 12.10 amd64 Desktop live DVD. However, go-mtpfs can do writes properly, and speeds are well above 10MB/s for both reads and writes. –  intuited Nov 30 '13 at 20:32
This is almost completely outdated. See scottl's answer below for the easiest approach. –  wakeup Jul 24 '14 at 0:20

It's not worth it. Use something like SSHDriod and then connect over ssh. There are also FTP servers and even Driod NAS that gives cifs access. MTP does not work well, and likely will continue to not work well for the near future.

If you really want to get mtp working then make sure you set your Nexus to NEVER lock the screen or power off the screen. Locking the screen with "lock" the MTP protocal as well, causing all manor of data loss and connection issues. Powering off the screen in the stock kernel (might even be hardware) will turn the CPU down as much as it can and enable tons of other strong power saving features, that will result in horrid (but still working) transfers.

share|improve this answer
Spot on! I don't like the adds that come with SSHDroid, but there are alternatives. –  Luís de Sousa Sep 27 '13 at 12:51
Something like SSHDroid... ConnectBot is great, especially with the Hackers Keyboard. –  Wilf Feb 19 '14 at 13:23
@Wilf. SSHDroid lets you config your phone as an SSH server. ConnectBot lets you use your device as an SSH client. Not the same thing. –  Octopus Jan 14 at 3:40
@Octupus , I realise my comment is not clearly worded :), but what i do is use connectbot to control a Linux machine without a monitor/cloud print so i can transfer the files on to it using sftp or Dropbox/Drive links, and then print using lpr etc. I know they aint the same thing, but can be used in addition to thus quite easily. –  Wilf Jan 14 at 23:41

MTP is a Microsoft technology and is not officially supported on Linux. I've tried Mtp-Tools many times too, without success. If you consider an alternate method though, I've two recommendations:

share|improve this answer
I was able to connect it to my work computer mtpfs, but not at home. Could you help me troubleshoot it? –  Pomario Nov 22 '12 at 20:26

As Dan mentioned, a wireless file transfer app like AirDroid is a good solution.

These apps fall into two subcategories:

  1. ones where you access your files through the browser (AirDroid), and
  2. ones where you FTP into your phone using a FTP client like FileZilla (and FTP Server).

Such an app is fine for small files but for transferring HD movies, you would need hours or days. Max transfer speed on Ubuntu is about up to 260KB/s (for some reason) while on Windows 7 it's about up to 1MB/s.

There's gMTP which is available in the app store, but chances are it won't work for your Galaxy S3 - it doesn't work on mine, most of the time. (You have to wait out the app hanging; it looks like it crashes whenever you interact with the app but if it recovers, then you know it works.)

If you need speed, the best solution is the one posted by BuZZ-dEE, although the original source is English:


You'll need to be comfortable with the terminal, compiling programs from source code and editing source code, though. If anyone needs a walkthrough, let me know.

share|improve this answer
Just commenting, the speed is not that bad, and it's not because of limitation on the OSs. It obviously depends on how fast your Connection is, the faster the better, the shorter the time will be. –  Uri Herrera Nov 27 '12 at 5:17
The SSHDroid app works remarkably well, when I tested with Galaxy Tab 2 7.0. I haven't yet tried to find best solution for USB connectivity. –  david6 Dec 15 '12 at 10:06
+1 for AirDroid. Hands-down the easiest to install. –  ΕΠΑ Jun 4 '14 at 12:12

This indicates that for Ice Cream Sandwich, Ubuntu file transfer is as simple as ticking the PTP checkbox. In a few seconds you are browsing the filesystem in Nautilus.

Select connection type

Enable PTP connection

Open phone in Nautilus

Pictures taken directly from: Source

share|improve this answer
Works fine for me with the Galaxy S3 and Ubuntu 12.04. –  El Yobo Jan 5 '13 at 7:13
Didn't worked for me. I could copy files to the phone but the copied files didn't show up in Nautilus. –  jdthood May 2 '13 at 9:20
I am able to see the folders Pictures media and Video but none of the files are visible on the computer. –  arun Jun 22 '13 at 19:11
Ah, got it. The pictures are in DCIM/Camera and not under Pictures –  arun Jun 22 '13 at 19:12
Tried this with ubuntu 12.04.3 + SGH-I747M. Couldn't see files that were not picture-type files (.jpg, .png, etc.). The root of each card (internal & external SD card) contained a bazillion folders, I think a copy of every subfolder in the heirarchy, plus extra ones with weird hexadecimal extensions. Picture files from subdirectories were also displayed at the root, but couldn't be viewed. They could be viewed at their actual location. File transfers to the phone seemed okay, though overwriting a file would a) make its directory look blank and b) create two copies, $FILENAME.dup[01]. –  intuited Dec 1 '13 at 3:45

I would recommend 'Go-mtpfs'. There are 2 way of use this program that i should explain.

First install the program using the folowing commands:

sudo add-apt-repository ppa:webupd8team/unstable
sudo apt-get update
sudo apt-get install go-mtpfs

Using the terminal

If u want to use the program using the terminal or if u simply hate unity.

  1. Mount You mtp device
    For mounting your device probably do the following command.

    go-mtpfs /media/MyAndroid

    leave your terminal open so long you use your device.

  2. For unmounting your mtp device
    Close the terminal or do ctr+c for terminate the program.
    fusermount -u /media/MyAndroid

Using the custom Unity Launcher

  1. First install the launcher:

    sudo apt-get install go-mtpfs-unity

  2. Press the ubuntu button on the unity launcher. Search for "Mount Android Device". And drag the icon to the unity bar.

  3. Than simply right-click the icon and you should get this. enter image description here

Enjoy your android device that now works perfectly on ubuntu :D.


share|improve this answer
Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  RolandiXor Apr 10 '13 at 16:15
Oke i will try to make my answer better. –  Thomas15v Apr 10 '13 at 16:28
Niec solution, very helpful for those looking for a round-a-bout mounter for the android fs –  ehime Jun 19 '13 at 19:37
Thanks :p, Note: ubuntu 13:04 do not need this anymore :D. It works more out of the box than windows ;). –  Thomas15v Jun 22 '13 at 7:31

This post is similar to the first one you linked, but the steps are a bit different. It might help to give it a try.

The steps are summarized below for convenience.


I have not personally tried the following steps. I cannot guarantee their safety or usefulness. Use at your own risk.


  1. Install the relevant packages:

    sudo apt-get install mtp-tools mtpfs
  2. Create a new udev rule using the following command (requires password):

    gksu gedit /etc/udev/rules.d/51-android.rules
  3. Here we will deviate from the posted steps a little based on a comment from the linked post. In a terminal, run lsusb with your Nexus 7 connected via USB. You should see output like the following:

    Bus 001 Device 010: ID 18d1:4e41 Google Inc.

    Keep the two colon-separated values after the ID part in mind for the next step. They are what you should set ATTR{idVendor} and ATTR{idProduct} to, respectively.

  4. Type the following text into the file, all in a single line (numerical values used are those from the original posted steps):

    SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666", OWNER="your-username-in-ubuntu"

    As an example, using my username and the values from the comment, the line I would enter would be:

    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e41", MODE="0666", OWNER="christopher"
  5. Create a mount point for your Nexus 7:

    sudo service udev restart
    sudo mkdir /media/Nexus7
    sudo chmod a+rwx /media/Nexus7
  6. If your Nexus 7 is not already plugged in, do so now. Then run the following command on Ubuntu in order to access it:

    sudo mtpfs -o allow_other /media/Nexus7

    This should allow you to use Nautilus in order to browse your Nexus 7 and transfer files.


When you are finished with whatever you are transferring, run the following command to unmount your Nexus 7 before unplugging it:

sudo umount mtpfs

And in case that didn't work...

...you can take a look at a supposedly more reliable way to connect here.

share|improve this answer

gmtp provides a friendly UI to access new mobile devices and I've used it reliably for years.


GMTP mobile device navigation & synchronization

share|improve this answer
Thanks for great and the simplest approach! –  wakeup Jul 24 '14 at 1:28

If your computer and Nexus are on the same wifi network, you can use an app called AirDroid. It's free


  1. Open app on device.

  2. Go to web.airdroid.com on computer web browser.

  3. Enter passcode generated on device into the web app.

  4. Automatically connects. You can transfer files, view contacts and many other things. It's great. I use it all the time.

I hope this helps.

share|improve this answer
Does this work if the wifi network is a hotspot created by the phone? What about if it's a hotspot created by the PC? –  intuited Dec 1 '13 at 3:47

Add the raring repositories to sources.list and

sudo apt-get -t raring install gvfs

After this I can browse the filesystem on a Samsung Galaxy S3 with Android 4.1.2, using Nautilus.

Note that the apt-get pulls in quite a few packages from Raring including a new libc6.

share|improve this answer

this works great for getting the android 4.2.2 phones to show up in 12.04 Ubuntu.

Edit the /etc/apt/sources.list to add raring then install gvfs. It took a few attempts to get apt to install everything (apt-get -f install). I may have borked something else, but for now this particular problem is resolved.


share|improve this answer

I followed the steps mentioned on the post u link, and worked fine for me, but i mounted using sudo command before the mount.. another thing i pluged the device before doing all the steps. and now is working fine.. Also check that ur device have enable the option USB computer connection, there i selected Media device (MTP). That's all i have done.. hope u can make it work soon. Regards

share|improve this answer
thank you for your comment, but it did not provide any help in troubleshooting the issue –  Pomario Nov 20 '12 at 19:51

I have an LG P880 and I have created a directory inside "Pictures" and named it "ptp" then I connect my device as PTP, and copy files to pictures/ptp

There's one little problem though, I couldn't see a transfer dialog while copying files, so, I think you need to estimate time.. for me, I compress big files into little piece and wait for them to appear on the other side, then remove device after a while.

Then, of course, open any file manager and move/extract files to desired location. I use this method all the time..

share|improve this answer

Got it working with my Nexus 4 by installing the newest version of libmtp from launchpad. The version for Raring Ringtail works fine on my 12.04 system. The instructions stay the same as in your tutorial.

Edit: Although it works, it's painfully slow... I'm right now copying with 7 kb/s

Edit2: Nvm, it got up to 350 kb/s, which is acceptable I presume.

share|improve this answer

Is your Android device password protected and locked? I found I was getting the error:

Transport endpoint is not connected

because I hadn't entered the password. Once I authenticated on the device, I could connect.

Makes complete sense when you think about it. You shouldn't be able to just grab a device you don't have a password for and connect to it via computer.

share|improve this answer

protected by Community Jul 10 '13 at 20:53

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.