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?

-- 
You received this bug notification because you are a member of Desktop
Packages, which is 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:
  Confirmed

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

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to