一个、检查HW概要,确认是否支持OTG特征(vbus无论是动力,IDDIG pin连接是否正确)

两、如果HW确认支持OTG特征,然后根据以下方法被打开USB OTG功能及实现山:

如何打开USB OTG特征:

1).于alps/mediatek/config/[project]/autoconfig/kconfig/project中打开CONFIG_USB_MTK_OTG和CONFIG_USB_MTK_HDRC_HCD

CONFIG_USB_MTK_OTG =y

CONFIG_USB_MTK_HDRC_HCD = y

2).在dws中设定OTG VBUS相应的输出控制pin配置为GPIO模式。var name为GPIO_OTG_DRVVBUS_PIN。再设定IDDIG pin默认模式为IDDIG,var name为GPIO_OTG_IDDIG_EINT_PIN

怎样实现挂载:

1).alps/mediatek/config/[project]/init.project.rc起始位置处加入例如以下内容

对于KK曾经的版本号:

on early-init

    mkdir /mnt/usbotg 0000 system system

对于KK(包括)以后的版本号:

#须要特别注意的是,这里是要另外加入on init,不是加在on early-init:

on init

    mkdir /mnt/media_rw/usbotg 0700 media_rw media_rw

    mkdir /storage/usbotg 0700 root root

...

#service加在on boot:

on boot

service fuse_usbotg /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/usbotg /storage/usbotg

    class late_start

    disabled

#

# Connectivity related services (Begin)

#

2).fstab文件末尾加入例如以下一行

对于KK曾经的版本号:

改动alps/mediatek/config/[project]/vold.fstab

dev_mount usbotg /mnt/usbotg auto /devices/platform/mt_usb

对于KK(包括)以后的版本号:

改动alps/mediatek/config/[project]/fstab

/devices/platform/mt_usb auto vfat  defaults voldmanaged=usbotg:auto

3).storage_list.xml加入例如以下一个xml节点

对于KK曾经的版本号:

<storage android:mountPoint="/mnt/usbotg"

       android:storageDescription="@string/storage_external_usb"

       android:removable="true"

       android:primary="false" />

对于KK(包括)以后的版本号:

<storage android:mountPoint="/storage/usbotg"

       android:storageDescription="@string/storage_external_usb"

       android:removable="true"

       android:primary="false" />

备注:详细改动哪个路径下的storage_list.xml文件,须要依据ProjectConfig.mk中的resource_overlay_support的值来定

对于JB3下面版本号,

假设RESOURCE_OVERLAY_SUPPORT的值为generic  ==>>  则改动alps/mediatek/custom/[project]/resource_overlay/generic/frameworks/base/core/res/res/xml/storage_list.xml

假设RESOURCE_OVERLAY_SUPPORT的值为空  ==>> 则改动alps/framework/base/core/res/res/xml/storage_list.xml

对于JB3(包括)以上版本号,RESOURCE_OVERLAY_SUPPORT的值可依据须要配置为sd_in_ex_otg或sd_ex_otg。则无需再改动该文件

sd_in_ex_otg或sd_ex_otg分别表示内卡+外卡+otg或外卡+otg

相应文件分别在alps/mediatek/custom/common/sd_in_ex_otg/resource_overlay/generic/frameworks/base/core/res/res/xml/storage_list.xml或alps/mediatek/custom/common/sd_ex_otg/resource_overlay/generic/frameworks/base/core/res/res/xml/storage_list.xml





眼下USB OTG功能仅仅支持U盘(FAT格公式+分区)、Keyboard、Mouse、PTP device

版权声明:本文博客原创文章,博客,未经同意,不得转载。

