Go back –> ath10k
How to debug ath10k
Debug log messages
ath10k contains various debug log levels (check drivers/net/wireless/ath/ath10k/debug.h for up-to-date list):
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_CORE = 0x00000020,
ATH10K_DBG_PCI_DUMP = 0x00000040,
ATH10K_DBG_HTT_DUMP = 0x00000080,
ATH10K_DBG_MGMT = 0x00000100,
ATH10K_DBG_DATA = 0x00000200,
ATH10K_DBG_ANY = 0xffffffff,
};The debug log levels can be enabled either with a module parameter named debug_mask or from sysfs. To get debug log messages enabled in the build enable CONFIG_ATH10K_DEBUG.
To enable debug logs with the module parameter:
# modprobe ath10k_core.ko debug_mask=0x16
Alternatively the debug logs can be enabled from sysfs anytime ath10k is running:
# echo 0x16 > /sys/module/ath10k_core/parameters/debug_mask
To check what is current debug_mask value:
$ cat /sys/module/ath10k_core/parameters/debug_mask 22
Note that the returned value is in decimal format, not hexadecimal.
debug_mask value is a bitwise OR operation of enum ath10k_debug_mask values above. For example, to enable HTC, WMI and MAC debug levels use python to calculate the value:
$ python -c "print '0x%x' % (0x2 | 0x4 | 0x10)" 0x16
Tracing
Enable tracing support with CONFIG_ATH10K_TRACING.
To trace all log messages, including debug logs:
# trace-cmd record -e ath10k_log*
To read the trace.dat file:
trace-cmd report