Android USB Connections Explained: MTP, PTP, and USB Mass Storage
Android USB Connections Explained: MTP, PTP, and USB Mass Storage

Older Android devices support USB mass storage for transferring files back and forth with a computer. Modern Android devices use the MTP or PTP protocols — you can choose which one you prefer.
To select a USB connection protocol, open the Settings app, tap Storage, tap the menu button, and tap USB computer connection. You’ll also see the protocol your device is using as a notification when it’s connected to a computer via USB.
Why Modern Android Devices Don’t Support USB Mass Storage
USB mass storage — also known as “USB mass storage device class,” USB MSC, or UMS — was the way older versions of Android exposed their storage to a computer. When you connected your Android device to your computer, you’d have to specifically tap a “Connect storage to PC” button to make the Android device’s storage accessible to the computer over USB mass storage. When disconnecting it from the computer, you’d have to tap a “Turn off USB storage” button.
USB mass storage is the standard protocol used by flash drives, external hard drives, SD cards, and other USB storage devices. The drive makes itself completely available to the computer, just as if it were an internal drive.
There were problems with the way this worked. Whatever device is accessing the storage needs exclusive access to it. When you connected the storage to the computer, it was disconnected from the Android operating system running on the device. Any files or apps stored on the SD card or USB storage would be unavailable when it was connected to the computer.

System files had to be stored somewhere; they’d never be disconnected from the device, so you ended up with Android devices containing separate /data partitions for “system storage” and /sdcard partitions for “USB storage” on the same internal storage device. Android installed apps and its system files onto /data, while user data was stored on the /sdcard partition.
Because of this hard split, you might end up with too little space for apps and too much space for data, or too little space for apps and too much space for data. You couldn’t resize these partitions without rooting your device — the manufacturer chose the appropriate amount for each partition at the factory.

HTG Explains: Why Are Removable Drives Still Using FAT32 Instead of NTFS?
Microsoft’s Windows XP started using the NTFS file system by default for its internal drives back in 2001. It’s now...[Read Article]
Because the file system had to be accessible from Windows device, it had to be formatted with the FAT file system. Not only doesMicrosoft have patents it exerts on FAT, FAT is also an older, slower file system without a modern permission system. Android can now use the modern ext4 file system for all its partitions because they don’t need to be directly readable by Windows.
Connecting an Android phone or tablet to a computer as a standard USB storage device is convenient, but there are too many downsides. The craziness had to stop, so modern Android devices use different USB connection protocols.

MTP – Media Device
MTP stands for “Media Transfer Protocol.” When Android uses this protocol, it appears to the computer as a “media device.” The media transfer protocol was widely promoted as a standardized protocol for transferring audio files to digital music players using Windows Media Player and similar applications. It was designed to allow other media player companies to compete with Apple’s iPod and iTunes.
This protocol works very differently from USB mass storage. Rather than exposing your Android device’s raw file system to Windows, MTP operates at the file level. Your Android device doesn’t expose its entire storage device to Windows. Instead, when you connect a device to your computer, the computer queries the device and the device responds with a list of files and directories it offers. The computer can download a file — it will request the file from the device, and the device will send the file over the connection. If a computer wants to upload a file, it sends the file to the device and the device chooses to save it. When you delete a file, your computer sends a signal to the device saying, “please delete this file,” and the device can delete it.
Android can choose the files it presents to you, and hide system files so you can’t see or modify them. If you attempt to delete or edit a file that can’t be modified, the device will refuse the request and you’ll see an error message.
Your computer doesn’t need exclusive access to the storage device, so there’s no need to connect the storage, disconnect it, or have separate partitions for different types of data. Android can also use ext4 or any other file system it wants — Windows doesn’t have to understand the file system, only Android does.

In practice, MTP functions a lot like USB mass storage. For example, an MTP device shows up in Windows Explorer so you can browse and transfer files. Linux also include offers for MTP devices via libmtp, which is generally included with popular desktop Linux distributions. MTP devices should appear on your Linux desktop’s file manager, too.
Apple’s Mac OS X is a holdout — it doesn’t include MTP support at all. Apple’s iPod, iPhone, and iPad use their own proprietary syncing protocol along with iTunes, so why would they want to support a competing protocol?
Google provides an Android File Transfer application for Mac OS X. This application is just a simple MTP client, so it will work for transferring files back and forth on a Mac. Google doesn’t provide this application for other operating system because they include MTP support.

PTP – Digital Camera
PTP stands for “Picture Transfer Protocol.” When Android uses this protocol, it appears to the computer as a digital camera.
MTP is actually based on PTP, but adds more features, or “extensions.” PTP works similarly to MTP, and is commonly used by digital cameras. Any software program that supports grabbing photos from a digital camera will support grabbing photos from an Android phone when you select the PTP mode. PTP was designed to be a standard protocol for communicating with digital cameras.
In this mode, your Android device will work with digital camera applications that support PTP but not MTP. Apple’s Mac OS X does support PTP, so you can use PTP mode to transfer photos from an Android device to a Mac over a USB connection without any special software.