android USB OTG功能实现的更多相关文章

  1. 如何打开USB OTG功能:

    一.检查HW原理图,确认是否支持OTG功能(vbus是否供上电,IDDIG pin连接是否正确)二.若HW确认支持OTG功能,则按照以下方法分别打开USB OTG功能及实现挂载: 如何打开USB OT ...

  2. Android开启OTG功能/USB Host API功能

    Android USB 模式简介 设备模式 当计算机或其他USB主机需要连接安卓设备时,此时安卓设备是作为"USB设备"角色的,在计算机上显示为 USB 外设.现在的安卓设备已经被 ...

  3. 【转】随身HiFi 安卓OTG功能在音频上的妙用

    原文网址:http://article.pchome.net/content-1745467.html 随身HiFi 安卓OTG功能在音频上的妙用 [PChome电脑之家音频频道原创]说起Androi ...

  4. USB OTG

    OTG检测的原理是:USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG).USB OTG技术可实现没有主机时设备 ...

  5. stm32f407以太网及USB OTG快速开发

    stm32f407以太网及USB OTG快速开发 引言 想要快速完成网络协议栈和USB OTG功能,使用ST自家的工具STM32CubMx再好不过的了.如果你还不会使用,别着急下面我会一步一步的用图片 ...

  6. Android技术宅:自制USB OTG数据线

    作为一名Android技术宅,USB OTG是你必须了解的,所谓USB OTG就是你可以利用手机或平板上用来充电.与电脑传输数据的micro USB接口来连接其他USB外设,如游戏手柄.鼠标.键盘.U ...

  7. Android 4.4 Kitkat 使能 USB adb 功能

    背景 在 Linux-3.8 以后,Android 的内核分支,便去掉了 f_adb,改使用 USB function FS,在用户空间实现 USB adb 功能.这篇文章依据原作者的 Google+ ...

  8. Android USB Camera(1) : 调试记录【转】

    转自:http://blog.csdn.net/eternity9255/article/details/53069037 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 前言 ...

  9. USB HOST与 USB OTG的区别及工作原理

    在SmartQ 7上面,同时存在USB HOST与 USB OTG两个接口,我想问一下,这两个接口有什么区别么?我怎么认为HOST属于是多余呢? 麻烦高手解答,感激不尽!!! 转自USB HOST与 ...

随机推荐

  1. [Ext JS 4] 实战Chart 协调控制(单一的坐标,两个坐标)

    前言

  2. 重写TextBox实现显示提示信息

    /// <summary> /// TextBox提示信息 /// </summary> /// <author>Tim_et</author> /// ...

  3. 更改IOS于UISearchBar撤消button底、搜索输入文本框背景中的内容和UISearchBar底

    转载请标明出处:http://blog.csdn.net/android_ls/article/details/39993433 測试的手机IOS系统版本为:6.1.3,实现过程例如以下: 1.加入U ...

  4. ORM武器:NHibernate(三)五个步骤+简单对象CRUD+HQL

    前面的两篇文章中.我们对NHibernate已经做了大致了解 <ORM利器:NHibernate(一)简单介绍>Nhibernate的作用:攻克了对象和数据库的转化问题 <ORM利器 ...

  5. linux命令之删除

      linux删除文件夹非常easy,非常多人还是习惯用rmdir,只是一旦文件夹非空,就陷入深深的苦恼之中,如今使用rm -rf命令就可以. 直接rm就能够了,只是要加两个參数-rf 即:rm -r ...

  6. Objective-c正确的写法单身

    Singleton模式iOS发展可能是其中最常用的模式中使用的.但是因为oc语言特性本身,想要写一个正确的Singleton模式是比较繁琐,iOS中单例模式的设计思路. 关于单例模式很多其它的介绍请參 ...

  7. K60 启动过程分析

    很高兴老师借给我一K60的开发板,趁着暑假好好鼓捣鼓捣! 有了上图的过程分析我想心里大概有个低了吧! 以下看代码: /* CodeWarrior ARM Runtime Support Library ...

  8. socket-详细分析No buffer space available(转)

    新年上班第一天,突然遇到一个socket连接No buffer space available的问题,导致接口大面积调用(webservice,httpclient)失败的问题,重启服务器后又恢复了正 ...

  9. cocos2dx 制作单机麻将(二)

    cocos2dx 制作单机麻将(二) 打乱麻将顺序2 前面解说了怎样打乱初始给定的麻将牌堆, 另一种是打乱随意给定的麻将牌堆 //混乱扑克2 void RandAppointCardData(BYTE ...

  10. Java设计模式菜鸟系列(十三)建模和实现状态模式

    转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39829859 状态模式(State):同意对象在内部状态改变时改变它的行为,对象看起来好像 ...