- 博客(38)
- 资源 (5)
- 收藏
- 关注
原创 高通平台稳定性分析-noc错误一例
碰到一个死机问题,dmesg_TZ.txt中没有明显错误,查看TZ log中有 noc错误提示。noc.txt中内容如下:*******************************NoC = gem_nocSBM0: FAULTINSTATUS0_LOW = 0x4 FAULTINSTATUS0_HIGH = 0x0 FAULTINSTATUS1_LOW = 0x0 FAULTINSTATUS1_HIGH = 0x0PoC faults detected: qns...
2022-03-02 15:28:52
2068
原创 高通平台稳定性分析-hungtask causing panic-死锁
直接开整吧,dmesg_TZ.txt错误信息:(3)[71:khungtaskd]INFO: task Binder:2848_9:3784 tgid:2848 blocked for 120s in whitelist10707 cpu4Call trace: __switch_to+0x244/0x460 __schedule+0x590/0xac4 schedule+0x64/0x188 __mutex_lock+0x444/0x998 __mutex_lock_slowpath+
2022-01-21 18:29:26
1111
原创 高通平台稳定性分析-panic:list_add corruption
直接开整:问题出现在屏幕休眠唤醒的时候。1、dmesg_TZ.txt中看到死机调用栈:[5362:Binder:2633_18]list_add corruption. prev->next should be next (ffffff897888c648), but was 5a5a5a5a000001a5. (prev=ffffff89ca7433c0)CPU: 2 PID: 5362 Comm: Binder:2633_18[I/TS_KIT] tskit_driver_roi_sw
2022-01-04 21:09:25
1389
原创 高通平台稳定性分析-panic:list_del corruption
这类list_del corruption的问题比较常见,这种list的问题通常有两种原因:1、踩内存2、并发访问举栗子:[ 720.453550](4)[I/bq25970] [ic:0]adc_enable [14]=0x0[ 720.453813](4)nfc_i2c_dev_suspend: pinlev=0x1[ 720.457681](4)pn547_i2c_read : retry = 0, ret = 256, count = 256 > 6F2E08000
2021-12-30 17:22:22
1175
原创 高通平台稳定性分析-panic:Unexpected kernel BRK exception at EL1
最近碰到一例死机问题,dmesg中能看到如下信息:(4)[25230:XXX:1560_1]Unexpected kernel BRK exception at EL1 [25230:XXX:1560_1]Internal error: BRK handler: f2005512 [#1] PREEMPT SMP[25230:XXX:1560_1]Skip md ftrace buffer dump for: 0xc00f30[25230:XXX:1560_1][RB/E]rb_kallsyms
2021-12-28 21:01:00
4356
原创 把python脚本直接放到bat中
没错,我在水文章一个python脚本-替换文件中的文件夹路径_thonmin的专栏-CSDN博客这个脚本,还得在命令行里面输入python3 ChangePath.py才能执行,麻烦,还是傻瓜点,弄成BAT直接双击多舒服:@echo offecho #coding=utf-8>Change.pyecho #!/usr/bin/python>>Change.pyecho import os>>Change.pyecho import re>>Ch
2021-12-16 19:59:38
1626
原创 高通平台批量解析SN号的脚本
高通平台,LCS=PROD 类型的熔丝之后,如果想要查看tz的log,需要绑定cpu的SN号才行。获取SN号的方法:[高通平台]9008模式下如何读取MSMID和serial_number_thonmin的专栏-CSDN博客_高通9008模式提取数据获取了SN号之后是一个bin文件,虽然我们可以用二进制工具打开查看,自己转换大小端,但如果要一次性绑定几十上百个,弄起来就比较麻烦了。下面是一个脚本,把所有抓到的SN的bin文件放在一个目录,把下面的脚本命名为getsn.py也放在同一个目录,py.
2021-12-09 11:31:52
3025
转载 ARM SMMU的原理与IOMMU[转载]
ARM SMMU的原理与IOMMU首先放一个社区iommu patch的网址:https://lore.kernel.org/linux-iommu/arm smmu的原理smmu 基本知识如上图所示,smmu 的作用和mmu 类似,mmu作用是替cpu翻译页表将进程的虚拟地址转换成cpu可以识别的物理地址。同理,smmu的作用就是替设备将dma请求的地址,翻译成设备真正能用的物理地址,但是当smmu bypass的时候,设备也可以直接使用物理地址来进行dma;smmu 的数据结构
2021-12-03 14:18:48
2193
原创 高通平台reboot简介
1、重启类型: 重启类型 说明 阶段 组合键按下后 |<-防抖时间->|<---------- S1 ----------->|<--S2 触发hard reset(可配置)-->| |<---------------------------------------S3 触发Xvdd hard reset-----------------------...
2021-11-30 16:03:46
2212
原创 高通平台稳定性分析——锁的使用
锁的使用不当往往会导致死机异常:之前碰到过一例[2021:11:18 15:28:05](1)BUG: scheduling while atomic: Binder:1199_2/5201/0x00000002[2021:11:18 15:28:05](1)------------[ cut here ]------------[2021:11:18 15:28:05](1)kernel BUG at kernel/sched/walt/walt_debug.c:16![2021:11
2021-11-24 11:09:21
649
1
转载 Linux中的spinlock机制[三] - qspinlock[转]
上文说到,MCS lock可以解决在锁的争用比较激烈的场景下,cache line无谓刷新的问题,但它内含一个指针,所以更消耗存储空间,但这个指针又是不可或缺的,因为正是依靠这个指针,持有spinlock的CPU才能找到等待队列中的下一个节点,将spinlock传递给它。本文要介绍的qspinlock,其首要目标就是把原生的MCS lock结构体进行改进,「塞」进4字节的空间里。【MCS Lock的改进 - qspinlock】先来看一下有3个以上的CPU持有或试图获取spinlock时,等待队列的
2021-11-19 18:11:57
1106
原创 高通平台稳定性分析-中断风暴导致panic
老化测试的过程中出现死机。1、dmesg_TZ.txt中搜索"Kernel panic -"没有任何发现2、dmesg_TZ.txt中搜索"begin Watchdog",能够看到CPU#0 : ping_start: 726.515028 : ping_end: 726.515048CPU#1 : ping_start: 726.515049 : ping_end: 726.515051CPU#2 : ping_start: 726.515052 : ping_end: 0.0
2021-11-15 16:10:06
1266
转载 Linux上下文切换[转]
内核版本linux-v5.8体系结构arm64一、前言操作系统运行过程中,时刻进行着各种上下文的相互切换:用户空间和内核空间 进程上下文与中断上下文 不同进程上下文之间跟读并理解这些上下文的切换过程,可以对操作系统的运转过程有更为清晰的认知,本文基于arm64体系架构,阐述Linxu系统中各种上下文的切换过程。二、用户空间与内核空间相互切换2.1 为什么存在用户空间与内核空间?在构建操作系统时,为了实现系统稳定,对资源的有效利用以及多任务切换等操作,需要操作系统拥有绝对
2021-11-15 09:31:32
1370
原创 高通平台稳定性分析-hungtask causing panic-Low_memory
使用ramparser解析后:1、dmesg_TZ.txt【panic信息、调用栈信息、其他打印信息】搜索panic 看到:(3)[71:khungtaskd]Task Jit thread pool:2581 blocked for 120s is causing panic(3)[71:khungtaskd][RB/E]rb_sreason_str_set: sreason_str set hungtask(3)[71:khungtaskd]Kernel panic - not syn
2021-11-06 15:57:51
724
转载 高通常用缩写
高通常用缩写原创makeyourprogress 最后发布于2017-06-29 17:47:40 阅读数 4165 收藏展开【ACR】Access control register【AMSS】Advanced Mobile Subscriber Software【APPS PBL】Application Processor Primary Boot Loader【APQ】Application Processor Qualcomm【APSS】Applications processor s.
2021-11-04 17:59:19
624
转载 Ftrace简介[转载]
ftrace 简介ftrace 的作用是帮助开发人员了解 Linux 内核的运行时行为,以便进行故障调试或性能分析。最早 ftrace 是一个 function tracer,仅能够记录内核的函数调用流程。如今 ftrace 已经成为一个 framework,采用 plugin 的方式支持开发人员添加更多种类的 trace 功能。Ftrace 由 RedHat 的 Steve Rostedt 负责维护。到 2.6.30 为止,已经支持的 tracer 包括:Function tracer 和
2021-10-29 19:32:24
851
原创 vim 一些插件的安装命令
github 不太好访问,就替换为一个镜像了,2021.10.21验证可用git clone https://github.com.cnpmjs.org/Valloric/YouCompleteMe.git/ /home/shabei/.vim/plugged/YouCompleteMegit clone https://github.com.cnpmjs.org/mileszs/ack.vim.git/ /home/shabei/.vim/plugged/ack.vimgit clone http
2021-10-21 15:54:27
275
转载 做个记录win10远程访问ubuntu18.04
实现Windows直接远程访问Ubuntu 18.04(旧版本也支持,无需安装第三方桌面,直接使用自带远程工具) - 法号阿兴 - 博客园
2021-10-19 15:22:11
84
原创 上家公司的一个小结
我一直比较佛系,这都毕业15年了也是随遇而安,导致技术也不够精,几家公司都是干了4~6年,往往发现周围的同事都快走光了,或者是家庭实在有点入不敷出了才想着换工作。2017年10月底离开了上上家公司,加入上家公司,职务也从原来的技术支持工程师,转变成了驱动开发工程师,离职的原因就是结婚生娃后,发现收入无法支撑生活了,总是赤字。上上家公司提出离职后,领导照例挽留,并且提出了加薪,但是也加不到上家公司给的数字,还是决定离开。其实即使能够给到,这种情况也不建议再留了,不然搞得好像是用离职威胁加薪一样,意难平。
2021-10-18 11:00:18
200
原创 [高通平台]9008模式下如何读取MSMID和serial_number
1、电脑上安装QPST,默认路径为:C:\Program Files (x86)\Qualcomm\QPST\bin2、打开Windows的命令行窗口,开始->cmd->回车3、在命令行输入:cd C:\Program Files (x86)\Qualcomm\QPST\bin4、操作手机进入9008模式,(adb reboot edl,或者通过短接,或者空板直接连接USB)5、在设备管理器中确认9008对应的端口号比如566、在命令行输入命令QSaharaServer.ex
2021-10-14 10:31:10
1797
原创 [高通平台]CtsNativeMediaAAudioTestCases failed
此测试主要测试的就是mmap以及speaker-safe相关。出问题,就检测跟这两个通路相关的所有配置该测试缺少相应的speaker-safe通路配置mixer_paths_wcd937x.xml+<path name="mmap-playback speaker-safe"> + <path name="mmap-playback" /> +</path><path name="mmap-playback"> - ...
2021-10-14 10:27:23
395
原创 [高通平台]FM无声
高通平台测试功能发现FM无声,硬件确认连接没有问题。原因是usecase和pcmid 对应关系错误。【vendor/qcom/opensource/audio-hal/primary-hal/configs/lito/audio_platform_info_qrd.xml】- <usecase name="USECASE_AUDIO_PLAYBACK_FM" type="in" id="38"/>+ <usecase name="USECASE_AUDIO_PLAYBACK_F
2021-10-13 14:40:24
652
原创 [高通平台]登录google后录音无声
高通平台,测试发现登录google后,再启动录音就会无声。实际上是启动了google 语音功能占用了通路。vendor/qcom/opensource/audio-hal/primary-hal/hal/configs/lito/audio_policy_configuration.xml@@ -162,7 +162,7 @@- <mixPort name="primary input" role="sink" maxOpenCount="2" maxActiv
2021-10-13 14:33:20
462
原创 [高通平台]手机提示模拟耳机插入,不支持此设备
/LA.UM.8.15/vendor/qcom/opensource/usb/hal/Usb.cpp428 Status getPortStatusHelper(hidl_vec<PortStatus_1_1> *currentPortStatus_1_1,…..486 if (V1_0) {487 (*currentPortStatus_1_1)[i].status.supportedModes = V1_0::PortMode::DFP;488 } else {- (
2021-10-13 14:29:07
3631
转载 [转载]破获ARM64位CPU下linux crash要案之神技能:手动恢复函数调用栈
公众号:极客程序视界破获ARM64位CPU下linux crash要案之神技能:手动恢复函数调用栈(一)情况是在不断地变化,要使自己的思想适应新的情况,就得学习” --伟大主席毛爷爷引言前不久老王的一位刚入职的同事小马在调试基于三星平台的7420 SOC(ARM64位处理器芯片)Android驱动的时候遇到了一个crash问题,但是...
2021-10-13 11:46:41
717
原创 高通 SM6350平台,个别的耳机录音无声
一、耳机录音无声、断续2020.11.10,碰到有个特殊耳机,设备可以识别,但是就是录音没声音。1、观察log,没有看到任何异常2、测量阻值,发现正常耳机都在2k左右,而问题耳机阻值在3.2k。解决方法,修改代码:vendor/qcom/opensource/audio-kernel/asoc/kona.c#define WCD_MBHC_HS_V_MAX 1600->1700这个值就是设置mic检测的最大电压的,如果发现阻抗高,可以调大这个值,但不要太...
2020-11-10 13:47:23
10625
原创 ubuntu20.04,安装向日葵客户端报错问题
ubuntu20.04上安装向日葵客户端SunloginClient-10.1.1.38139_amd64.deb,会提示缺少依赖库libwebkitgtk-3.0-0_2.4.11-3_amd64.deb需要安装下列库文件:http://ftp.br.debian.org/debian/pool/main/libg/libglvnd/libegl1_1.1.0-1_amd64.debhttp://ftp.br.debian.org/debian/pool/main/m/mesa/libegl1-m
2020-10-21 10:27:18
1124
原创 fastboot下载慢的一种原因
之前碰到我们使用fastboot 下载镜像特别慢,其他方式有30M/s,而我们只有3M/s。通过串口log发现fastboot下载时在不停的打印log,特别是irq类型的。把所有log打印都屏蔽后,恢复到30M/s的速度...
2020-01-22 13:44:14
587
2
原创 sprintf 的一个小问题记录
调试过程中发现显示imei号会闪退,追踪代码,怀疑应该是sprintf的用法问题,修改后解决static void imei_abnormal(char *data) { int nu; int nu1; int i=0,j=0; memset(imei_buff,0,16); for(i=0; i< 8 ;i+...
2020-01-22 13:41:42
215
原创 【QCOM】UFS使用QFIL down不进去
最近一个新的项目使用UFS,用高通的QFIL工具下载,总是提示,不能下载:ERROR: Failed to open the UFS Device slot 0 partition 0通过文档发现,需要先下载对应的provision_xxx.xml才行。这个文件看内容是相当于咱们硬盘的格式化操作,后面才能分区写入。...
2020-01-22 13:35:30
4986
3
原创 [MTK][Recovery]如何简单修改recovery模式下的图片文字大小
最近碰到一个问题,在恢复出厂设置时,显示的图片和文字比较小,需要调整大一些。网上搜了很多,比如 https://blog.csdn.net/jianggest/article/details/52911257这篇是比较详尽的说明,但是尝试了半天没效果。后来发现其实没那么复杂,在代码中有现成的多种大小:/Project/blackjack/bootable/recovery/res-...
2020-01-09 17:33:45
800
原创 [MTK][Android P]如何去掉差分包中的preloader分区
最近碰到一个问题,在进行差分升级的时候,会因为某些原因导致preloader hash值不匹配,升级失败,所以需要在差分升级的时候不升级preloader。解决的方法,就是在制作AB分区的差分升级包的时候,把目标zip解压出来,把ab_partitions.txt中的分区名去掉,同时把preloader.img去掉修改如下:Project/build/tools/releasetool...
2020-01-09 15:37:54
1144
2
转载 恢复出厂设置后, 时间没有恢复
原文:http://blog.csdn.net/mm167891/article/details/8618884步骤:先设置日期或时间,恢复出厂设置,日期或时间没有恢复成默认现象:如:先设置日期为2017-1-1,恢复出厂设置之后,日期仍为2017-1-1; (注:系统默认的时间为2013-1-1)原因: 恢复出厂设置主要功能为清除/data, /c
2015-02-05 11:25:25
1135
EMMC 4.5协议标准
2013-02-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人