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]+'
strings qat_d15xx*   | grep -oP 'Firmware version: \K[0-9]+\.[0-9]+\.[0-9]+'
strings qat_c4xxx*   | 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

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 - SRF - GNR

qat_402xx_mmp.bin

1.2.40

e08d6fa7ee7079e6eaa06f1b92dbfcf7cc60f8a6ec6894710ec1001388bd6d57

2024-07-12

Intel® Xeon® 6 - SRF - GNR

qat_420xx.bin

0.9.0

32f0d78fd739a392dc9cd1be0de1ad4f014137ed0cd44bcb1857101f80b681e8

2025-03-11

Intel® Xeon® 6 - GNR-D

qat_420xx_mmp.bin

0.9.0

db264ee400c2c42fb2b4ce0f7675e142810f3ce4a01da70a8ce91f5a0b838d6b

2025-03-11

Intel® Xeon® 6 - GNR-D

qat_4xxx.bin

1.1.20

1237d40f9d04d4be77becf992ae278f5983a506b90b7353d17a251884b898ef6

2024-01-09

4th and 5th Gen Intel® Xeon® Scalable Processors - SRF - EMR

qat_4xxx_mmp.bin

N/A

df9d88b8b453a228076ddd2eb1332045eca654854b3e1bf6cce0edac24854c7c

2023-03-07

4th and 5th Gen Intel® Xeon® Scalable Processors - SRF - EMR

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

qat_d15xx.bin

4.9.0

4045438198416dcfcf8efc58151c7d3c282b23e970960acf666969a257d59c87

2023-09-05

Intel Xeon® Processor D1500

qat_d15xx_mmp.bin

N/A

e716abf6dde6ff78b8063420ea9efee63d262db87fd4c94790fa946b3096005e

2023-09-05

Intel Xeon® Processor D1500

qat_c4xxx.bin

5.1.0

5e24efa1e482f69f73b9115fe974701cf992e79a1d6d38b9d6fb34b90a09d807

2023-09-05

Intel Atom® Processor P5000

qat_c4xxx_mmp.bin

N/A

2dee3a3f2a4e700b156a35b94635327aca7f29cad15fc276f70c8a2ca31e3ee9

2023-09-05

Intel Atom® Processor P5000

1

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 Feature Compatibility and Version Requirements

Some qatlib features require a recent kernel driver or firmware version. The table below provides details on features and version requirements for qatlib and underlying QAT kernel driver.

QAT Feature Support Matrix

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

Any

Telemetry

N/A

v6.8+

1.1.20+

1.2.40+

Any

RAS

24.02+

v6.9+

1.1.20+

1.2.40+

Any

Treating a CRC generated by the compression engine as an error

25.08+

v5.17+

Pending

Pending

Pending

Programmable CRC for DC service

25.08+

v5.17+

Pending

Pending

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.

Linux Kernel Release Timeline & Features Overview

The following table provides an overview of kernel releases, their associated features, and the status of each release. This information is crucial for understanding the development timeline and feature integration within different kernel versions.

Kernel Release Timeline & Features Overview

Release Version

Kernel Release Date

Features

Kernel 6.16

July 2025

  • Infrastructure rework for 6xxx driver

Kernel 6.15

May 2025

  • Foundational driver for 6xxx

  • Remove support for NULL destination buffers in acomp

  • Bug fixes

Kernel 6.14

March 2025

  • Bug fixes

Kernel 6.13

January 2025

  • Bug fixes

Kernel 6.12

November 2024

  • RAS recovery flows

  • Bug fixes

Kernel 6.11

September 2024

  • Bug fixes

Kernel 6.10

June 2024

  • Live migration SRIOV

Kernel 6.9

April 2024

  • RAS (reset/recoveries, pfvf compat increment 4->5)

Kernel 6.8

February 2024

  • Host-only telemetry (debugFS)

  • Support for 420xx

Kernel 6.7

December 2023

  • Rate Limiting

  • RAS (error/counters)

  • CnV counter

  • PM debug entry

  • Bug fixes

  • acomp-zlib removed

  • User-space enablement: DCC Compression + Hash chaining

Kernel 6.6

October 2023

  • RAS: heartbeat

  • FW counters

  • User-space enablement: +config profiles, SMX capabilities

  • Bug fixes

Kernel 6.5

August 2023

  • Advanced Power Management

  • Instances configuration profiles

Kernel 6.4

June 2023

  • Support for 402xx

Kernel 6.3

April 2023

  • acomp-zlib

Kernel 6.2

February 2023

  • acomp deflate

Kernel 6.1 (aka 5.21)

December 2022

  • bugfixes

Kernel 6.0 (aka 5.20)

October 2022

  • Configuration through sysfs

Kernel 5.19

August 2022

  • Fixes to algorithms

  • Registration of cy algos re-enabled in LKCF

  • Support for 401xx

Kernel 5.18

May 2022

  • PfVf fixes

  • Power mgmt enabled

  • Registration of cy algos disabled in LKCF.

Kernel 5.17

March 2022

  • Enabler for compression in user space

Kernel 5.16

January 2022

  • Bug fixes

  • rework in preparation to updates to PFVF

Kernel 5.15

November 2021

  • Bug fixes related to PFVF

Kernel 5.14

September 2021

  • Bug fixes

Kernel 5.13

July 2021

  • Slice hang

Kernel 5.12

May 2021

  • Bug fixes

Kernel 5.11

February 2021

  • Foundational driver for 4xxx with support for sym/asym

  • SRIOV enabler.

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 sriov_numvf virtual file. As recommended by community, the value passed to the sriov_numvf file indicates how many VF’s user wants to create.

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

QAT20-40049 [KERNEL] Intel QAT CnV Error with LZ4 Compression on GEN 4 and GEN 5 Devices

Title

[KERNEL] Intel QAT CnV Error with LZ4 Compression on GEN 4 and GEN 5 Devices.

Reference

QAT20-40049

Description

A Compress and Verify (CnV) error is reported on GEN 4 and GEN 5 devices when executing LZ4 compression requests. The issue occurs when CpaDcSessionSetupData:accumulateXXHash is false and CpaDcOpData:flushFlag is not equal to CPA_DC_FLUSH_FINAL.

Implication

No compressed data will be returned to the application. The produced and consumed data counters in CpaDcRqResults will be 0 and error code CPA_DC_VERIFY_ERROR will be returned.

Resolution

Do not submit request with both accumulateXXHash disabled and flushFlag not equal to CPA_DC_FLUSH_FINAL.

Affected OS

Linux

Driver/Module

CPM-IA - Data Compression

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.