Assign Drivers to Computer Makes and Models March 11, 2010
Posted by keithga in Uncategorized.7 comments
Speaking of Make and Models… one of the things I’ve been experimenting with lately is mixing driver management styles (grouping by Make+Model vs PnPID).
Make/Model Match
Historically, if you had different hardware platforms, and you wanted to install drivers on each type, you would create separate packages for each Make and Model. Then you could query the Make and Model information from the BIOS to determine which package to install.
For example here are four Make+Model examples:
| Make | Model |
| Dell | D630 |
| Dell | D830 |
| HP | DC7800 |
| HP | DC7900 |
The disadvantage of this method is that you have to update the driver packages when new Models come along, and it’s also possible that you might keep multiple instances of the same driver package across many Make and Model repositories.
PnP-ID Match
With MDT, ZTIDrivers.wsf was designed to do things in a different manner. Instead of downloading drivers and grouping them based on Make/Model, you would import the driver directly into MDT, MDT would parse the driver package, and MDT would install the driver package on the machine if the Plug and Play ID matched.
For example, Windows might search for Plug and Play ID’s that look like:
PCI\VEN_1099&DEV_0242&SUBSYS_02429005&REV_01 PCI\VEN_1099&DEV_0242&SUBSYS_02429005 PCI\VEN_1099&DEV_0242&CC_010401 PCI\VEN_1099&DEV_0242&CC_0104 PCI\VEN_1099&DEV_0242&REV_01 PCI\VEN_1099&DEV_0242 PCI\VEN_1099&CC_010401 PCI\VEN_1099&CC_0104 PCI\VEN_1099 PCI\CC_010401 PCI\CC_0104
Generally this system works better than copying based on Make and Model except for a few points:
-
You must import the drivers in a correct fashion so MDT can parse the INF files, and so each driver package is a seperate entry (more on importing drivers later…)
-
Some PC Makers only certify (support?) a subset of driver versions, so it is possible that MDT may give Windows the latest non-certified version of a driver.
-
There also may be compatibility problems with specific drivers. When placed on some other platforms. (However IMHO, if a driver *can* be installed on a machine, but crashes the machine, then that is a bug of the driver).
Hybrid Make-Model + PnPID Match Solution
For my MDT environments, I don’t want to place all drivers into Make/Model groupings by default, since I loose the advantages of ZTIDrivers.wsf where it copy by PnPID. For example, I have the drivers for my Dell D620 integrated now, but it’s good to know that I probably have good coverage for any D820′s out there since they share mostly the same components.
I’ve seen some MDT implementations that totally throw away the ZTIDrivers.wsf PnPID style in favor of maintaining a manual mapping of drivers to Make+Model. However, I do concede, that there are some drivers out there that “… do not play nicely with others…”, and need to be quarantined somehow, and according to a make+model works well.
Create a Folder Structure in MDT Workbench:
| Common
Audio Networking Intel Marvel Storage Video Dell Common Audio Networking Storage D620 Hewlett-Packard Common DC7800 Audio Networking Storage WinPE |
Then in your CustomSettings.ini file, you can add the following:
DriverGroups001=Common DriverGroups002=%Make%\Common DriverGroups003=%Make%\%Model% DriverSelectionProfile=Nothing
(Note that DriverSelectionProfile=nothing is required if using DriverGroups).
%Make% and %Model% will be auto-expanded in the customsettings.ini file with the Make and Model values from the system BIOS.
- If you have a driver that will work for all Makes and Models, then place it under \Common.
- If you have a driver that is only supported for a single Manufacturer, then place it under \%Make%\Common.
- If you have a driver that only works on a specific Make and Model, then place it under \%Make%\%Model%.
This should allow you to use generic drivers by default, moving drivers to specific makes and models when required.
Keith
Keith Garner is a Deployment Specialist with Xtreme Consulting Group