高通android WIFI debug

参考高通文档:80-76240-16_REV_AA_Wi-Fi_Debug_Techniques

大纲

 

一、 WLAN Debug Logs –logcat

■ Logcat log logcat is a command-line tool that dumps the log of system messages,

■ Including stack traces when the device throws an error.

■ Need to enable WLAN verbose log before capturing logcat log.

Option1 by Android UI

Activate Developer Options

Goto Settings -> System -> About Phone -> BuildNumber (Click this 7 times)

Enable Wifi Verbose logging

Goto Settings -> System -> Advanced -> Develop Options -> Enable Wifi Verbose logging

Option 2 by command line

Run below command at adb shell, then reboot target

#cmd wifi set-verbose-logging enabled

#cmd wifi is-verbose-logging

二、WPA_SUPPLICANT default debug level is debug

to enable more debug log, you can try below:

msmnile_au:/ # wpa_cli log_level EXCESSIVE

enum {MSG_EXCESSIVE, MSG_MSGDUMP, MSG_DEBUG, MSG_INFO, MSG_WARNING, MSG_ERROR}

三、WLAN Driver/FW log

1、By default, WLAN log will be saved at below directory in your target.

/data/vendor/wifi/wlan_logs/

msmnile_gvmq:/data/vendor/wifi/wlan_logs # ls -al

-rw-r--r-- 1 system system 18538947 2023-03-26 16:39 cnss_fw_logs_current.txt

-rw-r--r-- 1 system system 30971954 2023-03-26 15:38 host_driver_logs_current.txt

实际的8155下看的是

#:/data/vendor/wifi/wlan_logs # ls -lh total 15M -rw-r--r-- 1 system system 0 1970-01-01 08:00 cnss_fw_logs_current.txt -rw-r--r-- 1 system system 30M 2024-12-27 05:48 host_driver_logs_000.txt -rw-r--r-- 1 system system 32 2024-12-27 05:48 host_driver_logs_current.txt -rw-r--r-- 1 system system 0 1970-01-01 08:00 txrx_pktlog_current.dat

 2、If your FW log size is 0, follow below to enable WLAN FW log.

1、Make sure below file is existed in your target.

/vendor/firmware_mnt/image/qcXXX/Data.msc

2、Make sure below INI setting

vendor/etc/wifi/qcn7605/WCNSS_qcom_cfg.ini

gEnablefwlog=1

gFwDebugLogLevel=0

gFwDebugModuleLoglevel=1,1,2,1,3,1,4,0,5,1,6,0,7,0,8,1,9,1,13,1,14,1,17,1,18,1,19,1,22,1,26,1,28,1,29,1,31,1,36,1,38,1,46,1,47,1,50,1,52,1,53,1,56,1,60,1,61,1

2.1  The default WLAN log saves latest 2 archives with 30M size, if you need more logs to debug, try below changes:

modify /data/vendor/wifi/cnss_diag.conf, change to max 10 file and each 100M.

original:

MAX_LOG_FILE_SIZE = 30 // 30M each file

MAX_ARCHIVES = 2 // max log segment

modify:

MAX_LOG_FILE_SIZE = 100 // 100M each file

MAX_ARCHIVES = 10

2.2  How to change debug host log level?

Modify WCNSS_qcom_cfg.ini

gHostModuleLoglevel

描述:Input Module ID and Log level alternately and continuously

Module ID: Please refer QDF_MODULE_ID in qcacld source code.

Debug Level:

enum host_log_level {

  HOST_LOG_LEVEL_NONE = 0, HOST_LOG_LEVEL_FATAL, HOST_LOG_LEVEL_ERROR,

  HOST_LOG_LEVEL_WARN, HOST_LOG_LEVEL_INFO, HOST_LOG_LEVEL_DEBUG,

  HOST_LOG_LEVEL_TRACE, HOST_LOG_LEVEL_MAX,

};

Example: gHostModuleLoglevel=51, 1, 52, 2, 53, 4, 54, 5, 56, 6

51/52/53/54/56 are Module ID

1/2/4/5/6 are Debug Level.

五、待继续

六、 博世公司抓驱动日志

分析VCS Wifi连接问题需要抓取相关log和配置信息,抓取方法流程顺序如下:
1、设置log登记,命令如下

adb root
adb remount
adb shell setprop persist.log.tag D
adb shell setprop persist.wifi.debug.level.enable true
adb shell settings put global wifi_verbose_logging_enable 1
adb shell setprop persist.log.tag.wpa_supplicant DEBUG
adb shell wpa_cli log_level MSGDUMP

