【情景1】MT6769  Android11  kernel-4.14

kernel-4.14\arch\arm64\configs\k69v1_64_defconfig

关闭 CONFIG_DUAL_ROLE_USB_INTF=y

如果还不行,参考 《Android P, OTG 接入显示设备充电》

https://blog.csdn.net/qq_33557833/article/details/101198759现象:Android P 版本使用OTG时,直接入OTG线未接入设备,下拉栏会显示“Android系统.正在通过USB为连接的设备充电”原因:Android P 新增的USB特性导致,控制的宏开关为CONFIG_DUAL_ROLE_USB_INTF,用于控制两用OTG USB。解决:若只做OTG功能,关闭该宏开关,但是会造成正常PC接入设备USB选择栏为灰色不可选,只能到开发者选项中修改USB默认模式。否则只能上层修改显示信息。上层修改如下,规避不显示:frameworks\base\services\usb\java\com\android\server\usb\UsbDeviceManager.javaprotected void updateUsbNotification(boolean force) {if (mNotificationManager == null || !mUseUsbNotification|| ("0".equals(getSystemProperty("persist.charging.notify", "")))) {return;}...int id = 0;int titleRes = 0;Resources r = mContext.getResources();CharSequence message = r.getText(com.android.internal.R.string.usb_notification_message);if (mAudioAccessoryConnected && !mAudioAccessorySupported) {...} else if (mConnected) {...//            } else if (mSourcePower) {//修改为如下} else if (SourcePower && !"project_name".equals(SystemProperties.get("ro.product.device_group",""))) {Slog.d(TAG, "[ malata debug : ] ************** NOTE_USB_SUPPLYING");titleRes = com.android.internal.R.string.usb_supplying_notification_title;id = SystemMessage.NOTE_USB_SUPPLYING;} else if (mHostConnected && mSinkPower && mUsbCharging) {...}project_name为该项目名称。ro.product.device_group的赋值在\device\malata\{project_name}\system.prop文件中ro.product.device_group=project_name一致

【情景2】MT6762  Android11  kernel-4.19

kernel-4.19\drivers\misc\mediatek\typec\tcpc\tcpci_alert.c

static inline int tcpci_report_usb_port_attached(struct tcpc_device *tcpc)
{TCPC_INFO("usb_port_attached\r\n");switch (tcpc->typec_attach_new) {- case TYPEC_ATTACHED_SNK:case TYPEC_ATTACHED_CUSTOM_SRC:case TYPEC_ATTACHED_NORP_SRC:
+       if (!tcpc->partner) {
+               tcpc->partner =
+                         typec_register_partner(tcpc->typec_port,
+                          &tcpc->partner_desc);
+                   }
+    case TYPEC_ATTACHED_SNK:tcpc->dual_role_pr = DUAL_ROLE_PROP_PR_SNK;tcpc->dual_role_dr = DUAL_ROLE_PROP_DR_DEVICE;tcpc->dual_role_mode = DUAL_ROLE_PROP_MODE_UFP;tcpc->dual_role_vconn = DUAL_ROLE_PROP_VCONN_SUPPLY_NO;tcpc->typec_caps.type = TYPEC_PORT_SNK;tcpc->typec_caps.data = TYPEC_PORT_UFP;typec_set_data_role(tcpc->typec_port, TYPEC_DEVICE);typec_set_pwr_role(tcpc->typec_port, TYPEC_SINK);typec_set_vconn_role(tcpc->typec_port, TYPEC_SINK);break;

Android usb 传输模式灰色不可选问题相关推荐

  1. Android之判断USB传输模式与USB连接状态

    1.监听UsbManager.ACTION_USB_STATE public class UsbManager {private static final String TAG = "Usb ...

  2. android usb 共享,Android通过USB共享无线上网

    其实该方法是通用的,很多Android的手机都能支持的,具体老版本的Android是否支持我就不清楚了,我没有机器测试,但至少2.1.2.2的固件是没问题的.下面看图文教程: 1.用数据线连接好USB ...

  3. Android USB Accessory方案研究

    申明:本文部分内容为网络相关资料整理,并结合本人实际工作总结而成.请引用或者转载注明出处,对于文章内容有疑问请留言. Android Open Accessory Protocol1.0 Androi ...

  4. Android USB OTG U盘读写相关使用最全总结

    Android USB OTG U盘读写相关使用最全总结 https://blog.csdn.net/qq_29924041/article/details/80141514 androidOTG ( ...

  5. 安装适用于 Android 设备的 Android USB 驱动程序

    在部署您的 Kanzi 应用程序之前,您必须在您的计算机上安装适用于 Android 设备的 Android USB 驱动程序. 要为您的 Android 设备安装 Android USB 驱动程序: ...

  6. Android USB驱动源码分析(-)

    Android USB驱动中,上层应用协议里最重要的一个文件是android/kernel/drivers/usb/gadget/android.c.这个文件实现USB的上层应用协议. 首先包含了一些 ...

  7. Android USB驱动源码分析

    Android USB驱动中,上层应用协议里最重要的一个文件是android/kernel/drivers/usb/gadget/android.c.这个文件实现USB的上层应用协议. 首先包含了一些 ...

  8. Android USB gadget

    Android USB驱动中,上层应用协议里最重要的一个文件是android/kernel/drivers/usb/gadget/android.c.这个文件实现USB的上层应用协议. 首先包含了一些 ...

  9. 基于AOA协议的android USB通信

    摘 要:AOA协议是Google公司推出的用于实现Android设备与外围设备之间USB通信的协议.该协议拓展了Android设备USB接口的功能,为基于Android系统的智能设备应用于数据采集和设 ...

最新文章

  1. Visual Studio 项目目录下的bin目录和 obj目录
  2. 【MongoDB】NoSQL Manager for MongoDB 教程(基础篇)
  3. Boost::context模块fiber的分段的测试程序
  4. jzoj3844-统计损失【树形dp,换根法】
  5. php读取子目录下文件内容,php小代码----目录下读取子文件或子目录_PHP教程
  6. 30 位 90 后霸榜福布斯,有颜、有才、有头脑!
  7. round()四舍五入方法的简单使用
  8. java 字符串递归_关于java:递归函数以通配符模式匹配字符串
  9. mydbtest文档
  10. windows环境下安装wget
  11. 设计模式:模板(Template)模式
  12. 诺基亚Ovi商店开卖《水果忍者》
  13. 高级会计职称计算机考什么,会计高级职称考哪些科目
  14. 【图像压缩】替换输入改善压缩+实现可变比特率
  15. 制作MIcroUSB转TTL下载器CH340
  16. 恢复rm -rf 的数据
  17. Romax17许可证失败
  18. 如何快速掌握技术和知识点
  19. 反汇编---汇编基础学习
  20. 比较详细的HC-SR04超声波传感器数据及机器人避障的应用方法

热门文章

  1. 人社部发布13个新职业,人工智能排第一
  2. 业余爱好者,想做自己厂的ERP软件
  3. (笔记)ubuntu20.04下 yolov5学习与使用
  4. 一阶差分与二阶差分及还原
  5. 巧用replit搭建免费的个人云服务器
  6. leaflet 图层的建立
  7. Java SE面向对象6
  8. 百度地图根据经纬度获取实际位置纠偏
  9. 用Chrome在电脑上模拟微信浏览器方法
  10. linux RTC驱动