Android手机的USB

Android手机的USB
Android的手机很少使用USB Host功能,不过很多平板上倒是有,其实Android USB Host功能比较简单,就是驱动USB Controller和Port的驱动程序而已。我们主要讨论USB Slave功能,这是每一个USB手机上没都有的。
我们一般如何使用USB呢?基本上有如下几个功能。
1,充电
2,连接到电脑,当作大硬盘使用
3,连接到电脑,出现MTP或者PTP
4,连接到电脑,支持adb命令
5,连接到电脑,支持各个厂商自己的协议,例如三星Kies 华为的HSuite LG的LG套件
6,连接到电脑,实现USB网卡的功能,也就是所谓的USB捆绑

其实Android的OS是基于linux的,所以,Android的USB支持,就是linux的USB支持。要了解Android的USB支持,必须懂一个gadget的概念。Linux-USB Gadget 驱动框架实现了 USB 协议定义的设备端的软件功能。
一个UDC(usb设备控制器)上面要挂一个usb_gadget_driver,usb_composite_dev挂到UDC的gadget上,usb_composite_driver挂到usb_composite_dev上,然后在usb_composite_dev上挂上一个usb_configuration配置,然后在usb_configuration的function链表中挂一个function,并且把function写入对应的config 的interface数组中。这就是整个流程。
所以,USB实现不同的功能,就是建立起系统不同的function,然后按照协议制定方式,给其提供相应的数据。
在android里面,有一个重要的prop设置,persist.sys.usb.config我们可以通过这个配置,设置支持不同的功能
例如adb shell setprop persist.sys.usb.config mtp,adb,acm
mtp就是支持媒体传输协议(Media Transfer Protocol,MTP)
acm就是支持USB模拟串口的功能,是microsoft定义的一种标准设备,不需要另外安装主机端驱动,就可以驱动它。
adb就是google的调试桥了,主机端需要状态相应的驱动程序。
....


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值