并修改Android系统中/vendor/etc/wifi/qca6390/WCNSS_qcom_cfg.ini文件下面几项,然后重启生效
gMulticastHostFwMsgs=1
gEnablefwlog=1
gFwDebugLogLevel=3

2、将wifi相关配置信息保存到电脑端,adb命令如下:
adb root
adb remount
adb pull /vendor/firmware_mnt/verinfo/ver_info.txt ./
adb pull /data/vendor/wifi/hostapd/hostapd_swkan0.conf  ./     

3、QA复现问题前先开始抓wifi-driver和wifi-dmesg.log,adb命令如下:
adb root
adb shell cnss_diag -f -c > wifi-dirver.txt   //此命令在复现问题之前执行,复现问题后Ctrl+c停止

adb shell dmesg -w > ./wifi-dmesg.txt        //此命令在复现问题之前执行,复现问题后Ctrl+c停止

1、上面的cnss_diag -f -c > wifi-dirver.txt 后,在/data/vendor/wifi/wlan_logs有firware log

但用cnss_diag -q -f ,日志应该也有

参考:https://blog.csdn.net/feelinghappy/article/details/108536224

2、8155 驱动和固件日志的大小设置

/data/vendor/wifi/cnss_diag.conf

1|hqcos:/ # cat /data/vendor/wifi/cnss_diag.conf
LOG_PATH_FLAG = 1
MAX_LOG_FILE_SIZE = 30
MAX_ARCHIVES = 2
MAX_PKTLOG_ARCHIVES = 4
LOG_STORAGE_PATH = /data/vendor/wifi/wlan_logs/
AVAILABLE_MEMORY_THRESHOLD = 100
MAX_LOG_BUFFER = 2
MAX_PKTLOG_BUFFER = 10
HOST_LOG_FILE = /data/vendor/wifi/wlan_logs/buffered_cnsshost_log.txt
FIRMWARE_LOG_FILE = /data/vendor/wifi/wlan_logs/buffered_cnssfw_log.txt
ENABLE_FLUSH_LOG = 0
REAL_TIME_WRITE = 0

cnssdiag: 抓取wifi固件的日志

vendor/qcom/proprietary/wlan/common-tools/cnssdiag/

固件加载流程和cnss_daemon

qcom 子系统启动流程_cnss-daemon-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python:凯撒密码

题目内容: 凯撒密码是古罗马恺撒大帝用来对军事情报进行加密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列该字符后面第三个字符,对应关系如下: 原文:A B C D E F G H I J K L M N O P Q R …

基于STM32的智能鱼缸水质净化系统设计

🤞🤞大家好,这里是5132单片机毕设设计项目分享,今天给大家分享的是智能鱼缸水质净化系统。 目录 1、设计要求 2、系统功能 3、演示视频和实物 4、系统设计框图 5、软件设计流程图 6、原理图 7、主程序 8、总结 1、设计要求…

STM32系统架构介绍

STM32系统架构 1. CM3/4系统架构2. CM3/4系统架构-----存储器组织结构2.1 寄存器地址映射(特殊的存储器)2.2 寄存器地址计算2.3 寄存器的封装 3. CM3/4系统架构-----时钟系统 STM32 和 ARM 以及 ARM7是什么关系? ARM 是一个做芯片标准的公司&#xff0c…

美甲美睫门店拓客营销小程序开发

一套针对美甲美睫门店开发的营销拓客小程序 小程序支持线上线下服务预约、客户管理、多种客户营销方式以及员工管理、门店管理、门店营销活动创建开展等等。 用户端:服务预约、次卡、时卡办理,会员办理、会员升级、会员权益,复购攒积分&…

deepseek+“D-id”或“即梦AI”快速生成短视频

1、deepseek生成视频脚本 1.1、第一步:使用通用模板提出需求,生成视频脚本 对话输入示例脚本1: 大年初五是迎财神的日志,帮我生成10秒左右的短视频, 体现一家3口在院子里欢庆新年, 孩子在院子里放鞭炮烟…

【STM32】ADC|多通道ADC采集

本次实现的是ADC实现数字信号与模拟信号的转化,数字信号时不连续的,模拟信号是连续的。 1.ADC转化的原理 模拟-数字转换技术使用的是逐次逼近法,使用二分比较的方法来确定电压值 当单片机对应的参考电压为3.3v时,0~ 3.3v(模拟信…

从零到一:基于Rook构建云原生Ceph存储的全面指南(上)

文章目录 一.Rook简介二.Rook与Ceph架构2.1 Rook结构体系2.2 Rook包含组件1)Rook Operator2)Rook Discover3)Rook Agent 2.3 Rook与kubernetes结合的架构图如下2.4 ceph特点2.5 ceph架构2.6 ceph组件 三.Rook部署Ceph集群3.1 部署条件3.3 获取…

