Problem
Hardware Independent Imaging (HII) selected the "wrong" driver.
Cause
HII reads the devices on a machine, and gathers their corresponding Hardware IDs. Then drivers are read from the HII Library and a comparison checks for any drivers that list a DeviceID that matches the device Hardware ID of the machine. All selections are based off of vendor provided information. If there is a driver mismatch, this stems from the Hardware or Driver listing incorrect ID values.
Information
These steps outline how to manually verify the driver selections that occured.
The Driver HII Found Should Not Be Used
Gather HIIPreview.log
- Begin by running HII PreviewAll.
- The linked document provides switches to run with HIIClient.exe. Running with /PreviewAll will generate the HIIPreview.log we require.
- The HIIPreview.log file will list each Device in sections like this:
Hardware device discovered. Device number 86: Device name: UART Controller Primary device ID: ACPI\VEN_8086&DEV_0F0A&REV_0006 Additional device ID: ACPI\VEN_8086&DEV_0F0A Additional device ID: ACPI\80860F0A Automatically detected INF match discovered using device id ACPI\80860F0A. Matching File: Elitepad_1000_G2_x64_win81\chipset\intel\122722\Drivers\UART\iaiouart.inf Additional device ID: *80860F0A Additional device ID: ACPI\80860F0A Additional device ID: 80860F0A
Locate Hardware IDs
- Open Device Manager
- Right click Computerand choose Manage, navigate to Computer Management | System Tools | Device Manager
- Alternatively from a run box enter devmgmt.msc
- The Device name the HIIPreview.log will be the name of the device as displayed under Device Manager
Example: The excerpt listed earlier shows
Device name: UART Controller
- Right click the device and choose Properties.
- Within the device's proprerties, click the Details tab
- Under Property, select Hardware Ids from the drop down list
- The Hardware Ids listed in the device Properties are shown in the HIIPreview.log
Example: From the excerpt listed earlier the hardware ids were listed as:
Primary device ID: ACPI\VEN_8086&DEV_0F0A&REV_0006 Additional device ID: ACPI\VEN_8086&DEV_0F0A Additional device ID: ACPI\80860F0A Additional device ID: *80860F0A Additional device ID: ACPI\80860F0A Additional device ID: 80860F0A
- The line that lists 'match discovered' will identify what Hardware ID was found to be a match against that listed by the driver.
Example: From the excerpt listed earlier the 'match discovered' was:
Automatically detected INF match discovered using device id ACPI\80860F0A.
At this point the Hardware IDs have been identified and verified in the HIIPreview.log. Now we can compare them against the ids the driver indicates it is applicable for.
Locate Driver Device IDs
- Navigate to the HII Driver Repository
- This can be found by navigating to Tools | Distribution | HII Driver Management | Build Library, the path listed will indicate where the drivers are stored
- The line in the HIIPreview.log that lists 'Matching File' will identify what driver was selected.
Example: From the excerpt listed earlier the 'Matching File' was:
Matching File: Elitepad_1000_G2_x64_win81\chipset\intel\122722\Drivers\UART\iaiouart.inf
In the HII Driver Repository, navigate to the listed Matching File
Example: "\\96-CORE3\ldmain\landesk\files\drivers\Elitepad_1000_G2_x64_win81\chipset\intel\122722\Drivers\UART\iaiouart.inf"
- Open the drivers .inf file in a text editor
- The .inf file will list information about what hardware it is applicable to
;For XP and later [Intel.NTamd64] ; DisplayName Section DeviceId CompatibleId ; ----------- ------- -------- ------------ %iaiouart.DeviceDescE6%= iaiouart_Inst, ACPI\80860F0A, ACPI\INT33BC
- The DeviceId will indicate what Hardware ID it applies to
Example: From the excerpt listed above:
DeviceId -------- ACPI\80860F0A
- The DeviceId the .inf file lists will match at least one of the Hardware IDs we found for the device earlier.
HII performs the steps outlined here automatically. When HII selects a driver, it has found that a driver's .inf file has a DeviceId that matches one of the computers device's Hardware IDs. These values are defined by their vendors, not by LANDESK.
The Driver HII Found Should Not Be Used
There are situations where a driver that is chosen may not be desirable such as the driver is causing compatibility issues.
The selection was made because the driver's vendor listed in its .inf file that it should be paired to the machines hardware that has a matching Hardware Id.
There are 2 options available in this situation.
- Work with the driver/hardware vendor to troubleshoot the compatibility issues.
- This would be the ideal solution, as it would correct the problem at its root. However, it may prove difficult and/or time consuming to work through multiple vendors to achieve this.
- Assign/Disable drivers in HII Manager.
- Because it may be impractical to work through the driver/hardware vendors to correct the compatibility issues, HII Manager allows for assigning or disabling specific drivers to hardware.