android USB OTG功能如何開啟及實現

來源:互聯網
上載者:User

標籤:

一、檢查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(包含)以後的版本(注意,這裡的fstab檔案如果[project]中沒有,從common中拷貝一個過來對應修改即可):
修改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
 
[Attention]
目前USB OTG功能只支援隨身碟(FAT格式+一個分區)、Keyboard、Mouse、PTP device

android USB OTG功能如何開啟及實現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.