If you have an older Android device, you may be forced to use USB mass storage. On a modern Android device, you have a choice between MTP and PTP — you should use MTP unless you have software that only supports PTP.
If your device has a removable SD card, you can remove the SD card and insert it directly into your computer’s SD card slot. The SD card will be available to your computer as a storage device, so you can access all the files on it, run file-recovery software, and do anything else you can’t do with MTP.
Android USB Connections Explained: MTP, PTP, and USB Mass Storage的更多相关文章
- android的USB MTP && USB CDC/USBnet(ECM, NCM, ACM) && USB gardget
MTP的全称是Media Transfer Protocol(媒体传输协议),它是微软公司提出的一套媒体文件传输协议.早在智能手机普及前,数码相机和MP3播放器等都使用了MTP的前身PTP(Pictu ...
- Atitit mtp ptp rndis midi协议的不同区别
Atitit mtp ptp rndis midi协议的不同区别 1. PTP:1 2. MTP:1 3. Mtp 与usb区别2 4. 不过和UMS相比,MTP也有不足之处:3 5. MTP协议介 ...
- 你的USB设备还安全吗?USB的安全性已从根本上被打破!
前言: USB设备使用方便,但也可能被用来携带恶意软件.病毒,感染计算机系统.通过禁用自动播放功能.杀毒软件查杀.不定期的对设备进行格式化等操作可以确保它是干净的.但它存在的安全问题要比我们想象的更深 ...
- USB Tethering always displays grey when USB tethering type is Linux(EEM)
USB Tethering always displays grey when USB tethering type is Linux(EEM) 1.Problem DESCRIPTION USB T ...
- usb mass storage device
Problem adding USB host device to KVM Windows guest machine. Status: CLOSED CURRENTRELEASE Aliases ...
- Linux usb子系统(二):USB设备驱动usb-skeleton.c
usb驱动分为通过usbfs操作设备的用户空间驱动,内核空间的内核驱动.两者不能同时进行,否则容易引发对共享资源访问的问题,死锁!使用了内核驱动,就不能在usbfs里驱动该设备. 下面转载的一篇分析u ...
- USB系列之二:读取USB设备的描述符
在前面的文章中,我们已经给出了USB协议的链接地址,从这篇文章起,我们会涉及到许多USB 1.1的内容,我们的指导思想是先从熟悉USB 1.1协议入手,先使用现成的HCD和USBD,直接面对客户端驱动 ...
- USB Mass Storage学习笔记-STM32+FLASH实现U盘
一.内容概述 采用STM32内部自带USB控制器外加大页NAND FLASH K9F1G08U0A实现一个128M的U盘. 1.STM32的USB控制器 STM32F103的MCU自带USB从控制器 ...
- usb mass storage之旅
前面总结了usb hid keyboard,现在总结usb mass storage,在枚举阶段没什么好总结的,hid和mass storage差不多,都是同样的枚举过程,但是在他们的配置描述符.接口 ...
随机推荐
- eclipse 新建 maven 项目 添加 spring hibernate 的配置文件 详情
主要配置文件 pom.xml 项目的maven 配置文件 管理项目所需 jar 依赖支持 web.xml 项目的总 配置文件 :添加 spring和hibernate 支持 applicationC ...
- css3属性 transition transform
1.transition 译:过渡,转变 可以设置过渡属性 transition: property duration timing-function delay; transition-proper ...
- css选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先
通配选择符* { sRules } 类型选择符E { sRules } td { font-size:14px; width:120px; } 属性选择符 E [ attr ] { sRule ...
- 从Oracle迁移到Mysql之前必须知道的50件事
1. 对子查询的优化表现不佳. 2. 对复杂查询的处理较弱 3. 查询优化器不够成熟 4. 性能优化工具与度量信息不足 5. 审计功能相对较弱 6. 安全功能不成熟,甚至可以说很粗糙.没有用户组与角色 ...
- Thread类的使用
在前面2篇文章分别讲到了线程和进程的由来.以及如何在Java中怎么创建线程和进程.今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态.上下文切换,然后接着 ...
- IntelliJ IDEA 12 与 Tomcat 集成并运行Web项目
配置Tomcat Server 1.Ctrl+Alt+s或者File——>Setting...;选中“Application Servers”点击"+" 创建运行配置 上面的 ...
- [转载]ME51n,ME52n,ME53n屏幕增强
原文地址:ME51n,ME52n,ME53n屏幕增强作者:cyzhang811 http://blog.sina.com.cn/s/blog_721b218c0100zch9.html 使用增强:ME ...
- 转:怎样在VMware ESXi上 克隆虚拟机
Cloning virtual machines on VMware ESXi 翻译自http://www.dedoimedo.com/computers/vmware-esxi-clone-mach ...
- oracle优化原则(二)
SQL优化原则 二.SQL语句编写注意问题 www.2cto.com 下面就某些SQL语句的where子句编写中需要注意的问题作详细介绍.在这些where子句中,即使某些列存在索引,但是由于编写了劣质 ...
- Mysql安全配置【转】
相关学习资料 http://drops.wooyun.org/tips/2245 http://www.cnblogs.com/siqi/archive/2012/11/21/2780966.html ...