Introduction
The term in-tree refers to the Intel® QAT kernel modules and firmware included in the Linux kernel tree, as opposed to our more common out-of-tree (OOT) driver and firmware, provided directly by Intel at Intel® QuickAssist Technology Driver for Linux* - HW Version 2.0.
Important
Firmware information on this page refers to the in-tree firmware. If you’re using the Intel OOT package, your firmware version may not match what’s on this page.
Detecting Current Firmware
Note
Your firmware may be in a compressed .xz
filetype. Decompress first using the sudo xz --decompress compressed_file_filename.xz
command.
To detect which firmware version is on a platform or running in a device, see the below commands. Change to the appropriate directory (i.e. cd usr/lib/firmware/
or cd to [QAT_DIR]/quickassist/qat/fw/
) and use the appropriate command for your hardware:
strings qat_4xxx* | grep -oP 'Firmware version: \K[0-9]+\.[0-9]+\.[0-9]+'
strings qat_402xx* | grep -oP 'Firmware version: \K[0-9]+\.[0-9]+\.[0-9]+'
strings qat_895xcc* | grep -oP 'Firmware version: \K[0-9]+\.[0-9]+\.[0-9]+'
strings qat_c3xxx* | grep -oP 'Firmware version: \K[0-9]+\.[0-9]+\.[0-9]+'
strings qat_c62x* | grep -oP 'Firmware version: \K[0-9]+\.[0-9]+\.[0-9]+'
Note
On some Linux distros, the above commands may not produce output. In that case, run a more basic command like strings qat_4xxx* | grep -i version
. In our example output, tools version 5.0.1993 . Firmware version: 1.0.10
, the tools version
is not relevant; the latter Firmware version: 1.0.10
represents the actual version of the current firmware.
QAT Firmware Available
File Name |
Version |
SHA256 Checksum |
Release Date |
Supported Platforms |
---|---|---|---|---|
LICENCE.qat_firmware |
2023 |
0BD9F7CAE3CF72B12A63359A725CCBB76DDBD6831372695A9162144329800DD0 |
2023-03-10 |
N/A |
qat_402xx.bin |
1.2.40 |
b82b6faf0d1da97b78d2ec3b78cbdb3f769cbb1339227b82025d0f2ca4857037 |
2024-07-12 |
Intel® Xeon® 6 - Sierra Forest |
qat_402xx_mmp.bin |
1.2.40 |
e08d6fa7ee7079e6eaa06f1b92dbfcf7cc60f8a6ec6894710ec1001388bd6d57 |
2024-07-12 |
Intel® Xeon® 6 - Sierra Forest |
qat_420xx.bin |
Pending 1 |
contact qat-linux@intel.com mailing list for firmware |
Pending 1 |
5th Gen Intel® Xeon® Scalable Processor |
qat_420xx_mmp.bin |
Pending 1 |
contact qat-linux@intel.com mailing list for firmware |
Pending 1 |
5th Gen Intel® Xeon® Scalable Processor |
qat_4xxx.bin |
1.1.20 |
1237d40f9d04d4be77becf992ae278f5983a506b90b7353d17a251884b898ef6 |
2024-01-09 |
4th Gen Intel® Xeon® Scalable Processor |
qat_4xxx_mmp.bin |
N/A |
DF9D88B8B453A228076DDD2EB1332045ECA654854B3E1BF6CCE0EDAC24854C7C |
2023-03-07 |
4th Gen Intel® Xeon® Scalable Processor |
qat_895xcc.bin |
4.18.0 |
3bd7958f092eed553f3ae7a4543409d4ac34c0057e8fe609b6dabedd4f5a0077 |
2023-04-18 |
Intel® Communication Chipset 8925 to 8955 Series |
qat_895xcc_mmp.bin |
N/A |
4b7bd5930690accaf9dac6301ab7d91ea24bc1398c943ad7aa14c7a8118b63db |
2023-04-18 |
Intel® Communication Chipset 8925 to 8955 Series |
qat_c3xxx.bin |
4.19.0 |
99a1e70b24facc6e7834d7a72cbc82d113796af0d70af94f66f224fbc27c5340 |
2023-04-18 |
Intel Atom® Processor C3000 |
qat_c3xxx_mmp.bin |
N/A |
2869d2306c60dff528bb68c4b55c3c5aab96e43c6fcd858540235eb283118de9 |
2023-04-18 |
Intel Atom® Processor C3000 |
qat_c62x.bin |
4.19.0 |
89bd32da6761afb28f8d801289c6ada2d02d3ddfd0de6626111e710b8276871a |
2023-04-18 |
Intel® C62x Chipset |
qat_c62x_mmp.bin |
N/A |
52bfda93819413807c7be56baf69f0b5f07a4be067ce9c69e61bf78bb395d1da |
2023-04-18 |
Intel® C62x Chipset |
- 1(1,2,3,4)
For Pending firmware, if you are running on a system that does not include the QAT device and the firmware image is not available, you may encounter a warning when building the Linux Kernel or initramfs. To work around these issues, you can use the following commands:
sudo echo "Device not available" > /lib/firmware/qat_420xx.bin sudo echo "Device not available" > /lib/firmware/qat_420xx_mmp.bin
Download
QAT in-tree firmware can be downloaded from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/.
QAT Kernel Driver Releases & Features
Note
Some qatlib features require a recent kernel driver or firmware version.
Feature |
qatlib version |
Required Kernel Driver Version |
Required Firmware Version |
||
---|---|---|---|---|---|
4xxx |
402xx |
420xx |
|||
Symmetric and asymmetric crypto |
20.08+ |
v5.15.3+ |
Any |
Any |
Any |
Data Compression |
21.08+ |
v5.17+ |
Any |
Any |
Any |
Enable device 401xx |
22.07+ |
v5.19+ |
Any |
N/A |
N/A |
Configure dc and sym;asym |
22.07+ |
v6.0+ |
Any |
Any |
Any |
Configure sym asym sym;dc asym;dc |
23.08+ |
v6.5+ |
Any |
Any |
Any |
Symmetric Crypto SM3 & SM4 and Asymmetric Crypto SM2 |
23.11+ |
v6.6+ |
Any |
Any |
Any |
DC Chaining (dcc) |
23.08+ |
v6.7+ |
1.1.20+ |
Any |
Any |
Enable device 402xx |
24.02+ |
v6.4+ |
N/A |
1.2.40+ |
N/A |
Enable device 420xx |
24.02+ |
v6.8+ |
N/A |
N/A |
Pending |
Telemetry |
N/A |
v6.8+ |
1.1.20+ |
1.2.40+ |
Pending |
RAS |
24.02+ |
v6.9+ |
1.1.20+ |
1.2.40+ |
Pending |
Note
Also, if running on a distro like RHEL or SUSE, the kernel version reported should be ignored. This is because the kernel version reported is only the base kernel version, however, the distro generally contains a more recent qat kernel driver.
Consult your distro support for details.
Known Errata (Linux Firmware/Kernel Modules)
QATE-102222 [KERNEL] SSM soft errors on a compression or translation slices are not reported
Title |
[KERNEL] SSM soft errors on a compression or translation slices are not reported. |
---|---|
Reference |
QATE-102222 |
Description |
If an SSM soft parity error occurs on a compression or translation slice, these errors might not be reported in dmesg and RAS debug counters are not properly incremented. |
Implication |
The absence of these errors in the logs may lead to an incorrect assessment of the system’s error resilience and could potentially mask underlying issues with the hardware or firmware. |
Resolution |
There is no workaround currently available. |
Affected OS |
Linux |
Affected Platform |
QAT GEN 5 devices |
Driver/Module |
qat_420xx |
QAT20-23946 [SVM/IOMMU] Request issue doesn’t appear in response
Title |
[SVM/IOMMU] Request issue doesn’t appear in response |
---|---|
Reference |
QAT20-23946 |
Description |
Without Address Translation (AT) enabled, QAT hardware can’t reliably handle page faults on write operations to invalid memory addresses. This may lead to situations where the operation does not complete properly and error is not reported to user. Only IOMMU pagefault is reported to the user in this case. This does not result in system memory corruption. |
Implication |
User is responsible for making sure that all destination addresses submitted to HW are valid. Also verify that SW doesn’t generate IOMMU pagefaults. |
Resolution |
Enable AT for SVM/IOMMU use cases. |
Affected OS |
All |
Affected Platform |
QAT 2.0 |
Driver/Module |
QAT Firmware |
QAT20-24970 [Firmware] Potential false positive heartbeat failures
Title |
[Firmware] Potential false positive heartbeat failures |
---|---|
Reference |
QAT20-24970 |
Description |
When a QAT device is fully utilized and is processing requests with large payloads (e.g. >512MB), false positive heartbeat failures may be reported if the heartbeat check interval is set too low. |
Implication |
Processing multiple requests with big payload sizes may cause false positive heartbeat failure and trigger PF restart. |
Resolution |
This issue can be resolved by ensuring that heartbeat interval is large enough to allow big payload request be correctly processed. Recommended minimal heartbeat interval value to be used is 1500 ms. This issue will be addressed in future release. |
Affected OS |
All |
Affected Platform |
QAT 2.0 |
Driver/Module |
QAT Firmware |
QAT20-20272 [XCC/MCC] Spurious heartbeat failures may be observed on some SKUs
Title |
[Firmware] Potential false positive heartbeat failures |
---|---|
Reference |
QAT20-24970 |
Description |
When a QAT device is fully utilized and is processing requests with large payloads (e.g. >512MB), false positive heartbeat failures may be reported if the heartbeat check interval is set too low. |
Implication |
Processing multiple requests with big payload sizes may cause false positive heartbeat failure and trigger PF restart. |
Resolution |
This issue can be resolved by ensuring that heartbeat interval is large enough to allow big payload request be correctly processed. Recommended minimal heartbeat interval value to be used is 1500 ms. This issue will be addressed in future release. |
Affected OS |
All |
Affected Platform |
QAT 2.0 |
Driver/Module |
QAT Firmware |
QAT20-18924 [MCC] MCC SKUs may consume more power than expected
Title |
[MCC] MCC SKUs may consume more power than expected |
---|---|
Reference |
QAT20-18924 |
Description |
Due to Power Management changes in MCC platforms one QAT device in every socket is permanently clock gated when not processing requests which leads to inevitable heartbeat failures and device resets. Current FW workaround increases power consumption by keeping QAT in active state. Intel is working on workaround that does not have impact on power consumption. |
Implication |
Higher power consumption is possible |
Resolution |
This is no workaround currently available. |
Affected OS |
Linux |
Affected Platform |
QAT 2.0 |
Driver/Module |
QAT Firmware |
QATE-45537 [Firmware] - Firmware authentication may fail if PCIe* errors occur or are injected
Title |
[Firmware] - Firmware authentication may fail if PCIe* errors occur or are injected. |
---|---|
Reference |
QATE-45537 |
Description |
If PCIe* errors occur or are injected on a platform, the QAT firmware authentication may fail. |
Implication |
The system may need to be rebooted in order to load QAT firmware successfully. |
Resolution |
None |
Affected OS |
Linux* |
Affected Platform |
QAT 1.6, QAT 1.7 |
Driver/Module |
CPM IA - Common |
QATE-68323 [VIRT] Attempting to create any number of QAT VF’s results in all VF’s created
Title |
[VIRT] Attempting to create any number of QAT VF’s results in all VF’s created |
---|---|
Reference |
QATE-68323 |
Description |
To enabled SR-IOV on the device user must write number
to the Current implementation of the driver doesn’t support this because regardless of the written value driver will create all available. Everything else is working as expected, meaning, user writes 0 to to disabled SR-IOV and negative number are not allowed. |
Implication |
When the SR-IOV is enabled on the device the number of the VFs (Virtual Functions) is fixed to maximum for the device. |
Resolution |
In virtual environment host always expose full device capabilities, hence the host configuration determines the resource availability for the particular guest (VM). |
Affected OS |
Linux |
Affected Platform |
QAT 2.0 |
Driver/Module |
QAT Firmware |
Resolved Errata (Linux Firmware/Kernel Modules)
This section lists those errata related to firmware and kernel modules which were previously resolved.
QATE-8109 [Firmware] - Driver and firmware versions are not reported to user space
Title |
Driver and firmware versions are not reported to user space. |
---|---|
Reference |
QATE-8109 |
Description |
Driver and firmware versions are not reported through the sysfs and cannot be queried using the icp api. |
Implication |
User applications are not able to query the software package versions. |
Resolution |
This is resolved with the 4.0.1 release. |
Affected OS |
Linux |
Affected Platform |
QAT 1.6, QAT 1.7 |
Driver/Module |
CPM IA - Common |
QATE-4051 - Unable to activate driver using QAT1.7 devices in full passthrough mode
Title |
Unable to activate driver using QAT1.7 devices in full passthrough mode |
---|---|
Reference |
QATE-4051 |
Description |
The new firmware authentication feature requires PF devices to be reset via function level reset (FLR) before firmware download. In KVM guests, all pass-through devices attached to a VM are reset at boot time. Any further device reset is trapped by the hypervisor and not issued. This causes firmware authentication to fail after the first firmware download. Full device pass-through might work in some conditions when using vfio and if the host kernel and the platform support it. |
Implication |
Direct mode feature not available on KVM guests for devices on full pass-through mode. |
Resolution |
Refer to appendix A of Using Intel® Virtualization Technology (Intel® VT) with Intel® QuickAssist Technology (document number 330689) for instructions on how to pass through a QAT PF to a VM. Talk to your Intel® representative for more information. |
Affected OS |
Linux |
Affected Platform |
QAT 1.6, QAT 1.7, QAT 1.8 |
Driver/Module |
CPM IA - Common |
License
Copyright (c) Intel Corporation.
Redistribution. Redistribution and use in binary form, without modification, are permitted provided that the following conditions are met:
* Redistributions must reproduce the above copyright notice and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Intel Corporation nor the names of its suppliers may be used to endorse or promote products derived from this software without specific prior written permission.
* No reverse engineering, decompilation, or disassembly of this software is permitted.
Limited patent license. Intel Corporation grants a world-wide, royalty-free, non-exclusive license under patents it now or hereafter owns or controls to make, have made, use, import, offer to sell and sell ("Utilize") this software, but solely to the extent that any such patent is necessary to Utilize the software alone, or in combination with an operating system licensed under an approved Open Source license as listed by the Open Source Initiative at http://opensource.org/licenses. The patent license shall not apply to any other combinations which include this software. No hardware per se is licensed hereunder.
DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.