Honeycomb, MTP and Linux


If you want to transfer files between your computer and your tablet, get aafm, an application I’ve written to work around MTP issues with Linux.

Honeycomb ends with the tradition of allowing users to mount the phone’s SD card as an USB mass storage device, and replaces that with MTP. Or, in other words, “Media Transfer Protocol”, a Microsoft protocol for transferring files between portable devices and a computer.

Why? Because in theory MTP allows the computer to access single files and directories at the same time that the device can still access them. So you can forget about “dismounting” the SD card and getting some applications to stop in your Android device. It sounds too good to be true… and as expected, it doesn’t work.

There’s hardly been any mention to this change in all the Honeycomb announcements, and it certainly is a disruptive change. Because this new protocol relies in the manufacturers getting their act together to provide proper drivers that are able to communicate with the device, it seems everybody is having problems. Not only in Linux –which is my case–, but in Mac and Windows too. They have to install “Samsung KIES”, which sounds absolutely like an iTunes counterpart, and restart the computer and device several times, and maybe update something else. So we had been able to run away from having to use a dedicated program to transfer files to our Android devices, and we have to end up installing some special software to do that with Honeycomb. Boo.

I’ve been following several tutorials to get MTP working with the Samsung Galaxy Tab 10.1 that I was given on the Google I/O, such as this one. I’ve even managed to get the tablet to show up and automount, and I can copy files. Yet when I re-mount the tablet again, the files are “gone”, nowhere to be seen, although they are accessible from the point of view of the tablet.

I tried upgrading the tablet to 3.1 as the update was available. And for that, I had to register for a Samsung account first, and click on an agreement. Again locking people in. Not nice, and there wasn’t much of an improvement. Except I could change the time zone at last, which was a bug I noticed before.

Now, for transferring files you need to disable USB debugging mode. But let’s say you want to enable debug, for developing on the device. Hah! The tablet won’t allow you to do so unless you physically unplug the cable first.

And here comes the finest surprise of all: once you enable USB debugging, and connect the tablet again, you can see those mysteriously disappeared files, using ADB or DDMS (from the SDK toolkit). I wonder if some sort of utility could be built to transfer stuff using adb as the low level connection method instead of this MTP “thing”–to describe it somehow without resorting to rude epithets. UPDATE: I’ve started developing such utility. If you want to take an early stab at it, have a look at aafm – Android ADB File Manager 🙂

I wonder if the commercial version of Galaxy 10.1 has this sort of problems. Some people are suggesting that Google are trying to get people to use “the cloud” instead of simply using plain old storage, so maybe commercial tabs have this feature too.

If that’s the case, that renders Honeycomb devices utterly unattractive.

7 Replies to “Honeycomb, MTP and Linux”

  1. Well the commercial version is no different. Running ubuntu and i cant access the 32g I paid for. Let me know if you do find a solution.

  2. Just tried it with my Samsung Galaxy Tab 10.1 (retail) and it showed up in Ubuntu as “SAMSUNG_Android”. Was able to transfer some files to the device, but it really slowed down my system. Never had this type of slowdown with normal mass storage mode on previous devices.

  3. I’ve been struggling to do file transfers to/from a non-rooted retail galaxy tab 10.1 (running honeycomb) and a ubuntu maverick desktop.

    I’ve found pretty much all the same problems that have been reported here and elsewhere attempting usb transfers: mtp and usb soft of work, but don’t really do what’s needed (in contrast to the situation on windows 7, where it’s easy to copy files to/from the sdcard via usb, using samsung’s latest usb driver download).

    I’m still searching for a solution to getting easy usb access from the ubuntu system, but in the mean time I’ve come up with something that works fairly well using ssh over wifi.

    the solution: sshdroid on the tab and filezilla on ubuntu. filezilla’s bookmarks can automate the connection (provided you configure a fixed ip for the tab in your router), so now with a couple of clicks you can be moving files/folders between the tab and your maverick system.

    any suggestions/comments are welcome (rick at deviceguru dot com)

  4. There is no SD card in Samsung Galaxy Tab 10.1, so we’re talking mass storage mode here. This mode doesn’t exist, only MTP mode is possible. This is a terrible mistake by the Honeycomb developers. Several apps, including eWallet reader, cannot work with these Android tablets due to the absence of mass storage mode. The 3.1 version doesn’t fix the problem.

  5. I’ve developed a little python command line utility that uses adb as its underlying “engine” and can copy files from/to the tablet. It’s still pretty rough and that’s why I haven’t blogged about it yet, but you can check it out here if you desperately need to do that in your tablet 🙂

    Ultimately I’d like to do a GTK sort of viewer so that everything could be done in a graphical way, but I’ve been quite busy lately and haven’t had time to do that yet.

    Let me know if you use it and/or like it!

Comments are closed.