Audio PA 功能失败导致Android (A12)重启

news2024/10/5 15:23:52

1. 问题现象

做完一版os准备导入工厂生产,简称之位Ros(release),工厂有独立的用于验证其功能的os,简称Fos。出厂之前,需要做Fos到Ros的切换。然而,在切到Ros的时候,发现有低概率的设备系统重启。

2. 调查方法

首先,但凡遇到工厂的问题要从软件和硬件两个维度去看问题。

    1)确认是不是软件问题,毕竟新导入的Ros,是可能有低概率的bug的。

         a. 确认复现方法,理用系统自带的log抓取功能,获得和分析系统log;

         b. 使用之前已经release的os,进行排查。在复现方法确定后,可以进行对比测试。如果,已经release的os的上无法复现,那么可以对比出,目前Ros是有bug;

    2)使用Ros,另外找一台确认没问题的机器,进行复现

        a. 假设无法复现,那么大概率是新生产设备的问题

        b. 如果可以复现,那么大概率是Ros的问题

以上是debug的通用手段,这次的遇到的问题,在对比测试的过程中发现,老的os上机器正常,那么判断Ros存在bug。

确定了方向,沿着改方向继续复现并研究log。发现,os中有核心service被kill和重启的情况。部分log如下:

在看kernel的log,发现wsa881x的probe过程一直失败。因为,一直主要从事的安卓底层工作还是比较熟悉驱动部分的内容。于是,紧盯这个问题。结合,这个问题出现的概率比较低。决定把wsa881x的部分引脚拉出来看看。

拉出来后发现,wsa881x的使能脚无法正常拉低。看上去这个就是最主要的原因。检查dtsi的配置和驱动代码。引出wsa881x 使能管脚,异常时休眠情况下,电平无法拉低:

而正常的使能管脚电平变化如下。 

3. 结论解决

应该使用pinctrl来统一管理的可能冲突的管脚,替换掉早期没有pinctrl子系统的单独申请和使用的情况。

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

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

相关文章

linux 服务器进程、端口查找,nginx 配置日志查找,lsof 命令详解

一 、根据端口号 查看文件的部署位置 1.1 使用查看端口号对应的进程信息 方式一 : 使用netstat命令 netstat -tuln | grep 端口号-t:显示TCP连接 -u:显示UDP连接 -l:仅显示监听状态的连接 -n:以数字形式显示端口…

Vellum —— Constraint 约束

目录 Stretch Bend Pin Drag 解算器对DOP外节点的约束属性,只会读取起始帧的值; Stretch 保持点间的初始距离; Stiffness 越高的stiffness,就需要越多的迭代来收敛,如constraint iterations或substeps(子步会更好)…

IC设计企业,如何安全、可控、高效的传输设计文档和研发数据?

近年来,半导体的应用领域不断拓展,在全球经济和社会发展中的重要性与日俱增,半导体芯片是数字经济的核心,承载着现代产业发展,具有举足轻重的价值。从半导体行业的角度,IC设计是关键的一环,我国…

(C++)string类及其函数

愿所有美好如期而遇 标准库中的string类 string是对类模板实例化出的类型的重命名&#xff0c;也就是说string就是basic_string<char>这个类型。 string是表示字符串的字符串类 该类接口与常规类的接口基本相同&#xff0c;再添加了一些专门用来操作string的常规操作。…

2023年中职“网络安全“—Linux系统渗透提权③

2023年中职"网络安全"—Linux系统渗透提权③ Linux系统渗透提权任务环境说明&#xff1a;1. 使用渗透机对服务器信息收集&#xff0c;并将服务器中SSH服务端口号作为flag提交&#xff1b;2. 使用渗透机对服务器信息收集&#xff0c;并将服务器中主机名称作为flag提交…

腾讯云重新注册算不算新用户?算!

腾讯云重新注册算新用户&#xff0c;但有以下限制&#xff1a; 首先&#xff0c;实名认证信息不能沿用老账号的信息&#xff0c;必须使用新的信息进行认证。这是为了确保重新注册的账号能够被视为新用户&#xff0c;并享受到新用户的特权和优惠。 腾讯云双十一领9999代金券 h…

Spring Boot 中使用 ResourceLoader 加载资源的完整示例

ResourceLoader 是 Spring 框架中用于加载资源的接口。它定义了一系列用于获取资源的方法&#xff0c;可以处理各种资源&#xff0c;包括类路径资源、文件系统资源、URL 资源等。 以下是 ResourceLoader 接口的主要方法&#xff1a; Resource getResource(String location)&am…

一个iOS tableView 滚动标题联动效果的实现

效果图 情景 tableview 是从屏幕顶部开始的&#xff0c;现在有导航栏&#xff0c;和栏目标题视图将tableView的顶部覆盖了 分析 我们为了达到滚动到某个分区选中标题的效果&#xff0c;就得知道 展示最顶部的cell或者区头在哪个分区范围内 所以我们必须首先获取顶部的位置 …

