Posted by: glasskeys | 02/28/2011

Why Google uses MTP instead of USB file transfer on Android 3.

I am reprinting a post from the Xdev forums on why Google is using Media Transport Protocol (MTP) based storage instead of USB storage on Honeycomb (Android 3.0). This of course also pertains to the Xoom, which recently went on sale as the first Android 3.0 based tablet.

Forum user Gogol posed these questions:
“-What is the breakdown of that 32GB Xoom internal memory (how many parition (sp), how much space for apps / files)?
- Why Google is using MTP instead of USB file transfer on Honeycomb?”

He received the following response from a Google developer:
“MTP is a big improvement over USB mass storage — for devices with lots of internal memory, a manufacturer no longer needs to come up with some hard partition between the USB mass storage and internal storage. Instead, they are all in one partition, with MTP providing access to the directory of media files that would normally be available through USB mass storage. This means there is no longer a need for apps on SD card for such devices, because what used to be the ‘internal SD card’ is in the same partition as where applications are stored. The storage on your device can be used for either applications or media, depending on what you want to put on it. You aren’t stuck with how much space the manufacturer decided to leave for the two areas.

Oh also this means that the media storage doesn’t need to be unmounted from Android when it is being access through the PC.

So now we know why: simplification, as well as untying the OS partition from user storage partitions, which is more convienient and more flexible.

A snippet also from Wiki about MTP:
A main reason for using MTP rather than for example the USB mass-storage device class (MSC) is that the latter operates at the granularity of a mass storage device block (usually in practice, a FAT block), rather than at the logical file level. In other words, the USB mass storage class is designed to give a host computer undifferentiated access to bulk mass storage, such as compact flash, rather than to a file system, which might be safely shared with the target device (except for specific files which the host might be modifying/accessing). In practice, therefore, when a USB host computer has mounted an MSC partition, it assumes absolute control of the storage, which then may not be safely modified by the device without risk of data corruption until the host computer has severed the connection.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Update – 21 August 2011: For those interested in how to use MTP on their desktop (Mac & PC) to transfer files to their Android tablet consult this post.


  1. [...] Update 02/28/2011: More information about the Xoom filesystem. [...]

  2. [...] more open and flexible tablet. Could this be Google's means of DRM control? Though according to the following, they claim its for: From a Google developer: “MTP is a big improvement over USB mass [...]

  3. Hm. I call BS. But whatever the reason, it’s a giant pain in the ass if you want to move files to/from a current-generation PC, especially if the PC is a Mac. I was ready to believe it was a conspiracy to prevent, or at least erect a barrier to, file sharing. After all, this is an OS that requires you to root your device to back up your application data. It took me nearly an hour just to get file access working with an XP machine, and I find that none of my sync software–Mac or PC–can access the device’s storage. If I’d wanted needless inconvenience accessing my own work product, I’d have bought a #$%@ing iPad. Thanks a TON, Google!

  4. Pete,

    It is for many users, especially Mac OS X because people using version <10.5 of that OS have to go a different route as Google Android App for Mac OS X isn't supported for those versions.

    According to Wiki, if you install Win Media Player 10 or 11 for Windows XP. , it should mitigate your problems as the player installs MTP compatible drivers, software, protocol dlls, (& who knows what else), XP needs for communicating with devices utilising the MTP protocol.

    You can get it from here on Microsofts media player 11 download page.

    Hope this helps mate,

  5. Um. I don’t know how grownups implement MTP, but the folks at Google really blew it badly.

    Create a folder in Android. Create a folder with the same name using Windows Explorer. No collision notification. But you had to create that folder if you wanted to copy files in, since Windows won’t see new folders until you reboot windows – even restarting the Android device doesn’t prompt Windows to re-poll for changes.

    Now, delete that folder in Android. The folder and any files are still displayed in Windows. Reboot your Android device – the folder and files remain.

    Try copying or deleting the files. Nothing happens – no windows error message, and nothing even in logcat on the Android device.

    Epic fail for a filesystem.

    Arguably, Apple now has better file management than Google does, because at least you don’t get this kind of utterly hosed behavior from it. Yes, you need to install a highly annoying software interface to copy in and out, but the functions work as opposed to failing silently.

  6. I think part of this behaviour can be explained by the original purpose of MTP itself. Primarily before Android MTP was used for media player devices.

    Case in point: Imagine an MP3 player that only permitted every song file to have a unique name. That would be unacceptable to most users, especially for those that like cover bands. :)

    Filesystems are essentially becoming databases for the most part anyway and it frankly is high time the constraints of old are cast aside.

    • If you plan to put all your mp3s into one folder, and your titles didn’t indicate which band or album the song had come from, yes, you might find that frustrating.

      But I’d have to ask where the files were being brought in from in that case. I have a large mp3 library and find it trivial to be sure that in any given branch of the tree there are no name collisions. In part this is because collisions aren’t silent, and neither is failure to copy.

      A truly excellent set of silent fail modes with Google MTP are those around directory deletion. You can try to copy a file that’s not present on the device, in a directory that’s not prsent on the device. It won’t work, but the absence of the directories and the failure to copy are both hidden because Google MTP doesn’t update the computer talking to it on what directories and files are present until the computer is rebooted. Rebooting the google device is not sufficient.

      I wouldn’t have believed anyone would not just defend but rather advocate silent failure modes as Progress in an effort to move past ‘constraints of old age’ until today.

  7. I have wasted DAYS unsuccessfully trying to get my new Asus Transformer to shake hands with my WinXp laptop. Google is only entitled to call something an “improvement” if it actually works! Currently, my only viable option for transferring files is wirelessly via SwifTP.

  8. [...] am on xp. I downloaded this on my Mac (they also have a PC version) and it worked like a charm. Why Google uses MTP instead of USB file transfer on Android 3. Download: Windows Media Player 11 for Windows XP – Microsoft Download Center – Download [...]

  9. [...] without risk of data corruption until the host computer has severed the connection.“ Source I was trying to connect my phone to my TF for media sharing via USB but ran into this problem. [...]

  10. [...] Originally Posted by baillou2 I'm confused. Is this more of a hardware thing? Because I'm running ICS on my Vibrant and I've had no problems accessing the filesystem with my linux laptop. Nothing has changed as far as I can tell. Yes it is a hardware issue, or more specifically a device issue that is thus far exclusive to the Galaxy nexus, since that device has no USB storage (it's all on-board). Here are a couple of explanations: Google's Dan Morrill confirms USB Mass Storage in Ice Cream Sandwich, not present in Galaxy Nexus, however – GSMArena Blog Why Google uses MTP instead of USB file transfer on Android 3. [...]

  11. monumental fail by google

  12. MTP is also apparently hellishly fast. Anecdotal tests indicate something like 4 times as fast as mass storage on devices that support both. I would love to know why.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s



Get every new post delivered to your Inbox.

Join 157 other followers

%d bloggers like this: