Windows – Need help finding drivers for HP laptop

driverslaptopwindows 7

I just downgraded my HP Pavilion 15-n284ca laptop from Windows 8 to Windows 7 (x64) and am now seeing the following two devices complain of not having the required drivers:

enter image description here

enter image description here

enter image description here

Could someone point me in the right direction for these drivers and explain how they were able to track them down? I've tried Googling the Hardware IDs but have had no success.

Thanks!

Edit:

I get the following window when attempting to install the accelerometer driver:

enter image description here

After the window is closed, the accelerometer driver (shown as "Unknown device") still shows as missing.

Any ideas?

Update: the question has now been answered.

Best Answer

  • Solution

    In order to get the right drivers you need to identify the devices through their hardware IDs. Each device has more than one ID: the first one is the most specific, and the last one is the most generic.

    The most relevant bits are VEN_XXXX and DEV_YYYY, which are the vendor ID and the device ID, respectively. The IDs are hexadecimal values associated with a manufacturer/device, which you can lookup using PCI Database. USB devices use VID_XXXX and PID_YYYY, which are similar (PID stands for Product ID). A list can be found at The USB ID Repository.

    You want to get the most specific driver whenever possible, because that's going to be the best match for the device. On the other hand, a generic driver could miss certain features, or it might not even work.

    Realtek card reader

    Let's start with the first device. The hardware ID is the following:

    PCI\VEN_10EC&DEV_5229&SUBSYS_216B103C&REV_01
    

    The vendor ID is 10EC, which is associated to Realtek. The device appears to be a card reader.

    For some reason the HP download page doesn't provide a card reader driver when selecting Windows 7; you'll have to pick Windows 8. It doesn't really matter in this case as the driver package is meant to be compatible with XP and later. The .inf installation file does include the correct ID:

    %Rts5229CR%=Rts5229.Inst, PCI\VEN_10EC&DEV_5229&SUBSYS_216B103C
    

    HP 3D DriveGuard

    Here's the hardware ID for the second device:

    ACPI\HPQ6007
    

    A quick search returned a forum thread which suggested it's related to HP 3D DriveGuard, a proprietary active hard-drive protection:

    HP 3D DriveGuard receives notifications from the integrated accelerometer and protects the hard drive (HDD) by automatically "parking the heads" to reduce the risk of damage if the notebook/laptop is accidentally dropped or is abruptly impacted by another object.

    Source: HP 3D DriveGuard | HP® Support

    This can be confirmed by inspecting the actual driver package. In fact, the installation file contains the following line:

    %DeviceDesc% = HPAccelerometerDriverInstall.ntamd64, ACPI\HPQ6007
    

    The device is indeed an accelerometer. Here's the human-readable description:

    DeviceDesc = "HP Mobile Data Protection Sensor"
    

    You can download it from the official support page. The setup package won't start properly (as of version 6.0.18.1), and you'll get the following window:

    Screenshot 1

    After further analysis through the task manager, it turned out the command line used is the following:

    "C:\SWSetup\SP66078\setup.exe" "setup.exe" /s /v"/qn REBOOT=REALLYSUPPRESS" 
    

    The parameters are messed up. They should have been set like this:

    "C:\SWSetup\SP66078\setup.exe" "/s /v/qn REBOOT=REALLYSUPPRESS"
    

    To workaround this issue, just run the setup.exe application manually. When you're done the C:\SWSetup\SP66078 folder can be deleted. As an alternative you can extract the spXXXXX.exe software package yourself using 7-Zip.


    Additional information

    Some devices require a vendor-supplied driver that is designed specifically for that device or one that is designed to support a family of devices. However, other devices can be driven by a system-supplied driver that supports all the devices of a given device setup class. Windows selects the driver that most closely matches the device. If Windows does not find such a driver, it selects from increasingly more general drivers.

    Source: Overview of the Driver Selection Process

    Hardware IDs

    Windows identifies devices and the setup classes they belong to by using a special set of identifiers. These identifiers are used to match hardware devices with the device drivers that allow them to communicate with Windows.

    One or more device IDs are assigned to a device by its manufacturer. One of them, the hardware ID, is very specific - down to the make, model, and even the firmware version of the device. Other device IDs are also assigned, and are more generic, with the IDs possibly being assigned to other devices from the manufacturer that are compatible at some level.

    Source: Discovering Hardware IDs and Device Setup Classes for your Devices

    INF files

    An INF file is a text file that contains all the information that device installation components used to install a driver. Windows installs drivers using INF files. This information includes the following:

    • Driver name and location

    • Driver version information

    • Registry information

    Source: Overview of INF Files

    Further reading

  • Related Question