Go back –> Atheros Linux wireless drivers
ath10k is the mac80211 wireless driver for Qualcom Atheros QCA988x family of chips, which support IEEE 802.11ac.
A major difference from ath9k is that there's now a firmware and that's why we had to implement a new driver.
- Linux 3.11 released, the first kernel release with ath10k
- ath10k merged into Linux 3.11-rc1
ath10k has it's own mailing list for discussions and patches:
Archive for the mailing list:
For real time discussions there is #ath10k channel on Freenode.
firmware does not support association to the same AP from different virtual STA interfaces (driver prints "ath10k: Failed to add peer XX:XX:XX:XX:XX:XX for VDEV: X" in that case)
- monitor/promiscuous mode causes firmware crashes very often
- packet injection isn't supported yet
- applying ath9k regulatory domain hack patch from OpenWRT causes firmware crash (reason: regulatory hint function is never called and ath10k never sends scan channel list to the firmware which in turn causes firmware to crash on scan)
To build ath10k enable these kernel build configuration options, for example with make menuconfig:
- CONFIG_ATH10K_DEBUG (optional)
- CONFIG_ATH10K_DEBUGFS (optional)
- CONFIG_ATH10K_TRACING (optional)
The debug and tracing options are optional, but it's strongly recommended to enable to make it easier to debug issues.
ath10k options can be found from location:
-> Device Drivers -> Network device support (NETDEVICES [=y]) -> Wireless LAN (WLAN [=y]) -> Atheros Wireless Cards (ATH_CARDS [=m])
Loading the modules
The ath10k modules should be loaded automatically in most systems. If that's not happening, first load ath10k_core.ko and then ath10k_pci.ko.
When building hostapd enable these configuration options:
Example hostapd config to use 11ac VHT80 mode with ath10k:
interface=wlan0 driver=nl80211 ssid=ath10k-test hw_mode=a channel=36 ht_capab=[HT40+] ieee80211n=1 ieee80211ac=1 vht_oper_chwidth=1 vht_oper_centr_freq_seg0_idx=42
vht_oper_centr_freq_seg0_idx is calculated for VHT80 with channel + 6.
To enable ACS:
If you get "set channel failed to set in kernel" error message, most likely your regulatory database doesn't support 80 MHz channels.
Please send bug reports to the mailing list email@example.com
ath10k supports Qualcomm Atheros 802.11ac QCA98xx hw2.0 based devices, here's a list of known products:
QCA9880 Version 2 found in Compex acWave
ath10k does NOT support older QCA98xx hw1.0 chips found, for example, from these devices:
QCA9880 found in Tp-Link WDR-7500
Atheros common module
ath10k uses the common shared ath.ko module.
Statistics on contributions
Visit the ath10k contribution graphs. You can help keep this up to date if you like. If interested contact the ath10k driver maintainers.