Skip to main content

Report Wi-Fi issues

To report an issue to Qualcomm, provide the following details.
  • Provide setup information
    Information typeDescription
    Platform informationPlatform name and software version
    Wi-Fi AP informationModel name, channel/mode/bandwidth/security, and firmware version
    Related logsFor more information, see Logs for ath11k, Logs for ath12k, and Logs for ath10k.
    Test setup, steps, and expected resultTest procedures used while reporting the issue.
  • Package all log files for debugging and report them to Qualcomm. The following table lists the logs required to report an issue.
    Log nameProtocol issuesThroughput issues
    Host driver logsRequiredRequired
    Firmware logsRequiredRequired
    Wireless sniffer logsRecommendedRequired
    Supplicant logsRequiredRequired

Logs for ath11k

The Wi-Fi subsystem offers tools and logs to assist with troubleshooting issues.

Pull Wpa_supplicant logs

If you observe any issue, run the following command to collect wpa_supplicant logs:
scp -r root@<ip_addr>:/tmp/wpa_supplicant-log.txt .
For example, if the IP address of the DUT is 192.168.1.22, run the following command:
scp -r root@192.168.1.22:/tmp/wpa_supplicant-log.txt .

Pull Wi-Fi host driver and firmware logs

To pull the Wi-Fi host driver and firmware logs for the ath11k driver, do the following:
  1. Run the trace-cmd tool on the DUT as follows:
    • For the entire log, run the following command:
      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_timekeeper
      
    • For firmware log, run the following command:
      trace-cmd record -e ath11k_wmi_diag
      
  2. Run the intended test case or reproduce the issue.
  3. Stop trace-cmd by pressing Ctrl + C. The trace.dat log appears as follows: Sample output
    root@qcm6490:/tmp#
    root@qcm6490:/tmp# 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_timekeeper
    Hit Ctrl+C to stop recording
    ^CCPU0 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.txt
    
  4. Copy the trace.dat log from the DUT to the Ubuntu host device.
  5. Get the host and firmware logs as follows:
    • To get the host log from the trace.dat log, run the following command:
      trace-cmd report trace.dat > host.txt
      
      Sample output
      username@hu-username-hyd:/local/mnt/workspace/ath11k$ ls -al
      total 18464
      drwxrwxr-x 2 username users    4096 Aug 15 08:48 .
      drwxrwxrwt 12 root root      4096 Aug 15 08:48 ..
      -rw-r--r-- 1 username users 18898944 Aug 15 08:48 trace.dat
      username@hu-username-hyd:/local/mnt/workspace/ath11k$ trace-cmd report trace.dat > host.txt
      username@hu-username-hyd:/local/mnt/workspace/ath11k$ ls -al
      total 19500
      drwxrwxr-x 2 username users    4096 Aug 15 08:48 .
      drwxrwxrwt 12 root  root     4096 Aug 15 08:48 ..
      -rw-rw-r-- 1  username users 1059505 Aug 15 08:48 host.txt
      -rw-r--r-- 1  username users 18898944 Aug 15 08:48 trace.dat
      username@hu-username-hyd:/local/mnt/workspace/ath11k$
      
      You can install the trace-cmd tool by running the following command in the Ubuntu terminal:
      apt-get install trace-cmd
      
    • To get the firmware logs, share the trace.dat log and issue details on the support portal.

Capture driver logs in dmesg

The ath11k commands for dmesg are as follows:
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,
  };
You can use each command to get a specific log. For example,
  • To get WMI-related driver logs, run the following command:
    echo 0x2 > /sys/module/ath11k/parameters/debug_mask
    
  • To get host target communication (HTC) related logs, run the following command:
    echo 0x4 > /sys/module/ath11k/parameters/debug_mask
    

Wireless sniffer

A wireless sniffer intercepts the Wi-Fi frames over the air. Use a wireless sniffer to sniff the Wi-Fi Over the Air (OTA) packets.

Collect firmware dump

When the device crashes, the firmware dump is saved as a BIN file at the /var/spool/crash directory.
sh-5.1# cd /var/spool/crash/
sh-5.1# ls
0000:01:00.0_2022-04-28_17-51-45.bin
Share this dump file on the support portal.

Logs for ath12k

The Wi-Fi subsystem offers tools and logs to assist with troubleshooting issues on ath12k platforms.

Pull Wi-Fi host driver and firmware logs

To pull the Wi-Fi host driver and firmware logs for the ath12k driver, run trace-cmd on the DUT as follows:
  • For the entire log, run the following command:
    trace-cmd record -e ath12k -e ath12k_htt_pktlog -e ath12k_htt_ppdu_stats -e ath12k_htt_rxdesc -e ath12k_wmi_diag
    
  • For firmware log, run the following command:
    trace-cmd record -e ath12k_wmi_diag
    