23111706[含文档+PPT+源码等]计算机毕业设计SSM框架网上书城全套微信支付电商购物

文章目录 **软件开发环境及开发工具&#xff1a;****项目功能介绍&#xff1a;****论文截图&#xff1a;****实现&#xff1a;****代码片段&#xff1a;** 编程技术交流、源码分享、模板分享、网课教程 &#x1f427;裙&#xff1a;776871563 软件开发环境及开发工具&#xff…

深入了解百度爬虫工作原理

在当今数字化时代&#xff0c;互联网已经成为人们获取信息的主要渠道之一。而搜索引擎作为互联网上最重要的工具之一&#xff0c;扮演着连接用户与海量信息的桥梁角色。然而&#xff0c;我们是否曾经好奇过当我们在搜索引擎中输入关键词并点击搜索按钮后&#xff0c;究竟是如何…

(七)什么是Vite——vite优劣势、命令

vite分享ppt&#xff0c;感兴趣的可以下载&#xff1a; ​​​​​​​Vite分享、原理介绍ppt 什么是vite系列目录&#xff1a; &#xff08;一&#xff09;什么是Vite——vite介绍与使用-CSDN博客 &#xff08;二&#xff09;什么是Vite——Vite 和 Webpack 区别&#xff0…

hive sql 取当周周一 str_to_date(DATE_FORMAT(biz_date, ‘%Y%v‘), ‘%Y%v‘)

select str_to_date(DATE_FORMAT(biz_date, %Y%v), %Y%v)方法拆解 select DATE_FORMAT(now(), %Y%v), str_to_date(202346, %Y%v)

IDEA 集成 Docker 插件一键部署 SpringBoot 应用

目录 前言IDEA 安装 Docker 插件配置 Docker 远程服务器编写 DockerFileSpringBoot 项目部署配置SpringBoot 项目部署结语 前言 随着容器化技术的崛起&#xff0c;Docker成为了现代软件开发的关键工具。在Java开发中&#xff0c;Spring Boot是一款备受青睐的框架&#xff0c;然…

Hessian协议详解

前言 Hessian协议是一种基于二进制的轻量级远程调用协议&#xff0c;用于在分布式系统中进行跨语言的通信。它使用简单的二进制格式来序列化和反序列化数据&#xff0c;并支持多种编程语言&#xff0c;如Java、C#、Python等。Hessian协议相对于其他协议的优势在于其简单性和高…

MPN – 制造零件号

S/4 1610 中的 MPN – 基于 NAST 的输出管理 我试图查找有关 MPN 设置的信息&#xff0c;但找不到详细的配置步骤。在浏览了一些信息和 help.sap 链接后&#xff0c;我能够在 S/4 1610 系统中配置 MPN 设置&#xff0c;这与使用旧输出类型&#xff08;Nast 和输出类型 NEU&…

初学Redis(Redis的启动以及字符串String)

首先使用在Windows PowerShell中输入指令来启动Redis&#xff1a; redis-server.exe 然后通过指令连接Redis&#xff1a; redis-cli 上图的127.0.0.1是计算机的回送地址 &#xff0c;6379是默认端口 上述代码中创建了两个键&#xff0c;注意Redis中严格区分大小写&#xff0…

C语言入门这一篇就够了(进阶篇)

C语言入门这一篇就够了&#xff08;入门篇1&#xff09; C语言入门这一篇就够了&#xff08;入门篇2&#xff09; 上两篇讲了C语言的基本知识和基本语法&#xff0c;接下来讲C语言结构和实战项目 C语言的函数调用 在C语言中&#xff0c;函数是一种可重用的代码块&#xff0c;它…

LrC ACR :优化的 AI 天空蒙版

在 Lightroom Classic 和 Adobe Camera Raw 中创建基于 AI 技术的天空蒙版时&#xff0c;可能由于底层算法的原因&#xff0c;选中的天空蒙版在边缘处有晕开的现象&#xff08;又称为“出血” Bleed&#xff09;&#xff0c;从而导致天空蒙版不是很精准。 本文提供了一种特殊方…

广州华锐互动VRAR:利用VR开展刑事案件公安取证培训,沉浸式体验提升实战能力

随着科技的飞速发展&#xff0c;虚拟现实(VR)技术为我们的生活和工作带来了前所未有的便利。近年来&#xff0c;VR技术在刑事案件公安取证培训中的应用逐渐显现出其独特优势。通过模拟真实的犯罪现场&#xff0c;VR技术为学员提供了沉浸式的体验&#xff0c;使他们在安全的环境…

C语言--统计一行字符串的单词个数, 单词用非字母分割.例如“ab235adg 456ad“被认为是3个单词.

一.题目描述 统计一行字符串的单词个数, 单词用非字母分割. 例如"ab235adg 456ad"被认为是3个单词. 二.思路分析 本题的主要难点在于如何判断有一个单词呢&#xff0c;当然遍历字符串是必须的。下面给出两种不同的思路&#xff1a; 一.当前是字母&#xff0c;下一个…