This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
en:users:drivers:ath10k:firmware [2015/11/10 11:40] Kalle Valo Firmware images are now in linux-firmware.git, document that |
en:users:drivers:ath10k:firmware [2018/03/07 14:09] Kalle Valo Document firmware API 6 |
||
---|---|---|---|
Line 9: | Line 9: | ||
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://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]]. | ||
- | ==== 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 | 999.999.0.636 | STA | 3.11 | 5e3dd157d7e7 | | + | | QCA988X | main | [[https://github.com/kvalo/ath10k-firmware/tree/master/QCA988X/hw2.0/main|link]] | STA | 3.11 | 5e3dd157d7e7 | |
- | | QCA988X | 10.1 | 10.1.467.2-1 | AP | 3.13 | 8acd3c97ff9e | | + | | QCA988X | 10.1 | [[https://github.com/kvalo/ath10k-firmware/tree/master/QCA988X/hw2.0/10.1|link]] | AP | 3.13 | 8acd3c97ff9e | |
- | | QCA988X | 10.2 | 10.2-00082-4-2 | AP | 3.18 | 24c88f7807fb | | + | | QCA988X | 10.2 | [[https://github.com/kvalo/ath10k-firmware/tree/master/QCA988X/hw2.0/10.2|link]] | AP | 3.18 | 24c88f7807fb | |
- | | QCA988X | 10.2.4 | 10.2.4.48 | AP | 4.0 | 4a16fbec1cd0 | | + | | QCA988X | 10.2.4 | [[https://github.com/kvalo/ath10k-firmware/tree/master/QCA988X/hw2.0/10.2.4|link]] | AP | 4.0 | 4a16fbec1cd0 | |
- | | QCA61X4 | wmi-tlv | WLAN.RM.2.0-00073-QCARMSWPZ-1-1 | AP/STA | 4.0 | d63955b33b3b, ca996ec56608 | | + | | QCA6164/QCA6174 | wmi-tlv | [[https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174|link]] | AP/STA | 4.0 | d63955b33b3b, ca996ec56608 | |
+ | | QCA9980 | 10.4 | [[https://github.com/kvalo/ath10k-firmware/tree/master/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 | ||
- | ===== Update firmware ===== | ||
- | First download the firmware image from ath10k-firmware.git: | ||
- | [[https://github.com/kvalo/ath10k-firmware/tree/master/|https://github.com/kvalo/ath10k-firmware/tree/master/]] | + | * Note: It is possible to use newer ath10k driver on an older kernel with [[en/users/Drivers/ath10k/backports|backports project]]. |
- | 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: | + | ===== Update firmware ===== |
+ | 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: | ||
<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. |