User Tools

Site Tools


en:users:drivers:ath10k:firmware

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
en:users:drivers:ath10k:firmware [2015/04/23 05:45]
Michał Kazior People seem to be confused with firmware versioning so add a comprehensive table for quick reference.
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 =====
  
-Firmware is temporalily ​available ​at [[https://github.com/kvalo/ath10k-firmware|https://​github.com/kvalo/​ath10k-firmware]] ​until it will be available ​from 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]].
  
-The firmware is searched from directory ath10k/​QCA988X/​hw2.0 under the system firmware directory, usually /​lib/​firmware. For example, here's a listing from an Ubuntu system where it's under /​lib/​firmware: ​+==== Firmware branches =====
  
  
-<​code>​$ ls -l /lib/​firmware/​ath10k/​QCA988X/​hw2.0/​ +^ Hardware ​        ^ Firmware major version/branch ​ ^ Latest firmware revision ​                                                     ^ Intended use  ^ Kernel version required* ​ ^ Git commit ​                 ^ 
-total 508 +| QCA988X ​         | main                           | [[https://​git.codelinaro.org/​clo/​ath-firmware/​ath10k-firmware/​-/​tree/​main/​QCA988X/​hw2.0/​main|link]] ​   | STA           | 3.11                      | 5e3dd157d7e7 ​               | 
--rwxr-xr-root root   2116 Oct 22 11:01 board.bin* +| QCA988X ​         | 10.1                           | [[https://​git.codelinaro.org/​clo/​ath-firmware/​ath10k-firmware/-/​tree/​main/​QCA988X/​hw2.0/​10.1|link]] ​   | AP            | 3.13                      | 8acd3c97ff9e ​               | 
--rw-r--r-1 root root 254564 Oct 22 11:01 firmware-2.bin +| QCA988X ​         | 10.2                           | [[https://​git.codelinaro.org/​clo/​ath-firmware/​ath10k-firmware/-/​tree/​main/​QCA988X/​hw2.0/​10.2|link]] ​   | AP            | 3.18                      | 24c88f7807fb ​               | 
--rwxr-xr-x 1 root root 249093 Oct 22 11:01 firmware.bin* +| 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 ​               | 
--rwxr-xr-x 1 root root   5402 Oct 22 11:01 otp.bin* +| QCA6164/​QCA6174 ​ | wmi-tlv                        | [[https://​git.codelinaro.org/​clo/​ath-firmware/​ath10k-firmware/​-/​tree/​main/​QCA6174|link]] ​        | AP/​STA ​       | 4.0                       | d63955b33b3b,​ ca996ec56608 ​ | 
-$</​code>​ +| QCA9980 ​         | 10.4                           | [[https://​git.codelinaro.org/​clo/​ath-firmware/​ath10k-firmware/-/​tree/​main/​QCA99X0|link]] ​        | AP            | 4.2                       | 8a055a8adc87 ​               |
-Description of the files: ​+
  
-  ; board.bin ​ : board file for the firmware ​ 
-  ; firmware-2.bin ​ : embedded firmware file (includes both firmware and otp) for ath10k versions supporting FW API 2  
-  ; firmware.bin ​ : firmware file for older ath10k versions supporting only FW API 1  
-  ; otp.bin ​ : otp file for older ath10k versions supporting only FW API 1  
  
-==== Overview ===== 
  
  
-^ Hardware ​ ^ Firmware major version/​branch ​ ^ Latest firmware revision ​        ^ Intended use  ^ Kernel version required* ​ ^ Git commit ​                 ^ +* Note: It is possible to use newer ath10k driver on an older kernel with [[en/users/Drivers/​ath10k/backports|backports project]].
-| QCA988X ​  | main                           | 999.999.0.636 ​                   | STA           | 3.11                      | 5e3dd157d7e7 ​               | +
-| QCA988X ​  | 10.1                           | 10.1.467.2-1 ​                    | AP            | 3.13                      | 8acd3c97ff9e ​               | +
-| QCA988X ​  | 10.2                           | 10.2-00082-4-2 ​                  | AP            | 3.18                      | 24c88f7807fb ​               | +
-| QCA988X ​  | 10.2.4 ​                        | 10.2.4.48 ​                       | AP            | 4.0                       | 4a16fbec1cd0 ​               | +
-| QCA61X4 ​  | wmi-tlv ​                       | WLAN.RM.2.0-00073-QCARMSWPZ-1-1 ​ | AP/​STA ​       | 4.0                       | d63955b33b3b,​ ca996ec56608 ​ | +
- +
-* Note: It is possible to use newer ath10k driver on an older kernel with backports project: https://​backports.wiki.kernel.org+
  
 ===== 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 2014Deprecated, 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 ====
  
-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 versionFirmware images are in separate files: ​firmware.bin and otp.binThere'​s no FW IE supportDeprecated since March 2014 +Also for QCA9377 hw1.0 fix IRAM bank compatibility starting from firmware ​release WLAN.TF.2.1-00014-QCARMSWP-1Added 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.  
en/users/drivers/ath10k/firmware.txt · Last modified: 2024/03/06 11:29 by Kalle Valo