LFI to RCE via access_log injection

How to fix “Windows cannot initialize the device driver for this hardware. (Code 37)”


I experienced issues connecting my smartphone to my Windows 7 PC ever since I replaced my Samsung Galaxy Note II with the Motorola Moto G.
Nothing happened whenever I plugged the USB cable in and connect the phone to it. The workaround that I came up with was to open Devices and Printers, right-click on the device, select troubleshoot, and wait until Windows would install the required drivers on the system.
The strange thing was that I had to do so each time and not only once. When I checked the phone's properties with a right-click, it would list "Windows cannot initialize the device driver for this hardware. (Code 37)" as the device status.
A search on the Internet reveals hundreds if not thousands of pages with workarounds and fixes for the solution, and users who can't get these fixes to work on their system.
Common suggestions include uninstalling drivers, deleting UpperFilters and LowerFilters Registry values, using System Restore, or uninstalling all USB devices.
If you are unlucky, you land on a page that is trying to sell you a software to fix those errors on your system.
While I cannot claim that the following method works for all devices the error is displayed for, it worked for my situation. It fixed the issue that I was experiencing and resulted that the phone was detected properly whenever I connected it to the PC.
Solution
All I did was install the device driver offered by Motorola for the Moto G. There is a downside to that but more about that later. Once installed, the Moto G was detected properly by the PC so that I was able to transfer files or back up data on it.
Now, the downside is that Motorola's Device Manager needs to run in the background for that to work which is not ideal.
There is another solution, one that is not that obvious as it can be overlooked easily. Here is what you need to do:
1. Open the Devices and Printers module of the Control Panel. Tap on the Windows-key, type devices and printers, and select the result from the listing.
2. Right-click on the device that is not detected properly and select the troubleshoot option.
troubleshoot device
3. Windows attempts to find a solution for the issue and displays it afterwards. In this case, it displays an option to reinstall the device driver. Select apply this fix from the available options.
reinstall-device-driver
4. The next page is the important one. If you just click next on "allow driver updates to be installed", you will only fix the issue for the current session but not permanently.
You need to click on view and change settings to fix it once and for all.
allow driver updates to be installed
5. On the next page, switch from "never install driver software from Windows Update" to "Yes, do this automatically (recommended)".
device installation settings
6. Save the changes and click next on the page. Windows will then display the troubleshooting results. If everything went well, all issues displayed should be listed as fixed.
troubleshooting fixed

Closing Words

If you are experiencing error code 37 issues in Windows when connecting devices via USB, you may want to try the troubleshooting option first as it offers the best result when it works.
If that does not work, download and install the latest drivers for the device from the manufacturer website.
Summary
Article Name
How to fix "Windows cannot initialize the device driver for this hardware. (Code 37)"
Author
Description
The guide provides you with two options to fix error code 37 messages in Windows. The error code is used by the operating system if devices connected via USB are not functioning correctly.

Comments