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差不多,都是同样的枚举过程,但是在他们的配置描述符.接口 ...
随机推荐
- 如何组织较大项目的MVC文件夹结构
现在还用不到,拷贝下来备用,原文链接 2016 年 9 月 第 31 卷,第 9 期 ASP.NET Core - ASP.NET Core MVC 的功能切分 作者 Steve Smith | 20 ...
- css读书笔记2:css工作原理
css就是一种先选择html元素,然后设定选中元素css属性的机制.css选择符合要应用的样式构成一条css规则. 为文档添加样式的3种方法: 1.行内样式,直接写在特定标签的style属性中:2.嵌 ...
- node.js应用Redis数据库
node.js下使用Redis,首先: 1.有一台安装了Redis的服务器,当然,安装在本机也行 2.本机,也就是客户端,要装node.js 3.项目要安装nodejs_redis模块 注意第 3 点 ...
- ArcGIS 10.3 安装及破解
系统环境:win7 64位操作系统. 一.ArcGIS 10.3包简介 ArcGIS 10.3 下载包含 1. ArcGIS for Desktop ArcGIS for Desktop简介: Ar ...
- 简化工作流程 10款必备的HTML5开发工具
利用HTML5工具不仅可以帮助设计师和开发者创建更具吸引力的网站,还能增加网站的可用性和可访问性.本文收集了10款HTML5开发工具让你在网页中搭建特效.动画.视频.音频等诸多功能,为你节省更多开发时 ...
- 详细解读Jquery各Ajax函数
$.get(),$.post(),$.ajax(),$.getJSON() 一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表,callba ...
- 集成 Apple Pay
作者感言 在中秋过后终于把国内的三大支付平台SDK集成都搞定了, 现在我们终于可以来研究Apple自家的支付Apple Pay最后:如果你有更好的建议或者对这篇文章有不满的地方, 请联系我, 我会参考 ...
- MASS批量维护
T-CODE: MASS 批量更改MASS_CHARVAL 特征的批量维护MASS_EINE 信息记录的成批维护MASS_EKKO 采购订单的成批维护MASS_MARC 后勤/配送的成批维护MASS_ ...
- Subgraph Search Over Large Graph Database
Subgraph Search Over Large Graph Database Problem Definition Given a graph database and a query grap ...
- C++的vector学习abc
开始学习和使用vector了,用到之后再去学似乎神迹的感觉啊,就像跑一下就能给个糖吃哈哈 百度上的六种初始化的方法就不再说了,那些方法都很对. 如果没有值初始化,系统会自行初始化,目前我遇到的是用脚标 ...