调试记录-USB异常断开调试

news2024/12/24 10:34:21

问题描述

平台:rk3228 android7.1
问题:板子上有一个USB 4G模块,模块不是用标准的USB接口,而是M2接口。接着4G模组开机是可以正常工作的,但是只要点开任意一个app,就会出现设备断开,之后再重新连接。
相关的log如下:

[  385.418741] usb 1-1: new high-speed USB device number 18 using ehci-platform
[  385.571469] usb 1-1: New USB device found, idVendor=2ecc, idProduct=3001
[  385.571543] usb 1-1: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[  385.571578] usb 1-1: Product: WUKONG
[  385.571603] usb 1-1: Manufacturer: MARVELL
[  386.065871] usb 1-1: USB disconnect, device number 18
[  393.369346] usb 1-1: new high-speed USB device number 19 using ehci-platform
[  393.518644] usb 1-1: New USB device found, idVendor=2c7c, idProduct=6005
[  393.518721] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  393.518764] usb 1-1: Product: Android
[  393.518801] usb 1-1: Manufacturer: Android
[  393.518835] usb 1-1: SerialNumber: 0000
[  393.531364] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-30080000.ehci0-1, RNDIS device, 02:0c:29:a3:9b:6d
[  393.538138] option 1-1:1.2: GSM modem (1-port) converter detected
[  393.541797] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
[  393.543830] option 1-1:1.3: GSM modem (1-port) converter detected
[  393.546451] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
[  442.186492] usb 1-1: USB disconnect, device number 19

log与正常的拔出完全一样,未见异常报错。

分析过程

从问题描述看,最关键的应该是“只要点开任意一个app,就会出现设备断开”,什么情况下会出现这种问题呢?

  1. USB供电,点开一个app,CPU的负载可能增大,这时候会提高CPU频率,如果供电不足,可能会导致USB供电不稳定,因此会导致USB供电。要确认供电,一般会把USB相关的供电都确认一遍,USB相关的供电包括:设备的VBUS和USB-PHY的供电,USB-PHY的供电一般在原理图可以看到,如下图的USB_AVDD_3V3,USB_DVDD_1V0:
    USB-PHY供电
    然而经过示波器测量,在开启app的过程中,USB相关的供电都很稳定,未发现异常。
  2. 为了确保CPU,DDR变频的影响,把CPU,DDR定频再测试,发现还是不能解决问题。
  3. 根据经验,有时候LPM也会导致USB设备异常断开,把LPM功能关闭,却发现该SDK本来就没有用到LPM。
  4. 休眠可能会导致USB异常,为了排除影响,把sutosuspend和USB-PHY休眠都关了,问题还是未能解决。
  5. 没招了,只能重新查电路,发现M2的接口里面不止有USB数据线,还有4G模块的reset脚,查了一下dts配置,竟然把reset脚配置到codec模块下的spk_ctl_io,这下找到问题了,把该引脚配置改为硬件对应的引脚即可。

问题解释

由于把4G模块的reset脚配置到codec模块的spk_ctl_io,一般android系统会有提示音,点开app的时候会打开音频,因此会操作reset脚,这时候就会误操作到4G模块的reset脚,导致4G模块断开了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/628357.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么登录远程轻量云服务器?

​  轻量云服务器是一种基于云计算技术的服务器,具有价格低廉、配置灵活、易于管理等优点。但是,由于轻量云服务器通常是在云端运行,需要通过远程连接才能进行管理和操作。那么,怎么登录远程轻量云服务器呢? 要远程连接轻量云服…

Linux--ServerProgramming--(7)IPC