如何在本地部署deepseek?

1、打开ollama官网,点download(下载需要翻墙 https://ollama.com/ 2、双击下载好的OllamaSetup.exe,一直点下一步即可。 3、winR 输入cmd,打开命令提示符,输入ollama。有以下提示即安装完成。 4、可以根据 nvidia-…

团结引擎 OpenHarmony 平台全面支持 UAAL,实现引擎能力嵌入原生应用

团结引擎1.4版本已于近日正式发布!在这一版本中,OpenHarmony 平台迎来了一个具有里程碑意义的更新:全面支持 Used as a Library(UAAL)。UAAL 这一技术方案,具有将引擎嵌入原生应用的独特能力,其…

【DeepSeek】在本地计算机上部署DeepSeek-R1大模型实战(完整版)

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈人工智能与大模型应用 ⌋ ⌋ ⌋ 人工智能(AI)通过算法模拟人类智能,利用机器学习、深度学习等技术驱动医疗、金融等领域的智能化。大模型是千亿参数的深度神经网络(如ChatGPT&…

【Elasticsearch】Elasticsearch检索方式全解析:从基础到实战(二)

接着上一篇文章;我们继续来研究es的复杂检索 文章目录 (1) bool用来做复合查询(2)Filter【结果过滤】(3)term(4)Aggregation(执行聚合) (1) bool用来做复合查询 复合语…

如何使用DiskGenius做备份并且恢复?

如何使用DiskGenius做备份并且恢复? 前言 前言 此操作适用于将1台旧电脑的数据迁移到新电脑上 一、进入PE使用DG分区进行备份镜像 二、分区备份 1选择要操作的硬盘——2选择操作分区——3备份分区 1选择文件路径(保存pmf文件的位置选择存到U盘中&…

ZZNUOJ(C/C++)基础练习1091——1100(详解版)⭐

目录 1091 : 童年生活二三事(多实例测试) C C 1092 : 素数表(函数专题) C C 1093 : 验证哥德巴赫猜想(函数专题) C C 1094 : 统计元音(函数专题) C C 1095 : 时间间隔(多…

【Spring AI】基于SpringAI+Vue3+ElementPlus的QA系统实现一

整理不易,请不要吝啬你的赞和收藏。 1. 前言 这是 SpringAI 系列的第二篇文章,这篇文章将介绍如何基于 RAG 技术,使用 SpringAI Vue3 ElementPlus 实现一个 Q&A 系统。本文使用 deepseek 的 DeepSeek-V3 作为聊天模型,使用…

【Vue】在Vue3中使用Echarts的示例 两种方法

文章目录 方法一template渲染部分js部分方法一实现效果 方法二template部分js or ts部分方法二实现效果 贴个地址~ Apache ECharts官网地址 Apache ECharts示例地址 官网有的时候示例显示不出来,属于正常现象,多进几次就行 开始使用前,记得先…

1.【线性代数】——方程组的几何解释

1.方程组的几何解释 概述举例举例一1. matrix2.row picture3.column picture 概述 三种表示方法 matrixrow picturecolumn picture 举例 举例一 { 2 x − y 0 − x 2 y 3 \begin{cases} 2x - y 0 \\ -x 2y 3 \end{cases} {2x−y0−x2y3​ 1. matrix [ 2 − 1 − 1 2…

KITE提示词框架:引导大语言模型的高效新工具

大语言模型的应用日益广泛。然而,如何确保这些模型生成的内容在AI原生应用中符合预期,仍是一个需要不断探索的问题。以下内容来自于《AI 原生应用开发:提示工程原理与实战》一书(京东图书:https://item.jd.com/1013604…

【论文阅读】Revisiting the Assumption of Latent Separability for Backdoor Defenses

https://github.com/Unispac/Circumventing-Backdoor-Defenses 摘要和介绍 在各种后门毒化攻击中,来自目标类别的毒化样本和干净样本通常在潜在空间中形成两个分离的簇。 这种潜在的分离性非常普遍,甚至在防御研究中成为了一种默认假设,我…

基于Springmvc+MyBatis+Spring+Bootstrap+EasyUI+Mysql的个人博客系统

基于SpringmvcMyBatisSpringBootstrapEasyUIMysql的个人博客系统 1.项目介绍 使用Maven3Spring4SpringmvcMybatis3架构;数据库使用Mysql,数据库连接池使用阿里巴巴的Druid;使用Bootstrap3 UI框架实现博客的分页显示,博客分类&am…