# 调试

Source: [https://docs.qualcomm.com/doc/80-70017-14SC/topic/report_a_w_fi_issue_to_qualcomm.html](https://docs.qualcomm.com/doc/80-70017-14SC/topic/report_a_w_fi_issue_to_qualcomm.html)

如果在配置或使用 Wi-Fi 功能时遇到问题，可以向 [Qualcomm](https://www.qualcomm.com/support) 报告。还可以从各个模块收集日志以进行故障排除。

### 报告 Wi-Fi 问题

要向 [Qualcomm](https://www.qualcomm.com/support) 报告问题，需提供以下详细信息：

- 提供配置信息 

| 信息类型 | 说明 |
    | --- | --- |
    | 平台信息 | 平台名称和软件版本 |
    | Wi-Fi AP 信息 | 模块名称、信道/模式/带宽/安全性和固件版本 |
    | 相关日志 | 关于更多详细信息，请参阅 [ath11k 的日志](https://docs.qualcomm.com/doc/80-70017-14SC/topic/report_a_w_fi_issue_to_qualcomm.html#wlan_logging)。 |
    | 测试配置、步骤和预期结果 | 报告问题时使用的测试步骤。 |
- 打包所有用于调试的日志文件，并报告给 Qualcomm。 
下表列出了报告问题所需的日志：

| 日志名称 | 协议问题 | 吞吐量问题 |
    | --- | --- | --- |
    | Host 驱动程序日志 | 必填 | 必填 |
    | 固件日志 | 必填 | 必填 |
    | 无线嗅探器日志 | 推荐 | 必填 |
    | Supplicant 日志 | 必填 | 必填 |

## ath11k 的日志

Source: [https://docs.qualcomm.com/doc/80-70017-14SC/topic/report_a_w_fi_issue_to_qualcomm.html](https://docs.qualcomm.com/doc/80-70017-14SC/topic/report_a_w_fi_issue_to_qualcomm.html)

Wi-Fi 子系统提供多种工具和日志来帮助解决问题。

### 拉取 Wpa\_supplicant 日志

如果发现任何问题，可运行以下命令以收集 wpa\_supplicant 日志：

    scp -r root@<ip_addr>:/tmp/wpa_supplicant-log.txt .Copy to clipboard

例如，如果 DUT 的 IP 地址为 `192.168.1.22`，可运行以下命令：

    scp -r root@192.168.1.22:/tmp/wpa_supplicant-log.txt .Copy to clipboard

### 拉取 Wi-Fi host 驱动程序和固件日志

要拉取 ath11k 驱动程序的 Wi-Fi host 驱动程序和固件日志，可执行以下操作：

1. 在 DUT 上运行 `trace-cmd` 工具，如下：

    - 要拉取整个日志，请运行以下命令：

            trace-cmd record -e ath11k_htt_pktlog -e ath11k_htt_ppdu_stats -e ath11k_htt_rxdesc -e ath11k_log_err -e ath11k_log_warn -e ath11k_log_info -e ath11k_wmi_cmd -e ath11k_wmi_event -e ath11k_log_dbg -e ath11k_log_dbg_dump -e ath11k_wmi_diag -e ath11k_ps_timekeeperCopy to clipboard
    - 要拉取固件日志，请运行以下命令：

            trace-cmd record -e ath11k_wmi_diagCopy to clipboard
2. 运行预期的测试用例或重现问题。
3. 按 **Ctrl + C** 停止 `trace-cmd`。

    `trace.dat` 日志显示如下：

    **示例输出**

root@qcm6490:/tmp#
        root@qcm6490:/tmp# trace-cmd record -e ath1lk_htt_pktlog -e ath1lk_htt_ppdu_stats -e athllk_htt_rxdesc -e ath11k_log_err -e ath11k_log_warn -e athllk_log_info
         -e ath1lk_wmi_cmd -e ath11k_wmi_event -e ath1lk_log_dbg -e ath1lk_log_dbg_dump -e ath11k_wmi_diag -e athllk_ps_timekeeper
        Hit Ctrl^C to stop recording
        ^CCPUO data recorded at offset=0x7fc000
        151552 bytes in size
        CPU1 data recorded at offset=0x821000
        163840 bytes in size
        CPU2 data recorded at offset=0x849000
        0 bytes in size
        CPU3 data recorded at offset=0x849000
        0 bytes in size
        CPU4 data recorded at offset=0x849000
        0 bytes in size
        CPU5 data recorded at offset=0x849000
        0 bytes in size
        CPU6 data recorded at offset=0x849000
        0 bytes in size
        CPU7 data recorded at offset=0x849000
        0 bytes in size
        root@qcm6490:/tmp# ls -al
        ls: cannot access 'ssgtzd': Permission denied
        total 8600
        drwxrwxrwt. 10 root  root  280 Sep 16  06:21 .
        drwxr-xr-x. 22 root  root  4096 Sep  9 10:34 ..
        srw-rw-rw-. 1 system system   0 Apr 28  2022 property-vault.socket
        s?????????? ? ?       ?       ?            ? ssgtzd
        drwx------. 3 root   root   60 Apr 28 2022 systemd-private-e9b8fea895944dd5a0fd05770af20d6e-ModemManager.service-52N7rb
        drwx------. 3 root   root   60 Apr 28 2022 systemd-private-e9b8fea895944dd5a0fd05770af20d6e-bluetooth.service-1nYL2F
        drwx------. 3 root   root   60 Apr 28 2022 systemd-private-e9b8fea895944dd5a0fd05770af20d6e-chronyd.service-UmA8vV
        drwx------. 3 root   root   60 Jan  6 1980 systemd-private-e9b8fea895944dd5a0fd05770af20d6e-ninfod.service-nSxLqH
        drwx------. 3 root   root   60 Jan  6 1980 systemd-private-e9b8fea895944dd5a0fd05770af20d6e-rdisc.service-voag6w
        drwx------. 3 root   root   60 Apr 28 2022 systemd-private-e9b81ea895944dd5a0fd05770af20d6e-systemd-logind.service-kHhqPi
        drwx------. 3 root   root   60 Jan  6 1980 systemd-private-e9b8fea895944dd5a0fd05770af20d6e-systemd-resolved.service-hQ2tR3
        drwx------. 3 root   root   60 Jan  1 1970 systemd-private-e9b8fea895944dd5a0fd05770af20d6e-systemd-timesyncd.service-Ghf2u0
        -rw-r--r--. 1 root   root 8687616 Sep 16 06:21 trace.dat
        -rw-r-----. 1 root   root 114229 Sep 16 06:04 wpa_supplicant-log.txtCopy to clipboard
4. 将 `trace.dat` 日志从 DUT 复制至 Ubuntu 主机设备。
5. 按如下方式获取 host 和固件日志：

    - 请运行以下命令，以便从 `trace.dat` 日志中获取主机日志：

            trace-cmd report trace.dat > host.txtCopy to clipboard

        **示例输出**

jbhanu@hu-jbhanu-hyd:/local/mnt/workspace/ath11k$ ls -al
            total 18464
            drwxrwxr-x 2 jbhanu users    4096 Aug 15 08:48 .
            drwxrwxrwt 12 root root      4096 Aug 15 08:48 ..
            -rw-r--r-- 1 jbhanu users 18898944 Aug 15 08:48 trace.dat
            jbhanu@hu-jbhanu-hyd:/local/mnt/workspace/ath11k$ trace-cmd report trace.dat > host.txt
            jbhanu@hu-jbhanu-hyd:/local/mnt/workspace/ath11k$ ls -al
            total 19500
            drwxrwxr-x 2 jbhanu users    4096 Aug 15 08:48 .
            drwxrwxrwt 12 root  root     4096 Aug 15 08:48 ..
            -rw-rw-r-- 1  jbhanu users 1059505 Aug 15 08:48 host.txt
            -rw-r--r-- 1  jbhanu users 18898944 Aug 15 08:48 trace.dat
            jbhanu@hu-jbhanu-hyd:/local/mnt/workspace/ath11k$Copy to clipboard

注释： 
                                
可通过在 Ubuntu 终端中运行以下命令来安装 `trace-cmd` 工具：

            apt-get install trace-cmdCopy to clipboard
    - 要获取固件日志，请在支持门户上共享 `trace.dat` 日志和问题详细信息 。

### 在 dmesg 中捕获驱动程序日志

dmesg 的 ath11k 命令如下所示：

    enum ath11k_debug_mask {
              ATH11K_DBG_AHB          = 0x00000001,
              ATH11K_DBG_WMI          = 0x00000002,
              ATH11K_DBG_HTC          = 0x00000004,
              ATH11K_DBG_DP_HTT       = 0x00000008,
              ATH11K_DBG_MAC          = 0x00000010,
              ATH11K_DBG_BOOT         = 0x00000020,
              ATH11K_DBG_QMI          = 0x00000040,
              ATH11K_DBG_DATA         = 0x00000080,
              ATH11K_DBG_MGMT         = 0x00000100,
              ATH11K_DBG_REG          = 0x00000200,
              ATH11K_DBG_TESTMODE     = 0x00000400,
              ATH11K_DBG_HAL          = 0x00000800,
              ATH11K_DBG_PCI          = 0x00001000,
              ATH11K_DBG_DP_TX        = 0x00002000,
              ATH11K_DBG_DP_RX        = 0x00004000,
              ATH11K_DBG_CE           = 0x00008000,
      };
    Copy to clipboard

您可以使用每个命令来获取特定日志。例如，

- 要获取与 WMI 相关的驱动程序日志，可运行以下命令：

        echo 0x2 > /sys/module/ath11k/parameters/debug_maskCopy to clipboard
- 要获取与主机目标通信 (HTC) 相关的日志，可运行以下命令：

        echo 0x4 > /sys/module/ath11k/parameters/debug_maskCopy to clipboard

### 无线嗅探器

无线嗅探器通过无线方式探测 Wi-Fi 帧。在任何能够嗅探 Wi-Fi 帧的 Linux 或 Windows 设备上运行 Wireshark 软件。

### 收集固件转储

当设备崩溃时，固件转储将以 BIN 文件的形式保存在 /var/spool/crash 目录中。

    sh-5.1# cd /var/spool/crash/
    sh-5.1# ls
    0000:01:00.0_2022-04-28_17-51-45.binCopy to clipboard

在支持门户上共享此转储 文件 。

## CLD 驱动程序的日志

Source: [https://docs.qualcomm.com/doc/80-70017-14SC/topic/report_a_w_fi_issue_to_qualcomm.html](https://docs.qualcomm.com/doc/80-70017-14SC/topic/report_a_w_fi_issue_to_qualcomm.html)

Wi-Fi 子系统提供多种工具和日志来帮助解决问题。

### 拉取 Wi-Fi host 驱动程序和固件日志

Wi-Fi 主机驱动程序和固件的日志位于 /var/persist/wlan\_logs 目录中。

/usr/sbin/cnss\_diag 模块有助于此日志记录。

要拉取这些日志，执行以下步骤：

1. 要在执行任何 Wi-Fi 操作之前进行连续记录日志，请在后台运行 `cnss_diag`，然后运行以下命令：

        cnss_diag -s -f -q &Copy to clipboard

    **示例输出**

root@qcm6490:~# cnss_diag -s -f -q &
        [1] 4285
        root@qcm6490:~# diag: Diag_LSM_Init: invoked for pid: 4285 with init_count: 0
        diag:successfully connected to socket 3
        diag: Diag_LSM_Init: done for pid: 4285 with init_count: 1
        Diag LSM init done!diag: Successfully registered commands with the driver
        initialize_cnsslog_timer: create cnss log timer
        c1d80211 ctx init done, proceed to add mcast groupscnss_open_log_file: create directory /var/persist/wlan_logs/ ret = 0 errno= 2failed to open file a+ mode or file size 0 is less than max_file_size 31457280
        cnss_open_log_file: directory /var/persist/wlan_logs/ createdfailed to open file a+ mode or file size 0 is less than max_file_size 31457280
        radio_id:0 or gdiag_header is invalidradio_id:1 or gdiag_header is invalidcnss_open_log_file: directory /var/persist/wlan_logs/ createdloaded msc path:/lib/firmware/qcom/qcm6490/Data.msc chipset:0
        loaded msc path:/lib/firmware/qcom/qcm6490/Data.msc chipset:6750
        process_cnss_diag_msg: start cnss log timerCopy to clipboard
2. 通过在单独的命令提示符下运行以下命令，拉取位于 /var/persist/wlan\_logs 中的 Wi-Fi 日志：

        scp -r root@192.168.1.22:/var/persist/wlan_logs/ .Copy to clipboard

    **示例输出**

C:\Users\jbhanu\Downloads\K2L>scp -r root@10.92.180.250:/var/persist/wlan_logs/.
        cnss_fw_logs_current.txt                                                                     100%  22MB  6.3MB/s  00:03
        cnss_fw_logs_000.txt                                                                         100%  30MB  5.8MB/s  00:05
        txrx_pktlog_current.dat                                                                      100%   0    0.0KB/s  00:00
        host_driver_logs_current.txt                                                                 100%  540KB 6.4MB/s  00:00
        cnss_fw_logs_001.txt                                                                         100%  30MB  5.8MB/s  00:05Copy to clipboard

Last Published: Jan 23, 2025

[Previous Topic
配置](https://docs.qualcomm.com/bundle/publicresource/80-70017-14SC/topics/Set_up_and_configure_WLAN_connection.md) [Next Topic
参考资料](https://docs.qualcomm.com/bundle/publicresource/80-70017-14SC/topics/references.md)