July 19th, 2010
Programs that automatically update device drives on your system need to match the hardware in your system with the devices in their database. Once a match is found, they check the driver version to see if it is newer, so the update can be recommended.
That sounds pretty simple, doesn’t it?
Well, in a way it is, but still it is possible that a driver update program recommends a program that should not be installed on your system. We call this a false positive. There are two possible reasons for a false positive in driver updates, a device mismatch and a driver version mismatch.
Device Matching Logic
In order to understand, we need to look at how a device is identified in Windows. If we open the Device Manager, select a device and then right-click it to see the Properties, we can select the Details tab. In the list of properties, we select the Hardware Ids:
As you can see in the screenshot, a device can have multiple hardware ids. The top one in the list is an exact match of the device, where the brand, model, type and even revision number would match. Going down the list, the device match is broader, but still specific, that is why all these identifiers are present in the list of hardware ids.
But Windows allows for the use of compatible drivers, so that, if an exact match on the driver is not available, the device can still be used with a compatible driver. This may result in reduced support for the device, not all functionality may be available, but at least the device works.
If we select the Compatible Ids in the property list for the same device, we see:
Again, we see a list of identifiers, where the top one would be the preferred match, and the lower ones are broader matches.
When a driver is needed for a device, Windows will always first try to find a driver for the device based on a hardware id match. If none can be found, a driver match based on the compatible ids can be used.
So if an existing driver has a match on a hardware id, while an update is recommended that matches on a compatible id for the device, we consider that a false positive.
Driver Version Comparison
Apart from a list of devices that is supported by a driver, a driver also has a date and version. The date and version are actually combined in a single identifier, like:
The first part is the date, and the second part is the version number. Windows checks for new drivers based on the driver date, the version is optional. So if a driver program recommends a driver update based on a newer version, while the date is older than the currently installed driver, this is again a false positive.
In the Device Manager, you can select the Driver tab to see the date and version of the currently installed driver:
Drivers do not always have complete date and version information, and even the date format is not always consistent. Driver programs obviously need to factor in these aspects when recommending driver updates.
In our tests, we found DriverFinder to have the best device driver matching logic.
Entry Filed under: Device Drivers