Ubuntu

Accessing a MTP device like the Galaxy Nexus fails

Reported by Christoph Langner on 2012-04-03
748
This bug affects 159 people
Affects Status Importance Assigned to Milestone
gvfs
New
Wishlist
gvfs (Ubuntu)
Low
Unassigned

Bug Description

When I connect my Galaxy Nexus to my system (up to date precise) and try to access the data on my phone, I get the following error...

The folder contents could not be displayed.
Sorry, could not display all the contents of "Galaxy": DBus error org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

In Oneiric accessing Android 4.0 devices via Nautilus worked. Not very good, but transfering a couple of files didn't fail.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: nautilus 1:3.4.0-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-21.34-generic 3.2.13
Uname: Linux 3.2.0-21-generic x86_64
ApportVersion: 2.0-0ubuntu3
Architecture: amd64
Date: Tue Apr 3 12:31:01 2012
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Beta amd64 (20120301)
SourcePackage: nautilus
UpgradeStatus: No upgrade log present (probably fresh install)

Christoph Langner (chrissss) wrote :

Thanks a lot for reporting this. Can you just confirm whether or not the
device was protected with a passcode, and if it was, had you tried
unlocking the device while it was plugged in to your computer?

On 3 April 2012 11:36, Christoph Langner <email address hidden> wrote:

> ** Attachment added: "precise_nautilus_mtp.png"
>
> https://bugs.launchpad.net/bugs/972311/+attachment/2995079/+files/precise_nautilus_mtp.png
>
> --
> You received this bug notification because you are subscribed to
> nautilus in Ubuntu.
> https://bugs.launchpad.net/bugs/972311
>
> Title:
> Accessing a MTP device like the Galaxy Nexus fails
>
> Status in “nautilus” package in Ubuntu:
> New
>
> Bug description:
> When I connect my Galaxy Nexus to my system (up to date precise) and
> try to access the data on my phone, I get the following error...
>
> The folder contents could not be displayed.
> Sorry, could not display all the contents of "Galaxy": DBus error
> org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible
> causes include: the remote application did not send a reply, the message
> bus security policy blocked the reply, the reply timeout expired, or the
> network connection was broken.
>
> In Oneiric accessing Android 4.0 devices via Nautilus worked. Not very
> good, but transfering a couple of files didn't fail.
>
> ProblemType: Bug
> DistroRelease: Ubuntu 12.04
> Package: nautilus 1:3.4.0-0ubuntu1
> ProcVersionSignature: Ubuntu 3.2.0-21.34-generic 3.2.13
> Uname: Linux 3.2.0-21-generic x86_64
> ApportVersion: 2.0-0ubuntu3
> Architecture: amd64
> Date: Tue Apr 3 12:31:01 2012
> EcryptfsInUse: Yes
> InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Beta amd64
> (20120301)
> SourcePackage: nautilus
> UpgradeStatus: No upgrade log present (probably fresh install)
>
> To manage notifications about this bug go to:
>
> https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/972311/+subscriptions
>

Christoph Langner (chrissss) wrote :

Nope, my device was not lock, nor is it encrypted. It's a standard Galaxy Nexus.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in nautilus (Ubuntu):
status: New → Confirmed
Robin Sheat (eythian) wrote :

Adding a bit of a "me too", but it might be worth noting that this happens after a bit of a delay: nautilus freezes for a while, and then ~30 seconds later that error pops up. Also, I only managed to make it work in Oneiric once, was never able to make it work again.

Robin Sheat (eythian) wrote :

Oh, I also realised that I have a different error message (even despite the translation):

Het weergeven van de inhoud van ‘Galaxy’ is mislukt: DBus error org.freedesktop.DBus.Error.UnknownMethod: Method "Enumerate" with signature "ayssus" on interface "org.gtk.vfs.Mount" doesn't exist

Dunno if it's still related now, or if I should create a new bug...

Dave Thomas (davet) wrote :

Another 'me too'. At one point a few weeks ago during the 12.04 development cycle it magically worked for a day or two but does not work on a clean install of 12.04 or on my PC that I have been testing on.

This makes me a sad pangolin. Very sad to be precise...;)

Jan Gutter (ubuntu-jangutter) wrote :

*sigh* It's what I've come to expect from Ubuntu: remember, Shuttleworth says it's better to have users than a stable product!

