By Joe

2013-10-31 14:14:41 8 Comments

Apparently newer versions of Android require the use of Android File Transfer. I have an older machine that doesn't require this, and just mounts as a USB mass storage device. I can't see a technical reason why Android File Transfer is now required when it used not to be.

What changed in order to make this necessary? Why is it necessary?


@Dan Hulme 2013-10-31 15:08:47

Newer Android devices don't support USB mass storage because it has a big shortcoming: the phone and the PC can't access the storage at the same time that way. This is because USB mass storage is a low-level protocol giving the PC low-level access to the whole filesystem. This causes knock-on problems when you connect your phone to the PC:-

  • Apps on the external storage can't run while it is mounted on the PC.
  • Music and other files on the external storage aren't accessible to apps, so even apps that aren't on the external storage might stop working or become useless.
  • When the external storage is unmounted from the PC, Android has to rescan it from scratch (see ) because it can't tell what has changed.
  • There's no way for the phone to let the PC access the internal storage this way: Android can't unmount the internal storage, because all apps need access to it, even the system apps.
  • This also means there has to be a separate partition and filesystem for the external storage, which the phone can cope with losing access to. Newer Android devices often just have one big partition, and the "external storage" is simply a directory there. It's more convenient that way because you don't have free space split between partitions, but you can't use USB mass storage on only a directory.
  • Android can't enforce any filesystem security. The PC has complete access to the exported storage, below the filesystem level. This lets it access any file, and read the raw device data to recover deleted files. This might be considered an undesirable security hole.
  • As eldarerathis points out, the external storage has to use the FAT32 filesystem to work this way. This isn't a shortcoming when it's a real SD card, but when it's really non-removable storage, it would be more useful to use a better filesystem.

(Where I say "SD card" here, that means whatever storage your Android device calls "external", even if it's not actually removable.)

In contrast, MTP is higher-level, and allows Android to arbitrate and to share access, just like when sharing directories or filesystems over a network. It even opens the possibility of letting the PC access the internal storage this way, but there are other restrictions around that unrelated to MTP.

As eldarerathis explains, you need special software to access MTP devices from a Mac, because Mac OS doesn't have the appropriate software built-in, like Windows and some Linux distributions do.

@Izzy 2013-10-31 15:57:56

While the pros are logical, I still don't see why it was completely removed. MTP certainly makes it harder to attach your device to "any computer" in order to just exchange some files, you always need to install "special drivers" on e.g. Windows machines – which the owner for good reasons might refuse (and would not be required for UMS). Thus having UMS available as a fall-back to be explicitly activated by the user would be preferable IMHO. But right, not for us here at ASE to decide (unfortunately).

@Joe 2013-10-31 15:59:47

I agree, it's a shame it was completely removed. I regularly mount my android to move files around, and eject after. Not tried the new MTP. But maybe there were some chunks of the OS that could be simplified or removed after this change.

@eldarerathis 2013-10-31 16:00:45

@Izzy: I think the big problem is that it's not technically feasible once they went the MTP route the way they did. On a device without external storage (like Nexus devices) you'd have to basically surrender the entire /data partition if you used UMS, unless there was some way to make the /data/media directory act like some kind of virtual block device (maybe there is, I'm not sure). Losing access to /data would not work, so they'd likely have to re-architect the whole system in order to support both.

@eldarerathis 2013-10-31 16:04:44

Also, another potential component to this is that it allows the internal storage to use a more robust filesystem, like ext4, whereas a UMS block device is pretty much always going to be FAT32 in order to provide interoperability between Android and the PC's OS. Since MTP abstracts access to the device, the OS can read/write even if it doesn't support ext4 (e.g. Windows).

@Izzy 2013-10-31 16:32:14

Yes, all valid. And all good points (the FS included). But it's also removed on several devices which do have microSD slots. Guess that's where manufacturers missed the intention behind it.

@Dan Hulme 2013-10-31 16:59:33

@Izzy Don't forget it's normal on mobile to remove little-used options to make things less confusing for novice users.

Related Questions

Sponsored Content

1 Answered Questions

7 Answered Questions

[SOLVED] How to get USB file transfer working on Oreo 8.1?

1 Answered Questions

Why does one type of tethering obstruct MTP while another doesn't?

4 Answered Questions

[SOLVED] Is there a viable alternative to MTP for file transfer?

  • 2014-12-16 21:59:39
  • fostandy
  • 41305 View
  • 38 Score
  • 4 Answer
  • Tags:   file-transfer mtp

2 Answered Questions

[SOLVED] How to use "USB Mass Storage Mode" on Android 4.3+

4 Answered Questions

[SOLVED] Transfer file from Xiaomi Redmi 4A to Mac

2 Answered Questions

9 Answered Questions

[SOLVED] Better way to connect Galaxy Nexus (ICS) to Linux

2 Answered Questions

[SOLVED] android video transfer crash

Sponsored Content