This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
en:users:drivers:ath10k:firmware [2015/11/10 12:10] Kalle Valo [Table] QCA61X4 -> QCA6164/QCA6174 |
en:users:drivers:ath10k:firmware [2024/03/05 20:40] Jeff Johnson [Firmware branches] update links to CLO |
||
---|---|---|---|
Line 7: | Line 7: | ||
===== ath10k firmware ===== | ===== ath10k firmware ===== | ||
- | The ath10k firmware images are available from [[https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/|linux-firmware.git]] which all common Linux distributions should install by default. Latest firmware images can be downloaded from [[https://github.com/kvalo/ath10k-firmware|ath10k-firmware.git]] from which they get eventually pushed to [[https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/|linux-firmware.git]]. | + | The ath10k firmware images are available from [[https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/|linux-firmware.git]] which all common Linux distributions should install by default. Latest firmware images can be downloaded from [[https://git.codelinaro.org/clo/ath-firmware/ath10k-firmware|ath10k-firmware.git]] from which they get eventually pushed to [[https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/|linux-firmware.git]]. |
- | ==== Overview ===== | + | ==== Firmware branches ===== |
^ Hardware ^ Firmware major version/branch ^ Latest firmware revision ^ Intended use ^ Kernel version required* ^ Git commit ^ | ^ Hardware ^ Firmware major version/branch ^ Latest firmware revision ^ Intended use ^ Kernel version required* ^ Git commit ^ | ||
- | | QCA988X | main | [[https://github.com/kvalo/ath10k-firmware/tree/master/QCA988X/main|link]] | STA | 3.11 | 5e3dd157d7e7 | | + | | QCA988X | main | [[https://git.codelinaro.org/clo/ath-firmware/ath10k-firmware/-/tree/main/QCA988X/hw2.0/main|link]] | STA | 3.11 | 5e3dd157d7e7 | |
- | | QCA988X | 10.1 | [[https://github.com/kvalo/ath10k-firmware/tree/master/QCA988X/10.1|link]] | AP | 3.13 | 8acd3c97ff9e | | + | | QCA988X | 10.1 | [[https://git.codelinaro.org/clo/ath-firmware/ath10k-firmware/-/tree/main/QCA988X/hw2.0/10.1|link]] | AP | 3.13 | 8acd3c97ff9e | |
- | | QCA988X | 10.2 | [[https://github.com/kvalo/ath10k-firmware/tree/master/QCA988X/10.2|link]] | AP | 3.18 | 24c88f7807fb | | + | | QCA988X | 10.2 | [[https://git.codelinaro.org/clo/ath-firmware/ath10k-firmware/-/tree/main/QCA988X/hw2.0/10.2|link]] | AP | 3.18 | 24c88f7807fb | |
- | | QCA988X | 10.2.4 | [[https://github.com/kvalo/ath10k-firmware/tree/master/QCA988X/10.2.4|link]] | AP | 4.0 | 4a16fbec1cd0 | | + | | QCA988X | 10.2.4 | [[https://git.codelinaro.org/clo/ath-firmware/ath10k-firmware/-/tree/main/QCA988X/hw2.0/10.2.4|link]] | AP | 4.0 | 4a16fbec1cd0 | |
- | | QCA6164/QCA6174 | wmi-tlv | [[https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174|link]] | AP/STA | 4.0 | d63955b33b3b, ca996ec56608 | | + | | QCA6164/QCA6174 | wmi-tlv | [[https://git.codelinaro.org/clo/ath-firmware/ath10k-firmware/-/tree/main/QCA6174|link]] | AP/STA | 4.0 | d63955b33b3b, ca996ec56608 | |
+ | | QCA9980 | 10.4 | [[https://git.codelinaro.org/clo/ath-firmware/ath10k-firmware/-/tree/main/QCA99X0|link]] | AP | 4.2 | 8a055a8adc87 | | ||
- | * Note: It is possible to use newer ath10k driver on an older kernel with backports project: https://backports.wiki.kernel.org | + | |
+ | * Note: It is possible to use newer ath10k driver on an older kernel with [[en/users/Drivers/ath10k/backports|backports project]]. | ||
===== Update firmware ===== | ===== Update firmware ===== | ||
- | First download the firmware image from ath10k-firmware.git: | + | First download the firmware image from the links above. In this example we use firmware-2.bin_10.1.467.2-1 from QCA988X 10.1 directory. Then just copy that file as firmware-2.bin to the ath10k firmware directory: |
- | + | ||
- | [[https://github.com/kvalo/ath10k-firmware/tree/master/|https://github.com/kvalo/ath10k-firmware/tree/master/]] | + | |
- | + | ||
- | In this example we use firmware-2.bin_10.1.467.2-1 from 10.1 directory. Then just copy that file as firmware-2.bin to the ath10k firmware directory: | + | |
<code>cp firmware-2.bin_10.1.467.2-1 /lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin</code> | <code>cp firmware-2.bin_10.1.467.2-1 /lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin</code> | ||
- | Then reload ath10k (or restart the system) and the new firmware is in use. | + | Then reload ath10k (or restart the system) and you can [[en/users/Drivers/ath10k/debug#firmware_version|check if the new firmware is in use]]. |
Note: In some distributions the firmware location can be different than /lib/firmware. | Note: In some distributions the firmware location can be different than /lib/firmware. | ||
+ | ===== Firmware API versions ===== | ||
- | ===== Firmware branches ===== | + | Because firmware changes between versions we have introduced firmware API concept to ath10k. This makes it possible to support different versions of ath10k. |
- | ath10k firmware has different branches, they are described below. | ||
+ | ==== Firmware API 1 ==== | ||
- | ==== main branch ==== | + | The first version. Firmware images are in separate files: firmware.bin and otp.bin. There's no FW IE support. Deprecated since March 2014 and removed on March 2016. |
- | Firmware versions 999.999.0.x. | ||
- | Supports AP mode, STA mode, Ad-Hoc and P2P. But AP mode is not that well tested, especially problems with DFS. | + | ==== Firmware API 2 ==== |
+ | Embedding both firmware and otp images into same file firmware-2.bin. Firmware meta data provided through FW IE. Added in commit 1a222435a dated Sep 27 2013, for Linux 3.13. Deprecated, no new firmware releases use this anymore. | ||
- | ==== 10.x branch ==== | + | ==== Firmware API 3 ==== |
- | Firmware versions 10.x.y. | + | Adding support for 10.2 firmware for QCA988X and ATH10K_FW_FEATURE_WMI_10_2 feature for 10.2 WMI mappings. Added in commit 24c88f7807fb7 dated Jul 27 2014. Deprecated, no new firmware releases use this anymore. |
- | Branch focusing on AP mode. Supports DFS. STA mode works but not well tested. No Ad-Hoc or P2P support. | + | ==== Firmware API 4 ==== |
+ | Adding support for ATH10K_FW_IE_WMI_OP_VERSION. Added in commit 4a16fbec1cd0a dated December 17th 2014. | ||
- | ===== Firmware API versions ===== | + | ==== Firmware API 5 ==== |
- | Because firmware changes between versions we have introduced firmware API concept to ath10k. This makes it possible to support different versions of ath10k. | + | Adding support for ATH10K_FW_IE_HTT_OP_VERSION, needed to support 10.2.4.48-2 on QCA988X. Added in commit 53513c302f35e March 25 2015. |
+ | ==== Firmware API 6 ==== | ||
- | ==== Firmware API 1 ==== | + | Workaround for board id being zero on QCA6174 hw3.0 starting from firmware release WLAN.RM.4.4-00022-QCARMSWPZ-2. Added in commit aad1fd7f7677 April 19 2017, first release v4.12-rc1. |
- | The first version. Firmware images are in separate files: firmware.bin and otp.bin. There's no FW IE support. Deprecated since March 2014. | + | Also for QCA9377 hw1.0 fix IRAM bank compatibility starting from firmware release WLAN.TF.2.1-00014-QCARMSWP-1. Added in commit fc8b92635f79 February 2018, first release v4.17-rc1. |
- | + | ||
- | + | ||
- | ==== Firmware API 2 ==== | + | |
- | Embedding both firmware and otp images into same file firmware-2.bin. Firmware meta data provided through FW IE. Added in commit 1a222435a dated Sep 27 2013, for Linux 3.13. |