As a workaround, you can set the Galaxy Nexus to use PTP. (Drag down on the notifications bar, and click the "Connected as media device/Touch for other USB options" notification.) On previous versions of Ubuntu, it gave access to many more directories than it does now, but at least if you install a file manager, you should be able to copy files to the directories you can see. Keep in mind that it's slow, buggy as heck, and the protocol is really crap. Basically only use it to upload or download files: do NOT do file management!

Don't expect this to be fixed for 12.04 though. I seriously doubt that there are any actual developers on Canonical's staff: most are marketing drones.

Also, Google really should have reached out to major distros that MTP is the future much, MUCH earlier. (They had planned this from early 2011 at least.) Maybe then a decent distro could have picked up the support and Canonical would have got the code that way.

Dave Thomas (davet) wrote :

This issue seems to be resolved for me after the updates that were released today.

Jan Gutter (ubuntu-jangutter) wrote :

Which update was that? I'm up to date and it's still broken. The only updates I got that might be relevant was for glib (and libtasn1), and neither fixed the issue.

I've tried using Cinnamon, GNOME fallback and Unity, and now it seems like hit-or-miss that MTP even gets recognized. If that happens, I only get the silly button at the top that says I could use Rythmbox to manage my music device and the timeout message after a loooong while.

Way to go bringing enterprise-class polish to the user interface, guys!

Michael Dwyer (kalifg) wrote :

I am up to date and am still having the same problem as well. It has not, however, caused me to become a douche-bag.

Jan Gutter (ubuntu-jangutter) wrote :

I've tried something different:

http://ohheyitslou.blogspot.com/2011/12/galaxy-nexus-enable-mtp-file-transfer.html

Precise is up-to-date with the latest stable libmtp. BUT, it seems that mtpfs pulls down the entire tree from the phone before allowing access to the FS. If this is because libmtp operates that way, it might explain why there's a timeout in the GUI version: for anything but a basically empty phone, it's going to time out.

A quick way of accessing at least *some* part of the phone's FS is to run the mount command like 'mtpfs -o allow_other /mnt/tmp/', wait a while, switch the phone to PTP, then back to MTP. You should be able to see the portion of the tree that downloaded.

I checked how long it takes for the full tree to transfer, and it seems to be about 6.5 minutes.

Is anybody from Ubuntu dealing with this, or should try our luck with the libmtp guys?

And yeah, it does seem that the frustration is affecting me in mysterious ways :-p

Dave Thomas (davet) wrote :

Argh...its back to not working anymore. Really a surprise to me that nobody really cares much about this issue. Like it or not MTP is the way things will be from now on, this needs to be sorted out. Sucks that I need to use Windows or a Mac to access my Linux device. A real kick in the teeth.

Aryan Ameri (aameri) wrote :

I also have issues connecting the Galaxy Nexus to a fully up to date Precise system. The system recognises the device, it shows as 'Galaxy' on the Unity dock and I can open it in Nautilus, but then Nautilus just searches for the contents for a long time before giving up and showing an empty directory without any contents.

The Nexus is a very popular device, especially among the people who are running Linux, so I'd say support for it should really be a priority.

Dave Thomas (davet) wrote :

I found out why I thought this issue was fixed temporarily.

I had installed a new ROM on my Galaxy Nexus and wiped everything so the amount of files on the G-Nex was minimal and in that state it works OK with Ubuntu. Once you add files the connection to the PC times out which would jive with Mr Gutter's observation.

Jan Gutter (ubuntu-jangutter) wrote :

Asking again: is anyone from Ubuntu looking at this issue at all?

Unfortunately there's rather a complex interplay of subsystems here: It seems the top end is Nautilus, and the bottom end might be libmtp. In the middle GVFS, GIO, FUSE and all sorts of stuff might lurk.

If only some expert that knew how bits and pieces of a Linux distribution were monitoring this thread!

Anyway, on the libmtp site, there's this nice email exchange:
http://sourceforge.net/mailarchive/forum.php?thread_name=CAKnu2Mrp4s6hTXr%3DNp1VYN9sFmWbb6NV2GeTawSm2rsSu002GA%40mail.gmail.com&forum_name=libmtp-discuss

