android OTG【转】
本文转载自:http://blog.csdn.net/xubin341719/article/details/7707056
一、OTG的概念
OTG是On-The-Go的缩写,是近年发展起来的技术,2001年12月18日由USB Implementers Forum公布,主要应用于各种不同的设备或移动设备间的联接,进行数据交换。特别是PDA、移动电话、消费类设备。改变如数码照相机、摄像机、打印机等设备间多种不同制式连接器,多达7种制式的存储卡间数据交换的不便。
简单的说,一个OGT口可以做主设备HOST、从设备device。
二、三星平台的伪“OTG”
说到三星平台的OTG,有点坑人,看下面的电路图,芯片是支持USB OTG2.0 和USB HOST2.0的,可是不知道是他们芯片没做好,还是三星给的 BSP不全,反正OTG这个功能不能用。
芯片和软件上都不支持,我们要从硬件上解决了。加入一个IC,通过xuotgid 来判断是那主设备还是从设备,如果是主设备,如平板外接键盘、鼠标,则接USBHOST2.0;如里是从设备,如平板电脑做u盘用,接到这个坑人的USB OTG2.0
三、关于android对键盘、鼠标的支持
Linux本身就支持键盘、鼠标,linux 内核的驱动是完好的,我们只要配置好就可以了,以前的android版本我不太清楚,android4.0是支持键盘、鼠标的。
1、鼠标
device Drivers --->
Inputdevice support --->
<*>Mouse interface
2、键盘
deviceDrivers --->
Input device support --->
[*]Keyboards --->
选择AT keyboard

