Comment Re:Quit, landscape, MTP, Linux, root (Score 1) 156
There are MANY technical reasons why an android devices cant present itself as USB mass storage. The two MAIN ones are:
- USB Mass Storage (USM) is a block level service which would NEED to be formatted in some form of FAT. Since Android is Linux based, the file system internally is ext4 on recent devices. No windows machine out of the box can mount ext4. (see below for implications on Nexus devices)
IT is extremely difficult, and dangerous to "Simulate" FAT where the device is not internally FAT.
- When a storage device is USM mounted, it has to be unmounted from the host, otherwise data corruption is likely to occur (especially with FAT) meaning that apps which write to that storage will find the storage no longer available, and would need to be cleanly unmounted from the attached PC before removal too.
There are other issues that FAT has no security around it, which is required for many internal and other applications in android.
MTP solves the mount/unmount problems, by presenting a higher level file/directory access that is filesystem agnostic. The computer or any other connected device does not require to understand the file system layout, etc, hence the OS can use any FS it likes internally. Indeed it can even present a virtual directory tree if it wants. It does not require to be unmounted, and can guarantee writes (no caching). It also does one op at a time. This is what makes it seem slow, there is no write caching, nor multi tasking on this.
However, I find that in terms of actual transfer, MTP on my Galaxy S2 is only very slightly slower than the USM mode when transferring large files(>1MB). Smaller files take a little longer, but still not that bad.
The nexus does NOT have a FAT system, and since it only has a single partition, it cannot expose itself as a USM. However, you can use all storage for apps.
The Galaxy s2 partitions its storage into separate ext4 and fat partition, therefore has a (fairly well hidden) USM mode for both internal and card storage. However, it ends up limiting the Application storage space to just 2GB of ext4.
The NEXUS 4 has a single filesystem allocated for the runnign OS.