高通 wlan 调试总结随笔

  • 1. 进入ftm模式
  • 2. 抓取wifi log
    • 2.1 抓取 Android log
      • 2.1.1 How to enable wifi verbose log?
      • 2.1.2 How to collect adb log and kernel log in one file?
      • 2.1.3 How to open wpa_supplicant debug log?
    • 2.2 抓取 Tcpdump
    • 2.3 抓取 wifi driver log & FW log - for WCN36xx
      • 2.3.1 collect QXDM logs - for MSM8909
      • 2.3.2 collect text format logs
    • 2.4 抓取 wifi driver log & FW log - for WCN39xx
      • 2.4.1 collect text format logs
    • 2.5 抓取 wifi driver log & FW log - for QCA639x
      • 2.5.1 collect QXDM logs
    • 2.5 Collect pktlog
      • 2.5.1 Snapdragon platform with WCN39xx chipset attached
      • 2.5.1 Snapdragon platform with QCA639x chipset attached

最近也分析了一个高通wifi,bt 没用的问题,
注意分析过程中,高度和硬件或射频同事保持密切联系,多去骚扰他们。
因为,高通wifi/bt 相关的,只要硬件及高通固件没问题,基本不会出现无功能的问题。

最终我这个问题也是终过射频同事确认,物料贴错了,导致wifi 功率起不来,
解决这个问题后,bt 的问题买一送一,连同wifi问题一并ok 了。

下面总结一些抓取wifi log 及调试的一些方法:

1. 进入ftm模式

射频同事调试wifi 时,需要进入ftm 模式,才能连接上QRCT 工具,进入ftm 模式有如下两种方法:

方法一:

adb root
adb remount
adb shell ifconfig wlan0 up
adb shell "echo 5 > sys/module/wlan/parameters/con_mode"    (详细哪个目录不记得了,find 找下 con_mode_ftm 就好了)
adb shell ftmdaemon -n -dd
pause

方法二:

adb root && adb wait-for-devices
adb shell rmmod wlan
adb shell insmod /vendor/lib/modules/qca_cld3_wlan.ko con_mode_ftm=5
adb shell ifconifg wlan0 up
adb shell ftmdaemon -n -dd

有关ftm更多知识,也可以参考高通文档
《80-wl521-103_g_qca639x_wcn685x_wlan_software_user_guide.pdf》
《80-ya512-15_p_wlan_ftm_for_wcn39xx_tlv2_commands_user_guide.pdf》
《80-wl521-103_g_qca639x_wcn685x_wlan_software_user_guide.pdf》
《kba-170509183004_7_how_to_collect_wifi_logs_for_debug》

2. 抓取wifi log

2.1 抓取 Android log

2.1.1 How to enable wifi verbose log?

Goto Settings-> About Phone -> BuildNumber (Click this 10 times) to activate development options.
Goto Settings -> Develop Options -> Enable Wifi Verbose logging

adb shell logcat -v threadtime >logcat.txt

2.1.2 How to collect adb log and kernel log in one file?

adb shell logcat-v time -f /dev/kmsg | adbshell cat /proc/kmsg | tee kernel_logcat.txt

2.1.3 How to open wpa_supplicant debug log?

Run the following command before collect adb logs
wpa_cli ifname=wlan0 log_level debug

If failed to run above command on some platform, try command:
wpa_cli -iwlan0 -p /data/misc/wifi/sockets log_level DEBUG

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

2.2 抓取 Tcpdump

tcpdump -i <interface> -vv -w <dump_file>

Ex: tcpdump -i wlan0 -vv -w tcpdump_000.pcap

2.3 抓取 wifi driver log & FW log - for WCN36xx

Snapdragon platform with WCN36xx chipset attached
Read doc 80-Y0513-2 , section 2.4.6

2.3.1 collect QXDM logs - for MSM8909

open QXDM
Press F1, pop up Log view windows
In Log view window, click right button
In popup menu, choose configure …, pop up configure window
In popup configure window, choose Message packets , in right column, select all WLAN options.

2.3.2 collect text format logs

  1. make sure WCNSS_qcom_cfg.ini and cnss_diag.conf configured properly
    Enable fw logging: gEnableFWLogging=1

    Continuously send firmware logs to the host even if the host is suspended:
    gEnableContFWLogging=1

  1. make sure cnss_diag is running
    cnss_diag -q -f
    Then pull logs from /data/vendor/wifi/wlan_logs/

  2. Log file size and archives. Set In /data/misc/wifi/cnss_diag.conf

  3. Open more logs
    iwpriv wlan0 dump 211 32 1//open more RA debug log
    iwpriv wlan0 dump 13 6 6 1 //open more CxM log

2.4 抓取 wifi driver log & FW log - for WCN39xx