3、USB中的选项
如下图所示
Device Drivers --->
[*] USB support --->
<*> OHCI HCD support
[*] S5P OHCI support
完成上面配置后,插入u盘、鼠标、键盘、u盘都可能用
如下插入u盘的信息:
插入U盘
[ 138.620396] usb -: new high speed USB device number using s5p-ehci
[ 138.761467] scsi2 : usb-storage -:1.0
[ 139.788733] scsi :::: Direct-Access Netac OnlyDisk PMAP PQ: ANSI: CCS
[ 139.808739] sd :::: Attached scsi generic sg0 type
[ 140.228950] sd :::: [sda] -byte logical blocks: (4.00 GB/3.73 GiB)
[ 140.234174] sd :::: [sda] Write Protect is off
│
拔出 u 盘 [ 744.728526] usb -: USB disconnect, device number
[ 745.765254] FAT-fs (sda1): Directory bread(block ) failed
[ 745.765450] FAT-fs (sda1): Directory bread(block ) failed
[ 745.780105] FAT-fs (sda1): Directory bread(block ) failed
[ 745.780309] FAT-fs (sda1): Directory bread(block ) failed
[ 745.786486] FAT-fs (sda1): Directory bread(block ) failed
[ 745.795189] FAT-fs (sda1): Directory bread(block ) failed
[ 745.808332] FAT-fs (sda1): Directory bread(block ) failed
[ 745.808526] FAT-fs (sda1): Directory bread(block ) failed
[ 745.814463] FAT-fs (sda1): Directory bread(block ) failed
[ 745.820176] FAT-fs (sda1): Directory bread(block ) failed
[ 745.825991] FAT-fs (sda1): Directory bread(block ) failed
[ 745.831829] FAT-fs (sda1): Directory bread(block ) failed
[ 745.837628] FAT-fs (sda1): Directory bread(block ) failed
[ 745.843420] FAT-fs (sda1): Directory bread(block ) failed
[ 745.849224] FAT-fs (sda1): Directory bread(block ) failed
[ 745.855036] FAT-fs (sda1): Directory bread(block ) failed 这里可以看到usb的用户为system
shell@android:/mnt $ ls -l
drwxr-xr-x root system -- : asec
d--------- system system -- : ext_sd
drwxr-xr-x root system -- : obb
drwxrwxr-x root sdcard_rw -- : sdcard
drwx------ root root -- : secure
d---rwxr-x system sdcard_rw -- : usb
android OTG【转】的更多相关文章
- Android OTG支持USB读卡器
我们知道,三星Android手机将USB读卡器通过OTG线插入Micro USB插口后,插拔读卡器里的SD卡,文件管理器也能够识别卡的插拔:而很多手机的OTG连上USB读卡器也来插拔SD卡,会发现文件 ...
- Android OTG之USB转串口模块通讯
微信公众号:CodingAndroid CSDN:http://blog.csdn.net/xinpengfei521 1.背景简介 我们公司开发了一款室内机平板APP应用,要求平板能去控制智能门锁. ...
- Android开启OTG功能/USB Host API功能
Android USB 模式简介 设备模式 当计算机或其他USB主机需要连接安卓设备时,此时安卓设备是作为"USB设备"角色的,在计算机上显示为 USB 外设.现在的安卓设备已经被 ...
- Android技术宅:自制USB OTG数据线
作为一名Android技术宅,USB OTG是你必须了解的,所谓USB OTG就是你可以利用手机或平板上用来充电.与电脑传输数据的micro USB接口来连接其他USB外设,如游戏手柄.鼠标.键盘.U ...
- android USB OTG功能实现
一个.检查HW概要,确认是否支持OTG特征(vbus无论是动力,IDDIG pin连接是否正确) 两.如果HW确认支持OTG特征,然后根据以下方法被打开USB OTG功能及实现山: 如何打开USB O ...
- Android刷机教程
我的机器是Nexus 5 一. 安装驱动 如何进入fastboot模式 1. 拔掉数据线,将手机关机 2. 关机后同时按住[音量减小键]和[开关机键]即可进入Fastboot模式 开启usb调试 - ...
- 【墙内备份】Android 6.0 APIs
Android 6.0 APIs In this documentSHOW MORE Fingerprint Authentication Confirm Credential App Linking ...
- Android和Linux应用综合对比分析
原文地址:http://www.cnblogs.com/beer/p/3325242.html 免责声明: 当时写完这篇调查报告,给同事看了后,他觉得蛮喜欢,然后想把这篇文章修改一下,然后往期刊上发表 ...
- RF Analyzer for Android 安卓平台连接HackRF的App
Over the last week I've been working on a new project, trying to build a spectrum analyzer for Andro ...
随机推荐
- Httpclient 实现带参文件上传
这里直接贴出的是我封装好的doPostFile方法,httpclient 的版本是3.1. public static String doPostFile(String url, Part[] par ...
- Java设计模式透析之 —— 策略(Strategy)
今天你的leader兴致冲冲地找到你,希望你能够帮他一个小忙.他如今急着要去开会.要帮什么忙呢?你非常好奇. 他对你说.当前你们项目的数据库中有一张用户信息表.里面存放了非常用户的数据.如今须要完毕一 ...
- UIWebView的全屏截图
项目开发中,我们可能会遇到如下的应用场景:将一篇文章,进行截屏(需要全屏截取,包括滚动部分)后,分享到新浪微博.邮箱等等.前段时间,我在应用开发中实现了该功能,代码也是从网上找到的,自己整理了一下.主 ...
- 在eclipse创建和myeclipse一样结构的web项目
之前一直使用myeclipse,现在换成eclipse,但是创建的新项目让我很不习惯,下面这个方法可以解决. 创建好的项目结构如下图所示,不过看着还是很别扭,我们window→show view→ot ...
- justify-content 定义子元素在父元素水平位置排列的顺序
justify-content 定义子元素在父元素水平位置排列的顺序,需要和display:flex使用才会生效. 有五个属性: 1.flex-start(默认值) 左对齐 2.flex-end 右 ...
- tornado+ansible+twisted+mongodb运维自己主动化系统开发(四)
这周好忙,依据之前的写了个简陋的demo.放在腾讯的云主机上了,大家多交流哈 demo地址 http://203.195.193.251/
- Hadoop 101: Programming MapReduce with Native Libraries, Hive, Pig, and Cascading
和Hadoop交互的四种方法: 1. Native Libraries 2. Hive 3. Pig 4. Cascading At a high level, people use the nati ...
- com.netflix.hystrix.contrib.javanica.exception.FallbackDefinitionException: fallback method wasn't found: serviceError([class java.lang.String]) 异常
在使用spring cloud 的 Hystrix 后可能会遇到 如下截图错误: 后台代码如下: 找了好一会经过分析参数方法和原方法参数步一致造成: 修改后代码如下:
- C#数组 多个集合和数组的操作(合并,去重,拆分,判断)
http://www.cnblogs.com/liguanghui/archive/2011/11/09/2242309.html http://www.cnblogs.com/dreamszx/ar ...
- PHP邮箱的正则表达式
邮箱的正则:/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i