Wednesday, December 19, 2012

SCCM 2012 and drivers

there are lots of pages already written about handling device drivers with SCCM 2007 and SCCM 2012, and i'm not going to cover it here, at least not right now, neither i'm not going to discuss pro's and con's of "apply device drivers" versus "apply device driver package"
there are a few things i'd like to share about importing drivers into SCCM in general and SCCM 2012 in particular: 
the first thing -  as already stated in various blogs -
do not import just any driver you've came across.
By doing it, you'll create more problems for your self when you'd like to have at any particular moment of your SCCM experience.
to avoid driver related issues - do try to import  each driver separately by pointing to its inf file.

the other thing - recently i was working on CM12 implementation for a customer where both Windows XP and Windows 7 must be deployed. They've been extremely busy importing drivers for a number of HP and Lenovo desktop and laptop models and it was working, more and more devices were recognized... until suddenly WinXP clients started showing BSOD's or, in a better case, exclamation mark(s) in device manager, telling that the installed driver could not be loaded.  the same HW with Win7 on it couldn't finish mini setup throwing errors and going to reboot all over again.
When i came back and saw that situation i did suspect drivers being applied to the wrong OS. and yes, after some investigation my expectations were confirmed.
during the driver import SCCM wrongfully added both Windows 7 and Windows XP to the "Applies to" of some drivers, especially Intel graphics drivers were suffering from this issue.
Why is it happening to me? - because the driver inf file is written that way :(. SCCM reads the inf file and is trying to determine the supported OS types from there, and if the inf file is written ... the way it is written :)... SCCM can make wrong conclusions.
Solution - use "import driver from inf file" option and always check the list op applicable operating systems.

a  note - if you remove an operating system from applicability list of a driver, you may discover that it is still being applied :O - thats because your Management Point is playing games with you by sending cached policies to your test system. the fastest way to get rid of it is to delete that client from SCCM database and import it again.

if you want to try it at (home|customer|your ex work) - get latest Windows XP  Intel HD graphics drivers and Intel Pro 1000 NIC drivers and import them into your CM07 or CM12 database, than study the inf files and ... enjoy.