Go back –> [[en/users/Drivers/ath9k|Main ath9k driver page]]
===== ath9k and ath9k_htc debugging =====
This page documents the debugging facilities available for ath9k and ath9k_htc
===== Enabling debug =====
If you have issues with ath9k or ath9k_htc you can enable debug. You will first need to enable the Kconfig option (CONFIG_ATH_DEBUG):
Device Drivers --->
[*] Network device support --->
Wireless LAN --->
Atheros Wireless Cards --->
[*] Atheros wireless debugging
Then you can use the module parameter //debug//. We cover below the different available debug levels you can use.
enum ATH_DEBUG {
ATH_DBG_RESET = 0x00000001,
ATH_DBG_QUEUE = 0x00000002,
ATH_DBG_EEPROM = 0x00000004,
ATH_DBG_CALIBRATE = 0x00000008,
ATH_DBG_INTERRUPT = 0x00000010,
ATH_DBG_REGULATORY = 0x00000020,
ATH_DBG_ANI = 0x00000040,
ATH_DBG_XMIT = 0x00000080,
ATH_DBG_BEACON = 0x00000100,
ATH_DBG_CONFIG = 0x00000200,
ATH_DBG_FATAL = 0x00000400,
ATH_DBG_PS = 0x00000800,
ATH_DBG_BTCOEX = 0x00001000,
ATH_DBG_WMI = 0x00002000,
ATH_DBG_BSTUCK = 0x00004000,
ATH_DBG_MCI = 0x00008000,
ATH_DBG_DFS = 0x00010000,
ATH_DBG_WOW = 0x00020000,
ATH_DBG_CHAN_CTX = 0x00040000,
ATH_DBG_DYNACK = 0x00080000,
ATH_DBG_ANY = 0xffffffff
};
If you want to debug calibration (0x00000008) and resets (0x00000001) for example you would use (0x00000008 | 0x00000001) = 0x00000009. To debug everything just use 0xffffffff. Below is an example of how to enable debug for just configuration changes:
modprobe ath9k debug=0x00000200 (or) modprobe ath9k_htc debug=0x00000200
You can also use modprobe.d configuration files, for example to enable ATH_DBG_CONFIG (0x00000200) and ATH_DBG_PS (0x00000800) you would have a file /etc/modprobe.d/atheros.conf with this:
options ath9k debug=0xa00 (or) options ath9k_htc debug=0xa00
===== Debugfs files =====
To get debugfs you will need to mount it first. You can do so as follows:
mount -t debugfs debugfs /sys/kernel/debug/
==== Debugfs files for ath9k ====
ath9k has several debugfs files which you can query for information and some which allow you to insert data. This can be enabled as:
Device Drivers --->
[*] Network device support --->
Wireless LAN --->
Atheros Wireless Cards --->
[M] Atheros 802.11n wireless cards support
[*] Atheros ath9k debugging
Once the config options are enabled and debugfs is mounted, these would be seen:
/sys/kernel/debug/ieee80211/phy0/ath9k/btcoex
/sys/kernel/debug/ieee80211/phy0/ath9k/diversity
/sys/kernel/debug/ieee80211/phy0/ath9k/gpio_val
/sys/kernel/debug/ieee80211/phy0/ath9k/gpio_mask
/sys/kernel/debug/ieee80211/phy0/ath9k/spectral_fft_period
/sys/kernel/debug/ieee80211/phy0/ath9k/spectral_period
/sys/kernel/debug/ieee80211/phy0/ath9k/spectral_count
/sys/kernel/debug/ieee80211/phy0/ath9k/spectral_short_repeat
/sys/kernel/debug/ieee80211/phy0/ath9k/spectral_scan_ctl
/sys/kernel/debug/ieee80211/phy0/ath9k/spectral_scan0
/sys/kernel/debug/ieee80211/phy0/ath9k/modal_eeprom
/sys/kernel/debug/ieee80211/phy0/ath9k/base_eeprom
/sys/kernel/debug/ieee80211/phy0/ath9k/dump_nfcal
/sys/kernel/debug/ieee80211/phy0/ath9k/regdump
/sys/kernel/debug/ieee80211/phy0/ath9k/ignore_extcca
/sys/kernel/debug/ieee80211/phy0/ath9k/regval
/sys/kernel/debug/ieee80211/phy0/ath9k/regidx
/sys/kernel/debug/ieee80211/phy0/ath9k/paprd
/sys/kernel/debug/ieee80211/phy0/ath9k/ani
/sys/kernel/debug/ieee80211/phy0/ath9k/tx_chainmask
/sys/kernel/debug/ieee80211/phy0/ath9k/rx_chainmask
/sys/kernel/debug/ieee80211/phy0/ath9k/recv
/sys/kernel/debug/ieee80211/phy0/ath9k/reset
/sys/kernel/debug/ieee80211/phy0/ath9k/misc
/sys/kernel/debug/ieee80211/phy0/ath9k/qlen_vo
/sys/kernel/debug/ieee80211/phy0/ath9k/qlen_vi
/sys/kernel/debug/ieee80211/phy0/ath9k/qlen_be
/sys/kernel/debug/ieee80211/phy0/ath9k/qlen_bk
/sys/kernel/debug/ieee80211/phy0/ath9k/queues
/sys/kernel/debug/ieee80211/phy0/ath9k/xmit
/sys/kernel/debug/ieee80211/phy0/ath9k/interrupt
/sys/kernel/debug/ieee80211/phy0/ath9k/dma
==== Debugfs files for ath9k_htc ====
ath9k_htc has a few debugfs files which show driver statistics. Enable it as:
Device Drivers --->
[*] Network device support --->
Wireless LAN --->
Atheros Wireless Cards --->
[M] Atheros 802.11n wireless cards support
[*] Atheros ath9k_htc debugging
Once enabled, these are available:
/sys/kernel/debug/ieee80211/phy1/ath9k_htc/modal_eeprom
/sys/kernel/debug/ieee80211/phy1/ath9k_htc/base_eeprom
/sys/kernel/debug/ieee80211/phy1/ath9k_htc/debug
/sys/kernel/debug/ieee80211/phy1/ath9k_htc/queue
/sys/kernel/debug/ieee80211/phy1/ath9k_htc/slot
/sys/kernel/debug/ieee80211/phy1/ath9k_htc/recv
/sys/kernel/debug/ieee80211/phy1/ath9k_htc/xmit
/sys/kernel/debug/ieee80211/phy1/ath9k_htc/tgt_rx_stats
/sys/kernel/debug/ieee80211/phy1/ath9k_htc/tgt_tx_stats
/sys/kernel/debug/ieee80211/phy1/ath9k_htc/tgt_int_stats