Run the intended test case and then stop trace-cmd by pressing Ctrl + C. Share the generated trace.dat file and issue details on the support portal.

Capture driver logs in dmesg

You can enable specific ath12k debug logs with the debug_mask interface.
enum ath12k_debug_mask {
        ATH12K_DBG_AHB          = 0x00000001,
        ATH12K_DBG_WMI          = 0x00000002,
        ATH12K_DBG_HTC          = 0x00000004,
        ATH12K_DBG_DP_HTT       = 0x00000008,
        ATH12K_DBG_MAC          = 0x00000010,
        ATH12K_DBG_BOOT         = 0x00000020,
        ATH12K_DBG_QMI          = 0x00000040,
        ATH12K_DBG_DATA         = 0x00000080,
        ATH12K_DBG_MGMT         = 0x00000100,
        ATH12K_DBG_REG          = 0x00000200,
        ATH12K_DBG_TESTMODE     = 0x00000400,
        ATH12K_DBG_HAL          = 0x00000800,
        ATH12K_DBG_PCI          = 0x00001000,
        ATH12K_DBG_DP_TX        = 0x00002000,
        ATH12K_DBG_DP_RX        = 0x00004000,
        ATH12K_DBG_WOW          = 0x00008000,
        ATH12K_DBG_CE           = 0x00010000,
        ATH12K_DBG_ANY          = 0xffffffff,
};
  • To get WMI-related driver logs, run the following command:
    echo 0x2 > /sys/module/ath12k/parameters/debug_mask
    
  • To get host target communication (HTC) related logs, run the following command:
    echo 0x4 > /sys/module/ath12k/parameters/debug_mask
    

Logs for ath10k

The Wi-Fi subsystem offers tools and logs to assist with troubleshooting issues on ath10k platforms.

Pull Wi-Fi host driver and firmware logs

To pull the Wi-Fi host driver and firmware logs for the ath10k driver, run trace-cmd on the DUT as follows:
  • For the entire log, run the following command:
    trace-cmd record -e ath10k_log_err -e ath10k_log_warn -e ath10k_log_info -e ath10k_log_dbg -e ath10k_log_dbg_dump -e ath10k_wmi_cmd -e ath10k_wmi_event -e ath10k_htt_stats -e ath10k_wmi_dbglog -e ath10k_htt_pktlog
    
  • For firmware log, run the following command:
    trace-cmd record -e ath10k_wmi_dbglog
    
Run the intended test case and then stop trace-cmd by pressing Ctrl + C. Share the generated trace.dat file and issue details on the support portal.

Capture driver logs in dmesg

You can enable specific ath10k debug logs with the debug_mask interface.
enum ath10k_debug_mask {
        ATH10K_DBG_PCI          = 0x00000001,
        ATH10K_DBG_WMI          = 0x00000002,
        ATH10K_DBG_HTC          = 0x00000004,
        ATH10K_DBG_HTT          = 0x00000008,
        ATH10K_DBG_MAC          = 0x00000010,
        ATH10K_DBG_BOOT         = 0x00000020,
        ATH10K_DBG_PCI_DUMP     = 0x00000040,
        ATH10K_DBG_HTT_DUMP     = 0x00000080,
        ATH10K_DBG_MGMT         = 0x00000100,
        ATH10K_DBG_DATA         = 0x00000200,
        ATH10K_DBG_BMI          = 0x00000400,
        ATH10K_DBG_REGULATORY   = 0x00000800,
        ATH10K_DBG_TESTMODE     = 0x00001000,
        ATH10K_DBG_WMI_PRINT    = 0x00002000,
        ATH10K_DBG_PCI_PS       = 0x00004000,
        ATH10K_DBG_AHB          = 0x00008000,
        ATH10K_DBG_SDIO         = 0x00010000,
        ATH10K_DBG_SDIO_DUMP    = 0x00020000,
        ATH10K_DBG_USB          = 0x00040000,
        ATH10K_DBG_USB_BULK     = 0x00080000,
        ATH10K_DBG_SNOC         = 0x00100000,
        ATH10K_DBG_QMI          = 0x00200000,
        ATH10K_DBG_STA          = 0x00400000,
        ATH10K_DBG_ANY          = 0xffffffff,
};
  • To get WMI-related driver logs, run the following command:
    echo 0x2 > /sys/module/ath10k_core/parameters/debug_mask
    
  • To get host target communication (HTC) related logs, run the following command:
    echo 0x4 > /sys/module/ath10k_core/parameters/debug_mask