It seems that the original MTP spec transferred everything in one go. The uncached extension apparently allows devices to transfer portions of the tree, if I'm reading the exchange correctly. There's also a link in there to a different project called go-mtpfs (https://github.com/hanwen/go-mtpfs). I haven't tried it yet, but it might hold promise.

Reading the last portion of the README is really enlightening. http://libmtp.git.sourceforge.net/git/gitweb.cgi?p=libmtp/libmtp;a=blob;f=README;hb=HEAD MTP was really not designed to work like a file system. I presume the confusion sets in because the UI conflates the object handling metaphor with the file handling metaphor under Windows.

Bklyn (v-launchpad-bklyn) wrote :

I'm pretty sure mtpfs is the problem here. I just tried go-mtpfs (https://github.com/hanwen/go-mtpfs) as Jan mentions above and I'm able to work with my Galaxy Nexus under Nautilus and on the command line without errors or long delays.

Michael Dwyer (kalifg) wrote :

When I run mtp-detect from the commandline, I get this output:

libmtp version: 1.1.3

Listing raw device(s)
Device 0 (VID=04e8 and PID=685c) is a Samsung Galaxy Nexus/Galaxy S i9000/i9250,
 Android 4.0 updates.
   Found 1 device(s):
   Samsung: Galaxy Nexus/Galaxy S i9000/i9250, Android 4.0 updates (04e8:685c) @
 bus 2, dev 23
Attempting to connect device(s)
Android device detected, assigning default bug flags

It hangs at this point, so it led me to think that the problem was at the libmtp level. I tried the go-mtpfs. It is working, so I wonder where the difference could be.

Jan Gutter (ubuntu-jangutter) wrote :

mtpfs, go-mtpfs, gmtp, mtp-detect and nautilus (gvfs, or gio, or whatever) all use the same libmtp library. It seems that the common way to query MTP devices used to be "pull a list of all objects", "push and pull individual objects". A lot of old, legacy devices actually seem to *expect* that kind of behaviour.

When Google decided upon MTP, they obviously just tested with Windows. (The OSX people also tend to mumble and growl about the transfer speed). I have no idea how the Windows MTP stack works: on Windows XP you have to install Windows Media Player, but later versions seem to have it built-in. The rationale being that you don't want people to install third-party stuff, so you stick with whatever crap protocol Microsoft designed. MTP is NOT made for generic file transfer, it's made for "media" transfer (i.e. videos, music and pictures).

It's entirely plausible that Microsoft's MTP stack does a per-device check (or uses massive USB id databases) to see whether the devices are "old" or "new" style, and works accordingly. Also Microsoft's MTP stack runs a single service that connects and speaks to the MTP devices, so the way libmtp speaks to the devices is by nature completely different.

So, it looks like the two styles (incremental fetching of objects, and full listing) seems to be slightly incompatible. libmtp supports both, but the application using it (go-mtpfs and mtpfs) use entirely different parts of the API, it seems.

So, either we need to find out where the code that uses libmtp in Nautilus is built, use *shudder* go (I feel like installing .NET!) or fix mtpfs to use a different style of access. I guess, waiting 10 minutes using gmtp is also an option.

Seems like the Ubuntu people are still MIA?

Sebastien Bacher (seb128) wrote :

Not sure who you call "Ubuntu people", those who comments on that bug are as much "Ubuntu people" that anyone, speaking as the person who look at nautilus usually I don't own a mtp device to look at this issue, that also seems rather a gvfs or libmtp issue rather than a nautilus.

Short summary: help to resolve the issue is welcome, upstream would be a good place to report the issue, Ubuntu is mostly distributing software and has limited resources, the code writers are probably better place to have an idea about this

affects: nautilus (Ubuntu) → gvfs (Ubuntu)
Changed in gvfs (Ubuntu):
importance: Undecided → Low
Jan Gutter (ubuntu-jangutter) wrote :

Sorry, I meant Canonical people. I forgot that Ubuntu is supposedly a "community distribution", except when it's not :-p

Where's "upstream"? Is there a bug tracker for the gvfs people anywhere? Please understand, the reason this is a confusing issue is that it's not immediately apparent from any system feedback where the issue lies: Nautilus pops up on connecting your device, giving a cryptic error from DBUS with very little help.

Like any non-trivial system where only a small fraction is visible, we must rely on experts to point us in the right direction. I understand it's a low priority for Canonical to fix this: maybe changing the error message to "Device not supported" might be more helpful?

Sebastien Bacher (seb128) wrote :

> Sorry, I meant Canonical people.

Canonical is not Ubuntu, even if Canonical is spending quite some resources improving Ubuntu. Canonical is selling support though so if you really need to see that issue resolved you might want consider talking to them about buying support

> I forgot that Ubuntu is supposedly a "community distribution", except when it's not :-p

Keep the trolls for another place thanks

> Where's "upstream"? Is there a bug tracker for the gvfs people anywhere?

https://bugzilla.gnome.org/enter_bug.cgi?product=gvfs

> Please understand, the reason this is a confusing issue is that it's not immediately apparent from any system feedback where the issue lies: Nautilus pops up on connecting your device, giving a cryptic error from DBUS with very little help.
> Like any non-trivial system where only a small fraction is visible, we must rely on experts to point us in the right direction.

Right, it means it needs debugging from somebody who has a clue about this stack, launchpad might not best the best place, as said Ubuntu is distrubuting this code, not writting it

> I understand it's a low priority for Canonical to fix this: maybe changing the error message to "Device not supported" might be more helpful?

What is revelant to Canonical doesn't really matter here. Ubuntu is its own project, any Ubuntu member, upstream or community member can be fixing this bug, it's not because Canonical is a big contributor that it's the only one. The issue is also not a priority one but a resources,work ratio one

Changed in gvfs:
importance: Unknown → Wishlist
status: Unknown → New
Laurent Dinclaux (dreadlox) wrote :

The bug is still there in 12.04 stable. When I plug my Galaxy Nexus, a nautilus empty windows opens and after a while I get an error in a gtk window:

"Désolé, impossible d'afficher tout le contenu de « Galaxy » : DBus error org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken."

Jason Kern (jaskerx) wrote :

Seems to work now, I can view and transfer files in Nautilus (slow to load) as well as sync playlist to Galaxy Nexus in Banshee. Ubuntu 12.04.

There is no fix for this issue yet, so it still doesn't work.

I think you could sync only because your device had less files on it. The timeout problem happens only if the device is loaded with lots of files.

Still not working for me either on 12.04 fully updated.

This makes me restart the pc on WIndows just to perform this task and then restart back on Ubuntu. It is very annoying at least.

david wood (david-wood) wrote :

Perhaps by 2013 or 2014 we will catch up to Windows. :)

