6.1 Initialization Failure
Symptom
The KAE is not completely loaded due to an initialization failure.
Handling Procedure
Step 1 Check that the accelerator driver is loaded successfully.
Check whether uacce.ko, qm.ko, sgl.ko, hisi_sec2.ko, hisi_hpre.ko, hisi_zip.ko and hisi_rde.ko are loaded.
lsmod | grep uacce
uacce 262144 2 hisi_hpre,hisi_qm,hisi_sec2,hisi_zip,hisi_rde
Step 2 Check that the KAE library exists in the software installation directory (/usr/lib64 for RPM installation and /usr/local/lib for source code installation) and OpenSSL installation directory, and that the correct soft connection is established.
1. Run the following command to check whether the KAE is correctly installed and whether a soft connection is established.
ll /usr/local/lib/engines-1.1/ |grep kae
If the installation is correct, the following information is displayed
lrwxrwxrwx. 1 root root 22 Nov 12 02:33 kae.so -> kae.so.1.0.1 lrwxrwxrwx. 1 root root 22 Nov 12 02:33 kae.so.0 -> kae.so.1.0.1 -rwxr-xr-x. 1 root root 112632 May 25 2019 kae.so.1.0.1
2. Check whether the WD is correctly installed and whether the soft connection is established.
ll /usr/lib64/ | grep libwd
Check whether the WD is correctly installed and whether the soft connection is established.
lrwxrwxrwx. 1 root root 14 Nov 12 02:33 libwd.so -> libwd.so.1.0.1 lrwxrwxrwx. 1 root root 14 Nov 12 02:33 libwd.so.0 -> libwd.so.1.0.1 -rwxr-xr-x. 1 root root 137120 May 25 2019 libwd.so.1.0.1
Step 3 Check whether the path of the OpenSSL engine library can be exported using the export command.
echo $OPENSSL_ENGINES
export OPENSSL_ENGINES=/usr/local/lib/engines-1.1 echo $OPENSSL_ENGINES
/usr/local/lib/engines-1.1
----End
6.2 Failed to Identify Accelerator Devices After the KAE Installed
Symptom
After the KAE is installed, the accelerator devices cannot be identified.
Procedure
Step 1 Check whether the devices exist in the virtual file system.
ls -al /sys/class/uacce/
Normally, the following accelerator devices are displayed:
total 0
lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-2 -> ../../devices/pci0000:78/0000:78:00.0/0000:79:00.0/
uacce/hisi_hpre-2
lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-3 -> ../../devices/pci0000:b8/0000:b8:00.0/0000:b9:00.0/
uacce/hisi_hpre-3
lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_rde-4 -> ../../devices/pci0000:78/0000:78:01.0/uacce/hisi_rde-4 lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_rde-5 -> ../../devices/pci0000:b8/0000:b8:01.0/uacce/hisi_rde-5 lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-0 -> ../../devices/pci0000:74/0000:74:01.0/0000:76:00.0/
uacce/hisi_sec-0
lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-1 -> ../../devices/pci0000:b4/0000:b4:01.0/0000:b6:00.0/
uacce/hisi_sec-1
lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_zip-6 -> ../../devices/pci0000:74/0000:74:00.0/0000:75:00.0/
uacce/hisi_zip-6
lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_zip-7 -> ../../devices/pci0000:b4/0000:b4:00.0/0000:b5:00.0/
uacce/hisi_zip-7
Step 2 If the hpre device is not found in Step 1, check whether the KAE software is correctly installed by referring to 6.1 Initialization Failure.
Step 3 If the KAE software is correctly installed, run the lspci command to check whether the physical device exists.
1. Check whether HPRE exists.
lspci | grep HPRE
The command output is displayed as follows:
79:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21)
b9:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21)
2. Check whether the SEC exists.
lspci | grep SEC
The command output is displayed as follows:
76:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon SEC Engine (rev 21)
b6:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon SEC Engine (rev 21)
3. Check whether the RDE exists.
lspci | grep RDE
The command output is displayed as follows:
78:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21) b8:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21)
4. Check whether the ZIP exists.
lspci | grep ZIP
The command output is displayed as follows:
75:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21) b5:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21)
Step 4 If no physical device is found in Step 3, perform the following operations:
● Check whether the accelerator license has been imported. If not, import the accelerator license. For details, see "License Management" in TaiShan Rack Server iBMC (V300 to V549) User Guide. After the accelerator license is imported, power off and restart the iBMC to enable the license.
● Check whether the iBMC and BIOS versions support the accelerator feature.
----End
6.3 Failed to Upgrade The Accelerator Driver
Fault Symptom
After the accelerator driver is upgraded, the driver version is not changed after the system is restarted.
Possible Cause
Before the accelerator driver is upgraded, the system upgrades other driver packages. These driver packages may update the boot file system initramfs, and update the accelerator driver to initramfs before upgrade. For example, if the NIC driver is updated or initramfs is manually updated, the system loads the
accelerator driver from initramfs first during restart.
Handling Procedure
After the accelerator driver is upgraded, run the dracut --force command to update initramfs again.
6.4 Failed to Identify the Related Interface Symbols After the OpenSSL of a New Version Is Installed on the Operating System
Symptom
The following error information is displayed when the rpm command is executed:
rpm: relocation error: /lib64/librpmio.so.8: symbol EVP_md2 version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time reference
The following error information is displayed when the OpenSSL command is executed:
/usr/bin/openssl: relocation error: /usr/bin/openssl: symbol EVP_md2 version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time reference
Possible Cause
When the OpenSSL dynamic library path is exported to LD_LIBRARY_PATH or installed in /usr/local/lib, the dynamic library search path in the /etc/ld.so.conf configuration file is set to /usr/local/lib. When the system tool or command attempts to invoke the OpenSSL dynamic library, the library installed by the user rather than the original system library is invoked.
Handling Procedure
Install the OpenSSL software by following the procedure described in 3.1.3 Installing OpenSSL, and install the KAE software packages by following the procedures in 3.1.4 Installing the KAE Software Using RPM Packages, 3.1.5 Installing the KAE Software Using DEB Packages and 3.1.6 Installing the KAE Software Package Using Source Code.
If the system needs to export the /usr/local/lib path to the LD_LIBRARY_PATH environment variable or configure the path to /etc/ld.so.conf, specify the installation path and dynamic library path to install the OpenSSL source code:
./config --prefix=/usr/local/openssl -Wl,-rpath,/usr/local/openssl/lib makemake install
● If the accelerator is installed in RPM mode, change the command as follows:
rpm -ivh libkae-1.0.1-1.euler2.0.aarch64.rpm --prefix=/usr/local/openssl/lib/engines-1.1
● If the accelerator is installed in source code mode, run the following compilation and installation commands in sequence.
cd KAE
chmod +x configure
./configure --openssl_path=/usr/local/openssl make clean && make
make install