1.管道 2.信号量 2.1 概念 信号量 是一个计数器,用于实现进程间互斥和同步。 信号量的取值可以是任何自然数。 最简单的信号量是只能取 0 和 1 的变量,这也是信号量最常见的一种形式,叫做二进制信号量(Binary Semaphore&#…

Docker Cgroups资源控制操作

资源控制 Docker 通过 Cgroup 来控制容器使用的资源配额,包括 CPU、内存、磁盘三大方面, 基本覆盖了常见的资源配额和使用量控制。 Cgroup 是 ControlGroups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如…

vm安装,虚拟环境搭建win+linux+mac,及本机连接虚拟环境数据库、windows服务器搭建、内网穿透

教程中的软件、镜像、工具可去阿里云盘提取: 阿里云盘:https://www.aliyundrive.com/s/CLdTjFtnYbr 提取码:s1a8 一、安装虚拟机 下载链接:https://www.vmware.com/products/workstation-pro.html 下载的过程中可能需要注册登录…

经典的设计模式5——建造者模式

文章目录 建造者模式 建造者模式 截止到今天,创建者模式这一类别的模式已经全整理完了,一共包含5个,工厂方法模式,抽象工厂模式,单例模式,原型模式和建造者模式。还是太看的太慢,得加快进度了。…

黑客零基础入门方法有哪些?如何自学黑客技术?

大家经常问我一个问题,黑客零基础入门方法有哪些?以及如何自学黑客技术?首先要说的是世界上大部分的网络黑客都是自学成才的,这与黑客这门技术有很大的原因,黑客是一个靠兴趣驱动的技术,大部分成为黑客的人…

字节面试归来,黑暗3小时......

背景 杭州某中厂的软件测试开发,本科毕业5年,最近面试了PDD、小红书、字节等多个大厂。几乎都拿到了Offer,最终选择了字节2-2。以下是他的一些分享和总结。 从准备看机会开始,一直到拿到offer,经历了2个月的时间&…

探索未来,畅享奇迹——3DVR智慧景区引领旅游革命

导语: 在快速发展的科技时代,我们正逐渐进入一个全新的旅游体验时代。3DVR智慧景区作为旅游业的革命性创新,为游客带来了前所未有的沉浸式体验,同时也为景区管理者带来了无限的营销机遇。 通过穿戴VR设备,游客能够在虚…

vue项目中el-tree 添加右键菜单的方法

vue项目中,如何在el-tree 中显示右键菜单呢?这里的核心用到了 node-contextmenu“rightClick” ,具体的操作方法如下: 核心分析 node-contextmenu是el-tree一重要的属性, 当某一节点被鼠标右键点击时会触发该事件。共…

Sui Builder House日本京都站开启报名

下一站Sui Builder House将于6月29-30日在日本京都举行,为世界各地的开发者提供身临其境地学习和交流的机会。 春日的樱花已经绽放,黄金周也已经过去,现在是时候来京都参加Sui Builder House一起庆祝夏天的来临了。来自日本和周边地区的开发…

Java 常量池:静态常量池 动态常量池 字符串池

Java 常量池相关内容 Java 常量池概念分类:静态常量池、动态常量池、字符串常量池(由于jdk1.7之后字符串常量池从运行时常量池分离到堆中) 静态常量池 class 文件中CLass文件中除了有类的版本、字段、方法、接口等描述信息外,还有…

【C++】C++的类型转换

文章目录 1、C语言中的类型转换2、为什么C需要四种类型转换3、C强制类型转换(重点)3-1、static_cast3-2、reinterpret_cast3-3、const_cast3-4、dynamic_cast 4、RTTI(了解)5、常见面试题6、总结 1、C语言中的类型转换 在C语言中&…

选择合适的数据库引擎:InnoDB vs. MyISAM - 你的终极指南!

大家好,我是小米,一个热衷于技术分享的29岁程序员。今天,我将带大家一起探讨一下MySQL中两种常见的存储引擎:InnoDB和MyISAM。它们之间有许多差异,了解这些差异对于我们在选择合适的存储引擎时至关重要。废话不多说&am…

想做好接口测试,先把这些概念搞清楚了

接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。 系统对外的接口 比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用…

Springboot配置Log4j日志系统,并将日志存入数据库

Log4j是apache公司开发的一款日志管理系统&#xff0c;可以高效的管理系统中出现的BUG或者各种信息&#xff0c;并且可以已文本的方式或者数据库存入的方式来记录数据 第一步&#xff1a;导入依赖 在pom.xml中导入Log4j依赖 <!-- https://mvnrepository.com/artifact/log…

通达信通道交易系统选股公式,结合MACD绿柱缩短底背离

亚历山大埃尔德在《以交易为生》&#xff08;原书第2版&#xff09;中&#xff0c;将价格在通道中的波动比喻为河流在河谷中流动。当河流碰到右岸时&#xff0c;会向左转&#xff1b;碰到左岸时&#xff0c;会向右转。价格上涨时&#xff0c;常在碰到隐形天花板时停止上涨&…

java SSM 啤酒配送管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 啤酒配送管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代 码和数据库&#xff0c;系统主要采…

【每天学习一点新知识】应急响应快速指南

一、前言 马上就端午节啦&#xff0c;提前祝大家端午快乐&#xff0c;顺便把之前的六一也给补上&#xff0c;希望大家每天的生活都跟童话世界一样美好&#xff0c;充满希望&#xff08;虽然现实很残酷&#xff09;。 最近更的没有以前勤快了&#xff0c;一是在实习&#xff0c;…

基于smardaten无代码开发舆情分析系统

一、前言 在日常生活中&#xff0c;有各种各样的资讯、社交平台。这些平台充斥着大量信息&#xff0c;这些信息中隐含了许多有用数据&#xff0c;但是这些数据无法之间获取&#xff0c;且难以展示&#xff0c;于是就有了舆情分析系统。 舆情分析系统是一个综合的系统&#xf…

elementui tree 支持虚拟滚动和treeLine (上)

背景&#xff1a;在使用elementuivue2.x进行项目开发时&#xff0c;有用到el-tree组件&#xff0c;但是在数据很多时会卡顿 基于以上背景elementui 提供的el-tree组件无法满足需求。 期间在网上调研了很多相关的tree组件&#xff0c;例如&#xff1a; vue-treeszTreesjsTrees…