Confirming limited but useful PTP workaround.

Onlyodin (ubuntu-xsnet) wrote :

Unfortunately, using PTP doesn't seem to let me transfer any files except images. I receive a message "Error getting file: -6: Not Supported"

It also times out occasionally, which I can cope with, but I am left only to resort to other means of file transfers such as FTP and WebDAV apps, which of course use network communications instead of USB.

Kyle M Weller (kylew) wrote :

not working here fully updated as of 7/14/2012
common guys the nexus is an android linux device, this should get priority

deefactorial (deefactorial) wrote :

I have found the same issue connecting using Nautilus when the phone is in MTP mode on a Galaxy Nexus on ubuntu 12.04 LTS, gMTP seems to work occasionally , but takes several minutes to load and cuts out easily. The best I have found was to use a program called Clementine to transfer music. I put the phone in Camera mode and use Nautilus fine to transfer photos and I can manually manipulate the file system using the DDMS in Eclipse for anything else I need.

If it's any consolation I've recorded the stack trace of the event in DDMS and attached it.

Timur Vasyunin (kpod13) wrote :

Still not working for me either on 12.04 fully updated.

Sascha Jazbec (jazbec) wrote :

brandnew Galaxy Tab 2 7.0 with Android 4.04 is not mountable in 12.04.1 LTS 32bit .. MTP not working, USB debugging in Android also not working. Very very annoying. I need a working connection via USB.

Anthony Borrow (arborrow) wrote :

Just tested with 12.10 beta and am still seeing this problem.

Rudy Vissers (rudy-vissers) wrote :

Come on guys... Are we serious people ? Can you explain the user lambda that it is not possible to browse his galaxy nexus from within ubuntu 12.04 ? Do you want them all to switch to the iPhone ? This one is a shame...

Joseph Maillardet (jokx) wrote :

The « importance : low » of this bug show us how ubuntu team don't understand that MTP is going to be the main way to access android devices.

I can't beleave that this problem is not to be solve in a week... I was able to compil go-mtpfs (thanks Jan). But all my « normal » user can't and won't do something like compiling ...

shame...

Can not connect to the new Nexus 4.

John Gotts (jgotts) wrote :

Here is the Fedora 17 bug I filed on the same bug.

https://bugzilla.redhat.com/show_bug.cgi?id=906926

I am able to use my Galaxy. I just have to tell Fedora to not run any programs automatically, patiently wait for gvfs to complete, and after 5-10 minutes, start audacious by hand.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.