One of my clients called me that they were having trouble with the fingerprint reader of one of their laptops. The laptop model was Lenovo Yoga 720. Upon investigating, I came to know that this issue occurred upon re-installation of Windows 10.
The Snaptics WBDI biometric device in the device manager was displaying the following error in its properties:
This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)Windows 10 Error
This article documents how I fixed this error and how you can troubleshoot and fix similar errors.
Fixing the device not working properly issue with the fingerprint reader
It’s always better to research using Google or DuckDuckGo search engines about your problem. This will give you an idea if anyone else is having similar issues.
I did a search on Microsoft and Lenovo forums but the answers were not satisfactory. So I used hints from the forums to test my own solutions. The final solution was the following:
- Start the computer and open BIOS (press F2 at startup on Lenovo laptop)
- Go to Security tab and enable Intel SGX
- Save settings and start the computer
- Update drivers using Windows Update or vendor’s own website
- Restart Windows again.
Now you should be able to use the fingerprint reader.
What is Intel SGX?
Intel Software Guard Extensions is a hardware based memory and data encryption solution which can be used to secure sensitive information.
In recent versions of Windows 10, Microsoft seems to have made it mandatory to enable Intel SGX for sensitive hardware like fingerprint reader. Of course, it is mandatory for the devices which support this technology.
Possible fixes for other devices
The error Code 31 is not specifically related to the problem mentioned above. This is a generic error which occurs when Windows is not able to load drivers for a device or the device is not functioning properly. I have compiled a few possible fixes which may be helpful in solving this error for you.
The first step is to restart your computer once to check if this error is temporary. Most problems can be resolved automatically after restart in Windows 10. If the problem persists even after restart, then use the possible solutions listed below:
Update device drivers
Since code 31 is an error code related to malfunction of Windows device drivers and it may occur due to outdated drivers, it is wise to update the device drivers using Windows Update. You may have disabled driver updates from Windows Update.
You can use any method mentioned in this article to trigger Windows Update and update drivers automatically.
Please restart your computer after Windows completes installing the updates. If this does not fix the issue, then I would suggest installing drivers from the device manufacturer.
You can also use third-party tools to update drivers in Windows 10. But please make sure you uninstall and delete the current driver completely before installing the new drivers. To delete current drivers, follow the instructions below:
- Open the Device Manager (Windows key + X + M)
- Right-click the device in question and select Uninstall Device.
- Select the checkbox “Delete the driver software for this device”
You should always backup device drivers before uninstalling them.
Use the Windows troubleshooter
You can also use the Windows troubleshooter which can automatically detect errors in Windows and fix them.
- Go to Settings –> Update & Security –> Troubleshoot
- Select the device which is malfunctioning and click on Run the troubleshooter
It can be a headache if this problem occurs on the network adapters. In cases where you can’t connect to the Internet because error Code 31 is coming on your wireless or ethernet network controllers, it’s wise to download a tool like 3DPNet which will install network drivers even when you are offline.
Hopefully these fixes will fix the error code 31. If it does not, please comment below and we’ll find a solution specific to your problem. I would definitely not want to use the system restore function just because of this error.