2.4.1 collect text format logs

  1. make sure WCNSS_qcom_cfg.ini and cnss_diag.conf configured properly
    WCNSS_qcom_cfg.ini : gEnablefwlog=1 // by default

  2. make sure cnss_diag is running
    cnss_diag -q -f
    Then pull logs from /data/vendor/wifi/wlan_logs/

  3. Log file size and archives. Set In /data/misc/wifi/cnss_diag.conf, default config is
    MAX_LOG_FILE_SIZE = 30
    MAX_ARCHIVES = 2

  4. Open more logs
    Open more BTC logs:
    adb shell iwpriv wlan0 setUnitTestCmd 4 2 11 1
    adb shell iwpriv wlan0 setUnitTestCmd 4 2 12 1

2.5 抓取 wifi driver log & FW log - for QCA639x

Please refer the “2 WLAN logging” in " 80-wl521-103 qca639x_wlan_software_user_guid"

2.5.1 collect QXDM logs

  1. Turn on the Wi-Fi once
    MHI cannot be created unless an initial Wi-Fi is on

  2. Connect the device with a local machine

  3. Create folders in /sdcard/
    adb shell
    cd sdcard
    mkdir /diag_logs
    cd diag_logs
    mkdir /mdm2

  4. Push the golden cfg to two folders

  5. adb push Diag.cfg /sdcard/diag_logs/mdm2/Diag.cfg (for WLAN FW)

  6. adb push Diag.cfg /sdcard/diag_logs/Diag.cfg (for WLAN Host)

  7. To start logs:
    adb shell "nohup diag_mdlog -j 5 -s 30 -n 3 &"
    WLAN host file is created under mdm2/
    WLAN FW file is created under /sdcard/diag_logs/[result location]/mdm2

    "nohup" will prevent to kill the diag_mdlog process without USB connection
    -s means the size of a file (MB).
    -n means the total number of log files for each module

  8. Duplicate a Wi-Fi issue (with or without USB conection)

  9. To stop logs: adb shell diag_mdlog -k -j 5
    -k means “kill”

  10. Pull logs from /sdcard/diag_logs/[result location]/mdm2

2.5 Collect pktlog

2.5.1 Snapdragon platform with WCN39xx chipset attached

  1. Force enable mode
    Stop capturing the pktlog: iwpriv wlan0 pktlog 0 (to discard older logs)
    Enable the pktlog:iwpriv wlan0 pktlog 1

    Sleep <arbitrary time of preference>
    Stop capturing the pktlog:iwpriv wlan0 pktlog 0
    Take the snapshot of current pktlog in the buffer: cat /proc/ath_pktlog/cld > /data/<filename1>.dat
    Pull the capture: adb pull /data/<filename1>.dat <filename2>.dat
    Restore the pktlog to its original state: iwpriv wlan0 pktlog 2

  2. Auto enable mode
    INI parameter: gEnablePacketLog=1

    Flush pktlog
    Developer options -> Take bug report > Interactive report. Once reporting the bugreport is done and
    the device makes beep sound, the pktlog will be flushed and logged in /sdcard/wlan_logs
    Or run "adb bugreport >bugreport.txt". Once reporting the bugreport is done and the device makes
    beep sound, the pktlog will be flushed and logged in /sdcard/wlan_logs

    Pktog file size and archives. In In /data/misc/wifi/cnss_diag.conf, default config is
    MAX_PKTLOG_ARCHIVES = 4
    MAX_PKTLOG_BUFFER = 10

2.5.1 Snapdragon platform with QCA639x chipset attached

Please refer the “2 WLAN logging” in " 80-wl521-103 qca639x_wlan_software_user_guid"

The pktlog disabled by default and need be collected manually
The pktlog is the primary source of debug for data path, system issues, and occasional control path issues
The pktlog instructions:

iwpriv wlan0 pktlog 3 10;
sleep 2;// Run before testing
iwpriv wlan0 pktlog 1;// Run after testing
iwpriv wlan0 pktlog 0;cp /proc/ath_pktlog/cld /data/pktlog.dat

在 WCNSS_qcom_cfg.ini 中添加:


vosTraceEnableBAP=255
vosTraceEnableTL=255
vosTraceEnableWDI=255
vosTraceEnableHDD=255
vosTraceEnableSME=255
vosTraceEnablePE=255
vosTraceEnablePMC=255
vosTraceEnableWDA=255
vosTraceEnableSYS=255
vosTraceEnableVOSS=255
vosTraceEnableSAP=255
vosTraceEnableHDDSAP=255
wdiTraceEnableDAL=255
wdiTraceEnableCTL=255
wdiTraceEnableDAT=255
wdiTraceEnablePAL=255
wlanLoggingEnable=1g
EnableDebugLog=6g
EnableDhcpDebug=1
gEnableFWLogging=1
gEnableContFWLogging=1

