Engine/Provider Loading Issues
The most common failure point is the QAT Engine or Provider not loading successfully.Engine/Provider fails to load
Engine/Provider fails to load
Symptoms:
- OpenSSL commands fail to recognize the QAT engine/provider
- Applications don’t show QAT acceleration
- Error messages about missing libraries
- Verify library installation:
- Check OPENSSL_ENGINES environment variable (engine only):
- Verify shared library dependencies:
- Set LD_LIBRARY_PATH if libraries are not found:
Cannot locate libcrypto.so or libssl.so
Cannot locate libcrypto.so or libssl.so
Symptoms:Make this permanent by adding to your shell profile:
- Error messages about missing
libcrypto.soorlibssl.so - Engine/provider loads but crashes immediately
LD_LIBRARY_PATH:Misleading 'undefined symbol: EVP_PKEY_get_base_id' error
Misleading 'undefined symbol: EVP_PKEY_get_base_id' error
Symptoms:
- Error message:
undefined symbol: EVP_PKEY_get_base_id - Appears during engine load in OpenSSL 1.1.1n or OpenSSL 3.0.2
This issue was introduced in OpenSSL 1.1.1n and OpenSSL 3.0.2, and fixed in OpenSSL 1.1.1o and OpenSSL 3.0.3. Consider upgrading to these versions or later.
QAT Hardware Driver Issues
QAT HW initialization failed
QAT HW initialization failed
Symptoms:Solutions:
- Check driver configuration:
- Update driver configuration:
- Verify QAT devices are up:
- Restart QAT service if needed:
icp_sal_userstart fail
icp_sal_userstart fail
Symptoms:Cause:
The driver config file doesn’t have enough processes configured for your application.Solution:
- Check current NumProcesses setting:
- Increase NumProcesses in driver config:
- Restart QAT driver:
If QAT_SW is enabled in co-existence mode, processes that can’t get a QAT_HW instance will fall back to QAT_SW automatically.
QAT driver not installed or not running
QAT driver not installed or not running
Symptoms:
- Commands fail with QAT hardware errors
adf_ctlcommand not found
- Check if driver is installed:
- Check device status:
- Start the driver if not running:
- For qatlib in-tree driver, configure policy settings: Refer to the qatlib install guide for proper NumProcesses and service configuration.
QAT Software Issues
QAT_SW libraries not found
QAT_SW libraries not found
Symptoms:
- Build fails with missing crypto_mb or ipsec_mb
- Runtime errors about missing SW acceleration libraries
- Install dependent libraries in default path, or
- Specify custom installation paths:
- Verify libraries are accessible:
Build and Package Issues
Missing OpenSSL development packages
Missing OpenSSL development packages
Symptoms:
- Build fails with missing OpenSSL headers
- Cannot find
openssl/evp.hor similar headers
Binary RPM package compatibility
Binary RPM package compatibility
Symptoms:
- RPM package fails to install
- Incompatibility errors with system libraries
- RHEL 9.2
- Ubuntu 22.04
- SUSE SLES15 SP3
- Default kernel from the distribution
- QAT 2.0 OOT driver
- QAT_SW co-existence enabled
- Intel Xeon Scalable Processor family with QAT Gen4/Gen4m
If your distribution or kernel version differs, you may need to build from source instead of using the binary RPM.
OpenSSL version incompatibility
OpenSSL version incompatibility
Symptoms:
- Runtime errors about symbol versions
- Application crashes when using QAT
Memory and Resource Issues
USDM memory allocation failures
USDM memory allocation failures
Symptoms:
- Failures with USDM memory allocation
- Out of memory errors
- Check current memlock limit:
- Increase memlock limit:
- Verify the change:
Algorithm Support Issues
Legacy/insecure algorithms disabled
Legacy/insecure algorithms disabled
Symptoms:
- DH, DSA, SHA1 operations fail
- RSA with key sizes < 2048 bits fail
- EC curves < 256 bits fail
- Rebuild QAT HW driver with legacy algorithms:
- Rebuild QAT Engine with insecure algorithms:
Getting More Help
If you encounter issues not covered here:- Enable debug logging to get more information (see Debugging)
- Check the limitations page for known constraints
- Review the GitHub issues for similar problems and solutions
- Contact Intel support or open a GitHub issue with:
- QAT Engine version
- OpenSSL version
- Driver version
- Operating system and kernel version
- Full error messages and logs
- Steps to reproduce the issue