Android usb 传输模式灰色不可选问题
【情景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 传输模式灰色不可选问题相关推荐
- Android之判断USB传输模式与USB连接状态
1.监听UsbManager.ACTION_USB_STATE public class UsbManager {private static final String TAG = "Usb ...
- android usb 共享,Android通过USB共享无线上网
其实该方法是通用的,很多Android的手机都能支持的,具体老版本的Android是否支持我就不清楚了,我没有机器测试,但至少2.1.2.2的固件是没问题的.下面看图文教程: 1.用数据线连接好USB ...
- Android USB Accessory方案研究
申明:本文部分内容为网络相关资料整理,并结合本人实际工作总结而成.请引用或者转载注明出处,对于文章内容有疑问请留言. Android Open Accessory Protocol1.0 Androi ...
- Android USB OTG U盘读写相关使用最全总结
Android USB OTG U盘读写相关使用最全总结 https://blog.csdn.net/qq_29924041/article/details/80141514 androidOTG ( ...
- 安装适用于 Android 设备的 Android USB 驱动程序
在部署您的 Kanzi 应用程序之前,您必须在您的计算机上安装适用于 Android 设备的 Android USB 驱动程序. 要为您的 Android 设备安装 Android USB 驱动程序: ...
- Android USB驱动源码分析(-)
Android USB驱动中,上层应用协议里最重要的一个文件是android/kernel/drivers/usb/gadget/android.c.这个文件实现USB的上层应用协议. 首先包含了一些 ...
- Android USB驱动源码分析
Android USB驱动中,上层应用协议里最重要的一个文件是android/kernel/drivers/usb/gadget/android.c.这个文件实现USB的上层应用协议. 首先包含了一些 ...
- Android USB gadget
Android USB驱动中,上层应用协议里最重要的一个文件是android/kernel/drivers/usb/gadget/android.c.这个文件实现USB的上层应用协议. 首先包含了一些 ...
- 基于AOA协议的android USB通信
摘 要:AOA协议是Google公司推出的用于实现Android设备与外围设备之间USB通信的协议.该协议拓展了Android设备USB接口的功能,为基于Android系统的智能设备应用于数据采集和设 ...
最新文章
- Visual Studio 项目目录下的bin目录和 obj目录
- 【MongoDB】NoSQL Manager for MongoDB 教程(基础篇)
- Boost::context模块fiber的分段的测试程序
- jzoj3844-统计损失【树形dp,换根法】
- php读取子目录下文件内容,php小代码----目录下读取子文件或子目录_PHP教程
- 30 位 90 后霸榜福布斯,有颜、有才、有头脑!
- round()四舍五入方法的简单使用
- java 字符串递归_关于java:递归函数以通配符模式匹配字符串
- mydbtest文档
- windows环境下安装wget
- 设计模式:模板(Template)模式
- 诺基亚Ovi商店开卖《水果忍者》
- 高级会计职称计算机考什么,会计高级职称考哪些科目
- 【图像压缩】替换输入改善压缩+实现可变比特率
- 制作MIcroUSB转TTL下载器CH340
- 恢复rm -rf 的数据
- Romax17许可证失败
- 如何快速掌握技术和知识点
- 反汇编---汇编基础学习
- 比较详细的HC-SR04超声波传感器数据及机器人避障的应用方法