高通 wlan 调试总结随笔相关推荐

  1. 高通WLAN框架学习(1)- -WIFI的认证和log的抓取

    本章节主要学习下高通WIFI的认证和log的抓取 1.WLAN的基本描述 本博客主要介绍下高通WLAN的概述,涵盖了可用于WLAN以及WLAN.蓝牙和LTE共存的调试方法. 还说明了软件调试可用的配置 ...

  2. 高通安卓调试LCD几方面总结

    来公司上班现在已经整整一个月了,蔽人不才,能力有限,学习进度缓慢,不过也是有一点点的收获与心得,在这里写出来与大家分享,养成良好的记录习惯也免得后忘记. 不啰嗦了,开入正题.来公司一个月左右的时间,主 ...

  3. 高通摄像头调试(OV8856)

    http://blog.chinaunix.net/uid-7213935-id-5749314.html 一.硬件分析 在调试的时候,一定要拿到电路图,模组规格书,SENSOR IC datashe ...

  4. Android8.0 高通PDAF 调试 - actuator sensitivity

    Android8.0 高通PDAF 调试 - actuator sensitivity 有一说一 遇到的问题点 调试过程中发现进不来pdaf流程 log显示如下: 01-01 08:08:54.425 ...

  5. 高通WLAN框架学习(31)-- Power save

    前面的章节已经介绍了高通WLAN框架学习(18)-- QPower 3.0_专业开发者的博客-CSDN博客 接下来这一章节继续深入下 高通Power save算法根据无线网络的流量和拥塞情况,在不影响 ...

  6. 高通WLAN框架学习

    下面是针对高通WLAN Power相关的分析介绍 高通WLAN稳定和功耗分析--WLAN power体系结构 高通WLAN稳定和功耗分析--WLAN功率测量 高通WLAN稳定和功耗分析--Debug ...

  7. 高通camera调试

    高通camera驱动分析 ./qcom/proprietary/mm-still/codec_v1/omx/jpeg_encoder/Android.mk:15:CHROMATIX_VERSION : ...

  8. 高通快速调试命令集合---持续更新

    scp拷贝文件 scp -P xxxx -r chenqw@xxx.xxx.xxx.xxx:/home/zhangx/.ssh/chenqw@ubuntu208.pub . 高通Android9.0查 ...

  9. 高通WLAN框架学习(17)-- NIO和PNO

    本章详细介绍了preferred network offload (PNO)扫描概述.流.模式和配置文件. 18.1 PNO扫描概述 WLAN STA在通过AP模组连接AP之前,需要偶尔对环境进行扫描 ...

最新文章

  1. 4-15 OS(线程,用户态,内核态,页) 数据库(原子性,日志) JAVA(I/O)
  2. 绑定Service的三种实现方式之使用Messenger
  3. xml显示浏览器标签_浅析浏览器书签的导入和导出
  4. Python 自动化-pywinauto遍历展示程序的所有菜单项,菜单栏menu_select()操作方法的使用
  5. 科大星云诗社动态20210814
  6. BZOJ 4327 [JSOI2012]玄武密码 (AC自动机)
  7. C++ Bitsets
  8. BZOJ3294 CQOI2011放棋子(动态规划)
  9. 380免费云存储_三款功能强大的云盘软件,完全替代百度云与腾讯云
  10. mysql攻城掠地_【图片】攻城掠地单机版本服务端+攻城掠地GM工具【单兆权吧】_百度贴吧...
  11. 工信部:“5G+工业互联网”在建项目全国已超2000余个
  12. Ubuntu18.04安装配置Qt5.15
  13. ffmpeg+rtmp推流/拉流(十)
  14. 宏定义(#ifndef+#define+#endif)的作用
  15. GDAL查看DEM高程数据(java)
  16. python+pytest接口自动化_python接口自动化11-pytest入门
  17. 在线端口检测 - 端口扫描 - 端口开放检查
  18. SPSS学习 相关性分析
  19. 小柯在学JAVA之第二弹
  20. 黑暗城堡(dijkstra算法)

热门文章

  1. OpenGL ES 名词解释(二)
  2. tgp登录游戏显示服务器维护,腾讯游戏平台TGP提示“系统故障,错误码15”怎么解决?...
  3. WiFi 万能钥匙的「破解原理」是啥
  4. D3D11中的设备介绍
  5. Ubuntu16.04-64位操作系统上安装Cadence Conformal10.1教程
  6. 显示屏怎么选显示器的各种概念
  7. 人工智能下一个风口在哪里?专家大咖这样说
  8. 全球与中国固定平台起重机市场发展重点及产销需求预测报告2022-2028年版
  9. 大四开始学java b站java人话
  10. erp java 源码下载_erp java