===== About ath10k ===== ath10k is the mac80211 wireless driver for Qualcom Atheros QCA988x family of chips, which support [[https://en.wikipedia.org/wiki/IEEE_802.11ac|IEEE 802.11ac]]. It was first included in Linux 3.11-rc1 released on 2013-07-14. The ath10k driver is located under [[https://git.kernel.org/cgit/linux/kernel/git/kvalo/ath.git/tree/drivers/net/wireless/ath/ath10k|drivers/net/wireless/ath/ath10k]] directory. For more information see [[en/users/drivers/ath10k/sources]]. ===== Subpages ===== * [[en/users/drivers/ath10k/support|Support and reporting bugs]] * [[en/users/drivers/ath10k/sources|Sources]] * [[en/users/drivers/ath10k/submittingpatches|Submitting Patches]] * [[en/users/drivers/ath10k/boardfiles|Board Files]] * [[en/users/drivers/ath10k/faq|FAQ]] * [[en/users/drivers/ath10k/backports|Backports]] * [[en/users/drivers/ath10k/architecture|Architecture]] * [[en/users/drivers/ath10k/debug|Debug]] * [[en/users/drivers/ath10k/firmware|Firmware]] * [[en/users/drivers/ath10k/configuration|Configuration]] * [[en/users/drivers/ath10k/CodingStyle|Coding Style]] * [[en/users/drivers/ath10k/spectral|Spectral Scan]] * [[en/users/drivers/ath10k/monitor|Monitor Mode]] * [[en/users/drivers/ath10k/mesh|Mesh Mode]] * [[en/users/drivers/ath10k/todo|TODO]] * [[en/users/drivers/ath10k/privatesupport|Private Support]] ===== Supported Devices ===== ath10k supports Qualcomm Atheros 802.11ac QCA98xx hw2.0 and QCA6174 based devices, here's a list of known products: * QCA9880/QCA9882 Version 2 found in [[https://airetos.voxmicro.com/e98-class/|AIRETOS E98 Class by VOXMICRO]] MPNs: AEX-QCA9880 & AEX-QCA9882 * QCA9890/QCA9892 Version 2 found in [[https://airetos.voxmicro.com/e98-class/|AIRETOS E98 Class by VOXMICRO]] MPNs: AEX-QCA9890 & AEX-QCA9892 * QCA9888 found in [[http://www.compex.com.sg/product/wle650v5-18/|2x2 MU-MIMO 802.11ac Wave 2 Wireless Module - Compex WLE650V5-18A]] * QCA9890 found in [[https://www.sparklan.com/product/wpea-352acnrbi-qca9890-3t3r-industrial-grade-module/|SparkLan WPEA-352ACNRBI - supports 802.11ac radio]] * QCA9890 Version 2 found in [[http://www.doodlelabs.com/products/802-11-wifi-mimo-radio-transceivers/|A family of Dual band/Single band/high powered/extended temp radio modules from Doodle Labs]] * QCA9882-BR4A found in [[https://www.sparklan.com/product/wpeq-256acn-qca9882-2t2r-ap-mode-module/|SparkLan WPEQ-256ACN]] * QCA9882-BR4A found in [[https://www.sparklan.com/product/wpeq-257acn-qca9882-2t2r-ap-mode-module/|SparkLan WPEQ-257ACN]] * QCA9892-BR4B found in [[https://www.sparklan.com/product/wpeq-256acni-qca9882-2t2r-industrial-grade-module/|SparkLan WPEQ-256ACNI]] * QCA9892 Version 2 found in [[http://www.doodlelabs.com/products/802-11-wifi-mimo-radio-transceivers/|A family of Dual band/Single band/high powered/extended temp radio modules from Doodle Labs]] * QCA9882 Version 2 found in [[http://www.compex.com.sg/product/wle600v5-27/|Compex WLE600V5-27 11ac 2x2 miniPCIe Wireless Module]] * QCA9880 Version 2 found in [[https://www.sparklan.com/product/wpea-352acnrb-qca9890-3t3r-industrial-grade-module/|SparkLan WPEA-352ACNRB - supports 802.11ac radio]] * QCA9880 Version 2 found in [[http://wiki.openwrt.org/toh/compex/wpj344|Compex acWave: WPJ344 - supports 802.11ac radio]] * QCA9880 Version 2 found in [[http://www.compex.com.sg/product/wle900v5-27/|Compex WLE900V5-18]] * QCA9880 Version 2 found in [[http://www.compex.com.sg/product/wle900v5-27/|Compex WLE900V5-27]] * QCA9880 Version 2 found in [[http://www.compex.com.sg/product/wle900vx/|Compex WLE900VX]] [1] * QCA9880 Version 2 found in [[http://www.unex.com.tw/product/daxa-o1|Unex: DAXA-O1]] * QCA9882 Version 2 found in [[http://www.compex.com.sg/product/wle600v5-27/|Compex WLE600V5-18]] * QCA9882 Version 2 found in [[http://www.compex.com.sg/product/wle600v5-27/|Compex WLE600V5-27]] * QCA9882 Version 2 found in [[http://www.compex.com.sg/product/wle600vx/|Compex WLE600VX]] * QCA9880 Version 2 found in [[http://wiki.openwrt.org/toh/tp-link/tl-wdr7500|TP-Link : Archer C7 v2.x]] * QCA9880 Version 2 found in [[http://wiki.openwrt.org/toh/tp-link/tl-wdr7500|TP-Link : WDR7500 v3.0]] * QCA9880/QCA9890 found in [[https://www.emwicon.com/product-2#jwx6052/|jjPlus JWX6052]] and [[https://www.emwicon.com/product-2#jwx6053/|jjPlus JWX6053]] * QCA9882/QCA9892 found in [[https://www.emwicon.com/product-2#jwx6055/|jjPlus JWX6055]] and [[https://www.emwicon.com/product-2#jwx6056/|jjPlus JWX6056]] * QCA9880/QCA9890 found in [[https://www.emwicon.com/product-2#jwx6052|EmWicon JWX6052(3x3)]] and [[https://www.emwicon.com/product-2#jwx6053|EmWicon JWX6053(3x3 Industrial Grade)]] * QCA9882/QCA9892 found in [[https://www.emwicon.com/product-2#jwx6055|EmWicon JWX6055(2x2)]] and [[https://www.emwicon.com/product-2#jwx6056|EmWicon JWX6056(2x2 Industrial Grade)]] * QCA9377-5 found in [[http://www.sparklan.com/p2-products-detail.php?PKey=1d2bsjqrHnqa85aaHl0mpJtOWcBpjf5kKBc0DfFEU90&WNFQ-158ACN(BT)/|SparkLan WNFQ-158ACN(BT)]] * QCA9886 found in [[http://www.compex.com.sg/product/wle650v5-18/|WLE650V5-18]] * QCA6174A-5 found in [[https://airetos.voxmicro.com/e61-class/|AIRETOS E61 Class by VOXMICRO]] MPNs: AFX-QCA6174 * QCA6174 / QCA6174A found in [[https://compex.com.sg/shop/wifi-module/wlt674/ | Compex WLT674]] and [[http://bointec.com/p4-products_detail.php?PKey=6851tczr12Q8EfPpaG9ML6ap7bJe2sSKZYPXP_9jLIE|Bointec DPE109A]] * QCA6174A-5 found in [[https://www.sparklan.com/product/wpea-251acni-bt-qca6174a-mu-mimo-industrial-grade-module/|SparkLan WPEA-251ACNI(BT)]] * QCA6174A-5 found in [[https://www.sparklan.com/product/wpeq-261acnibt-qca6174a-mu-mimo-industrial-grade-module/|SparkLan WPEQ-261ACNI(BT)]] * QCA6174A-5 found in [[https://www.sparklan.com/product/wpeq-262acnibt-qca6174a-industrial-grade-module/|SparkLan WPEQ-262ACNI(BT) high power]] * QCA6174A-5 found in [[https://www.sparklan.com/product/wpeq-261acnibt-qca6174a-mu-mimo-industrial-grade-module/|SparkLan WPEQ-261ACNI(BT)]] * QCA6174A-5 found in [[https://www.sparklan.com/product/wnfq-261acnibt-qca6174a-m-2-industrial-module/|SparkLan WNFQ-261ACNI(BT)]] * QCA6174A-5 found in [[https://www.sparklan.com/product/wnfq-262acnibt-qca6174a-b-key-industrial-module-sparklan/|SparkLan WNFQ-262ACNI(BT)]] * QCA6174A-5 found in [[https://www.sparklan.com/product/wnfq-258acnbt-qca6174a-2t2r-m-2-module/|SparkLan WNFQ-258ACN(BT)]] * QCA6174A-5 found in [[https://www.sparklan.com/product/wnsq-261acnbt-qca6174a-2t2r-m-2-module/|SparkLan WNSQ-261ACN(BT)]] * QCA6174A-5 found in [[https://www.sparklan.com/product/wpeq-261acnbt-qca6174a-2t2r-mu-mimo-module/|SparkLan WPEQ-261ACN(BT)]] * QCA6174A-5 found in [[https://www.jjplus.com/jwx6058/|jjPlus JWX6058]] and [[https://www.jjplus.com/jww6051/|jjPlus JWW6051]] * QCA6174A-5 found in [[https://www.emwicon.com/product-2#jwx6058|EmWicon JWX6058(mPCIe)]] and [[https://www.emwicon.com/product-2#jww6051|EmWicon JWW6051(M.2)]] * QCA9984 /QCA9994 found in [[https://compex.com.sg/shop/wifi-module/wle1216v5-20/ | Compex WLE1216V5-20]] * QCA9984 /QCA9994 found in [[https://www.emwicon.com/product-2#wmx6401 | EmWicon WMX6401/WMX6402]] * IPQ4018 found in [[https://www.8devices.com/products/jalapeno | 8Devices Jalapeno module]] [1] The Compex WLE900VX card enumerates as PCI device on some PCs but not for some other PCs. The reason could possibly be PC hardware or kernel version. Detailed info: https://bugzilla.kernel.org/show_bug.cgi?id=84821. The Chaos Calmer wpj344a_150827_vCC.img provided by http://www.compex.com.sg/downloads/ can detect and enable the WLE900VX card with ath10k. ===== Not supported ===== ath10k does NOT support older QCA98xx hw1.0 chips found, for example, from these devices: * QCA9880 Version 1 found in [[http://wiki.openwrt.org/toh/tp-link/tl-wdr7500|TP-Link WDR-7500 v2 and Archer C7 v1.x]] Any SDIO or USB devices are not supported, but work is ongoing to add that. ===== Known bugs/limitations ===== * 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) * 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) * tx rate is reported as 6mbps due to firmware limitation (no tx rate information in tx completions); instead see /sys/kernel/debug/ieee80211/phyX/ath10k/fw_stats * WEP doesn't work with AP_VLANs - frames are sent unencrypted (observed on: 999.999.0.636, 10.2.4.20-1, 10.1.467.2-1) * TX speeds are extremely poor on certain chips (QCA6174 is one). A [[https://gist.github.com/harrykipper/d1bedb234c4af0692f7ccd33329a02d7|patch]] solves the issue in most cases ([[https://bbs.archlinux.org/viewtopic.php?pid=1689990#p1689990|source]])