none
Drivers no longer installing properly RRS feed

  • Question

  • Hi,

    Recently my deployment has broken, with drivers not being installed properly, including network, which stops the whole deployment on first boot.  It had been working fine up until a week or two ago, and I'm not sure what changed (or maybe I changed something...)

    Anyways, I'm using selection profiles to choose the drivers for the particular hardware Windows 7 is being deployed to, and during the Task Sequence I can see the correct hardware being chosen and drivers supposedly being copied.  It then installs the OS and reboots, but when it logs into Windows for the first time the drivers are missing.

    This is broken across all of our different hardware models, so it's not just one set of drivers that broke as far as I can tell.

    Where can I look to figure out what is going wrong with the driver injection?

    Thank you.

    Monday, November 25, 2013 8:22 PM

Answers

  • To summarize your log regarding network driver not installed.

    ---------- SMSTS.LOG ----------
    Start executing an instruciton. Instruction name: Dell Optiplex 7010. Instruction pointer: 44
    Set a global environment variable _SMSTSCurrentActionName=Dell Optiplex 7010
    Set a global environment variable _SMSTSNextInstructionPointer=44
    Evaluating an AND expression
    Evaluating a WMI condition expression
    Namespace = root\cimv2 TSManager
    Query = Select * from Win32_ComputerSystem where Model = "Optiplex 7010"
    Expand a string: root\cimv2
    Expand a string: Select * from Win32_ComputerSystem where Model = "Optiplex 7010"
    The WMI condition expression is evaluated to be TRUE
    The AND expression is evaluated to be TRUE
    The condition for the group (Dell Optiplex 7010) is evaluated to be true
    The group (Dell Optiplex 7010) has been successfully started
    Sending status message . . .
    Executing in non SMS standalone mode. Ignoring send a task execution status message reques
    Updated security on object C:\_SMSTaskSequence.
    Set a global environment variable _SMSTSNextInstructionPointer=45
    Set a TS execution environment variable _SMSTSNextInstructionPointer=45
    Set a global environment variable _SMSTSInstructionStackString=22 39 44
    Set a TS execution environment variable _SMSTSInstructionStackString=22 39 44
    Save the current environment block
    Successfully save execution state and environment to local hard disk
    Start executing an instruciton. Instruction name: Inject Drivers for Optiplex 7010. Instruction pointer: 45
    Set a global environment variable _SMSTSCurrentActionName=Inject Drivers for Optiplex 7010
    Set a global environment variable _SMSTSNextInstructionPointer=45
    Set a local default variable DriverSelectionProfile
    Set a local default variable DriverInjectionMode
    Set a global environment variable _SMSTSLogPath=X:\windows\TEMP\SMSTSLog
    Expand a string: cscript.exe "%SCRIPTROOT%\ZTIDrivers.wsf"
    Expand a string:
    Command line for extension .exe is "%1" %*
    Set command line: cscript.exe "%SCRIPTROOT%\ZTIDrivers.wsf"
    Start executing the command line: cscript.exe "%SCRIPTROOT%\ZTIDrivers.wsf"
    !--------------------------------------------------------------------------------------------!
    Expand a string: WinPEandFullOS TSManager 2013-11-26 09:05:18 872 (0x0368)
    Executing command line: cscript.exe "%SCRIPTROOT%\ZTIDrivers.wsf"
    Process completed with exit code 0
    !--------------------------------------------------------------------------------------------!
    Successfully complete the action (Inject Drivers for Optiplex 7010) with the exit win32 code 0
    ---------- END SMSTS.LOG ----------

    Above log clearly indicate the logic in your task sequence is working.


    ---------- BDD.LOG ----------
    Found a driver for PCI\VEN_8086&DEV_1502&SUBSYS_052C1028: {c6c1c0bf-4b89-4d05-bb43-19626db42dd4} from \\sf-ghostsvr\mdt2012\Out-of-box Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9\E1c62x64.INF
    Validating connection to \\sf-ghostsvr\mdt2012\Out-of-box Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9
    Already connected to server sf-ghostsvr as that is where this script is running from.
    Copying drivers from "\\sf-ghostsvr\mdt2012\Out-of-box Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9" to "C:\Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9"
    About to run command: cmd.exe /c xcopy /seihycd "\\sf-ghostsvr\mdt2012\Out-of-box Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9" "C:\Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9" 1> NUL 2>NUL
    Command has been started (process ID 928)
    Return code from command = 0
    ---------- END BDD.LOG ----------

    MDT have copied the driver to C:\Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9


    ---------- SetupAPI.dev.txt ----------
    >>>  [Setup online Device Install (Hardware initiated) - pci\ven_8086&dev_1502&subsys_052c1028&rev_04\3&11583659&0&c8]
    >>>  Section start 2013/11/26 08:20:03.736
         ump: Creating Install Process: DrvInst.exe 08:20:03.736
         ndv: Retrieving device info...
         ndv: Setting device parameters...
         ndv: Searching Driver Store and Device Path...
         dvi: {Build Driver List} 08:20:03.736
         dvi:      Searching for hardware ID(s):
         dvi:           pci\ven_8086&dev_1502&subsys_052c1028&rev_04
         dvi:           pci\ven_8086&dev_1502&subsys_052c1028
         dvi:           pci\ven_8086&dev_1502&cc_020000
         dvi:           pci\ven_8086&dev_1502&cc_0200
         dvi:      Searching for compatible ID(s):
         dvi:           pci\ven_8086&dev_1502&rev_04
         dvi:           pci\ven_8086&dev_1502
         dvi:           pci\ven_8086&cc_020000
         dvi:           pci\ven_8086&cc_0200
         dvi:           pci\ven_8086
         dvi:           pci\cc_020000
         dvi:           pci\cc_0200
         cpy:      Policy is set to make all digital signatures equal.
         dvi:      Enumerating INFs from path list 'C:\windows\inf'
         inf:      Searched 0 potential matches in published INF directory
         inf:      Searched 36 INFs in directory: 'C:\windows\inf'
         dvi: {Build Driver List - exit(0x00000000)} 08:20:03.782
         ndv: Selecting best match from Driver Store (including Device Path)...
         dvi: {DIF_SELECTBESTCOMPATDRV} 08:20:03.782
         dvi:      No class installer for 'Ethernet Controller'
         dvi:      No CoInstallers found
         dvi:      Default installer: Enter 08:20:03.782
         dvi:           {Select Best Driver}
    !    dvi:                Selecting driver failed(0xe0000228)
         dvi:           {Select Best Driver - exit(0xe0000228)}
    !    dvi:      Default installer: failed!
    !    dvi:      Error 0xe0000228: There are no compatible drivers for this device.
         dvi: {DIF_SELECTBESTCOMPATDRV - exit(0xe0000228)} 08:20:03.782
         ndv: Waiting for previous device install to complete. 08:20:03.860
         ndv: {Core Device Install} 08:20:06.372
    !    ndv:      Installing NULL driver!
         dvi:      Set selected driver complete.
         dvi:      {DIF_ALLOW_INSTALL} 08:20:06.419
         dvi:           No class installer for 'Ethernet Controller'
         dvi:           Default installer: Enter 08:20:06.419
         dvi:           Default installer: Exit
         dvi:      {DIF_ALLOW_INSTALL - exit(0xe000020e)} 08:20:06.419
         dvi:      {DIF_INSTALLDEVICE} 08:20:06.419
         dvi:           No class installer for 'Ethernet Controller'
         dvi:           Default installer: Enter 08:20:06.419
    !    dvi:                Installing NULL driver!
         dvi:                Writing common driver property settings.
         dvi:                {Restarting Devices} 08:20:06.434
         dvi:                     Restart: PCI\VEN_8086&DEV_1502&SUBSYS_052C1028&REV_04\3&11583659&0&C8
         dvi:                     Restart complete.
         dvi:                {Restarting Devices exit} 08:20:06.481
         dvi:           Default installer: Exit
         dvi:      {DIF_INSTALLDEVICE - exit(0x00000000)} 08:20:06.481
         dvi:      {DIF_NEWDEVICEWIZARD_FINISHINSTALL} 08:20:06.481
         dvi:           No class installer for 'Ethernet Controller'
         dvi:           Default installer: Enter 08:20:06.481
         dvi:           Default installer: Exit
         dvi:      {DIF_NEWDEVICEWIZARD_FINISHINSTALL - exit(0xe000020e)} 08:20:06.481
         ndv:      Device install status=0x00000000
         ndv:      Performing device install final cleanup...
         ndv: {Core Device Install - exit(0x00000000)} 08:20:06.481
         ump: Server install process exited with code 0x00000000 08:20:06.481
    <<<  Section end 2013/11/26 08:20:06.481
    <<<  [Exit status: SUCCESS]

    ---------- END SetupAPI.dev.txt ----------

    Here Windows did not find any driver for your network card.

    This could indicate that Windows didn't find your driver. As you said before; Check driverpaths in unattended.xml. It might also be that you're using an old driver. On Dells homepage latest driver is 16.8.0.0. Your driver is 11.15.12.0.
    Wednesday, November 27, 2013 9:23 AM

All replies

  • To not ping-pong replies in this thread we need your bdd.log file. Can you upload it some where and post link here?

    Thanks.

    Tuesday, November 26, 2013 7:53 AM
  • Hello,

    I uploaded my BDD.txt here:

    https://www.dropbox.com/s/rkwo6dolzexfnvf/BDD.txt

    Thanks

    EDIT: After searching for similar problems, here are a few other logs I saw referenced in other posts that might come in handy:

    CBS.log: https://www.dropbox.com/s/vlddodtxzidvnam/CBS.txt

    setupapi.dev.log: https://www.dropbox.com/s/zhg8n9p398skheb/setupapi.dev.txt

    smsts.log: https://www.dropbox.com/s/sf0js9d1b57tbh3/smsts.txt

    ZTIDrivers.log: https://www.dropbox.com/s/7vk7hfiqax066x5/ZTIDrivers.txt


    • Edited by fishb84 Tuesday, November 26, 2013 11:02 PM
    Tuesday, November 26, 2013 7:59 PM
  • Note, that selection profiles can be a good practice for drivers. *however* you must explicitly define which selection profile to use for your WinPE boot image. Sometimes that means creating a separate folder to import WinPE drivers into.

    don't forget to check the x:\windows\system32\wpeinit.log file to see what drivers WinPE is trying to load for your networking device, and which ones it found.


    Keith Garner - keithga.wordpress.com

    Wednesday, November 27, 2013 4:47 AM
    Moderator
  • Hi Keith,

    I do have an explicit WinPE selection profile for drivers, but I don't believe that the WinPE drivers are the problem.  In BDD.log it is showing the correct Network drivers (E1c62x64.INF is one that I verified once I manually installed it upon failure) being injected for that specific machine, but once the final image has been applied and the machine reboots into it's "first time setup", setupapi.dev.log tells me that it's not finding the drivers that it has injected.

    Since I wrote that first paragraph, I did some further digging.  I haven't had a chance to test yet, but it looks like I removed the DriverPaths from OfflineServicing from the unattend file right around the time it broke.  I'll report back in the morning on this...


    • Edited by fishb84 Wednesday, November 27, 2013 8:00 AM
    Wednesday, November 27, 2013 7:46 AM
  • To summarize your log regarding network driver not installed.

    ---------- SMSTS.LOG ----------
    Start executing an instruciton. Instruction name: Dell Optiplex 7010. Instruction pointer: 44
    Set a global environment variable _SMSTSCurrentActionName=Dell Optiplex 7010
    Set a global environment variable _SMSTSNextInstructionPointer=44
    Evaluating an AND expression
    Evaluating a WMI condition expression
    Namespace = root\cimv2 TSManager
    Query = Select * from Win32_ComputerSystem where Model = "Optiplex 7010"
    Expand a string: root\cimv2
    Expand a string: Select * from Win32_ComputerSystem where Model = "Optiplex 7010"
    The WMI condition expression is evaluated to be TRUE
    The AND expression is evaluated to be TRUE
    The condition for the group (Dell Optiplex 7010) is evaluated to be true
    The group (Dell Optiplex 7010) has been successfully started
    Sending status message . . .
    Executing in non SMS standalone mode. Ignoring send a task execution status message reques
    Updated security on object C:\_SMSTaskSequence.
    Set a global environment variable _SMSTSNextInstructionPointer=45
    Set a TS execution environment variable _SMSTSNextInstructionPointer=45
    Set a global environment variable _SMSTSInstructionStackString=22 39 44
    Set a TS execution environment variable _SMSTSInstructionStackString=22 39 44
    Save the current environment block
    Successfully save execution state and environment to local hard disk
    Start executing an instruciton. Instruction name: Inject Drivers for Optiplex 7010. Instruction pointer: 45
    Set a global environment variable _SMSTSCurrentActionName=Inject Drivers for Optiplex 7010
    Set a global environment variable _SMSTSNextInstructionPointer=45
    Set a local default variable DriverSelectionProfile
    Set a local default variable DriverInjectionMode
    Set a global environment variable _SMSTSLogPath=X:\windows\TEMP\SMSTSLog
    Expand a string: cscript.exe "%SCRIPTROOT%\ZTIDrivers.wsf"
    Expand a string:
    Command line for extension .exe is "%1" %*
    Set command line: cscript.exe "%SCRIPTROOT%\ZTIDrivers.wsf"
    Start executing the command line: cscript.exe "%SCRIPTROOT%\ZTIDrivers.wsf"
    !--------------------------------------------------------------------------------------------!
    Expand a string: WinPEandFullOS TSManager 2013-11-26 09:05:18 872 (0x0368)
    Executing command line: cscript.exe "%SCRIPTROOT%\ZTIDrivers.wsf"
    Process completed with exit code 0
    !--------------------------------------------------------------------------------------------!
    Successfully complete the action (Inject Drivers for Optiplex 7010) with the exit win32 code 0
    ---------- END SMSTS.LOG ----------

    Above log clearly indicate the logic in your task sequence is working.


    ---------- BDD.LOG ----------
    Found a driver for PCI\VEN_8086&DEV_1502&SUBSYS_052C1028: {c6c1c0bf-4b89-4d05-bb43-19626db42dd4} from \\sf-ghostsvr\mdt2012\Out-of-box Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9\E1c62x64.INF
    Validating connection to \\sf-ghostsvr\mdt2012\Out-of-box Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9
    Already connected to server sf-ghostsvr as that is where this script is running from.
    Copying drivers from "\\sf-ghostsvr\mdt2012\Out-of-box Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9" to "C:\Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9"
    About to run command: cmd.exe /c xcopy /seihycd "\\sf-ghostsvr\mdt2012\Out-of-box Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9" "C:\Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9" 1> NUL 2>NUL
    Command has been started (process ID 928)
    Return code from command = 0
    ---------- END BDD.LOG ----------

    MDT have copied the driver to C:\Drivers\Net\E1c62x64_11.15.12.0_C060E693D844BD873443C4C9003CD681386B6CA9


    ---------- SetupAPI.dev.txt ----------
    >>>  [Setup online Device Install (Hardware initiated) - pci\ven_8086&dev_1502&subsys_052c1028&rev_04\3&11583659&0&c8]
    >>>  Section start 2013/11/26 08:20:03.736
         ump: Creating Install Process: DrvInst.exe 08:20:03.736
         ndv: Retrieving device info...
         ndv: Setting device parameters...
         ndv: Searching Driver Store and Device Path...
         dvi: {Build Driver List} 08:20:03.736
         dvi:      Searching for hardware ID(s):
         dvi:           pci\ven_8086&dev_1502&subsys_052c1028&rev_04
         dvi:           pci\ven_8086&dev_1502&subsys_052c1028
         dvi:           pci\ven_8086&dev_1502&cc_020000
         dvi:           pci\ven_8086&dev_1502&cc_0200
         dvi:      Searching for compatible ID(s):
         dvi:           pci\ven_8086&dev_1502&rev_04
         dvi:           pci\ven_8086&dev_1502
         dvi:           pci\ven_8086&cc_020000
         dvi:           pci\ven_8086&cc_0200
         dvi:           pci\ven_8086
         dvi:           pci\cc_020000
         dvi:           pci\cc_0200
         cpy:      Policy is set to make all digital signatures equal.
         dvi:      Enumerating INFs from path list 'C:\windows\inf'
         inf:      Searched 0 potential matches in published INF directory
         inf:      Searched 36 INFs in directory: 'C:\windows\inf'
         dvi: {Build Driver List - exit(0x00000000)} 08:20:03.782
         ndv: Selecting best match from Driver Store (including Device Path)...
         dvi: {DIF_SELECTBESTCOMPATDRV} 08:20:03.782
         dvi:      No class installer for 'Ethernet Controller'
         dvi:      No CoInstallers found
         dvi:      Default installer: Enter 08:20:03.782
         dvi:           {Select Best Driver}
    !    dvi:                Selecting driver failed(0xe0000228)
         dvi:           {Select Best Driver - exit(0xe0000228)}
    !    dvi:      Default installer: failed!
    !    dvi:      Error 0xe0000228: There are no compatible drivers for this device.
         dvi: {DIF_SELECTBESTCOMPATDRV - exit(0xe0000228)} 08:20:03.782
         ndv: Waiting for previous device install to complete. 08:20:03.860
         ndv: {Core Device Install} 08:20:06.372
    !    ndv:      Installing NULL driver!
         dvi:      Set selected driver complete.
         dvi:      {DIF_ALLOW_INSTALL} 08:20:06.419
         dvi:           No class installer for 'Ethernet Controller'
         dvi:           Default installer: Enter 08:20:06.419
         dvi:           Default installer: Exit
         dvi:      {DIF_ALLOW_INSTALL - exit(0xe000020e)} 08:20:06.419
         dvi:      {DIF_INSTALLDEVICE} 08:20:06.419
         dvi:           No class installer for 'Ethernet Controller'
         dvi:           Default installer: Enter 08:20:06.419
    !    dvi:                Installing NULL driver!
         dvi:                Writing common driver property settings.
         dvi:                {Restarting Devices} 08:20:06.434
         dvi:                     Restart: PCI\VEN_8086&DEV_1502&SUBSYS_052C1028&REV_04\3&11583659&0&C8
         dvi:                     Restart complete.
         dvi:                {Restarting Devices exit} 08:20:06.481
         dvi:           Default installer: Exit
         dvi:      {DIF_INSTALLDEVICE - exit(0x00000000)} 08:20:06.481
         dvi:      {DIF_NEWDEVICEWIZARD_FINISHINSTALL} 08:20:06.481
         dvi:           No class installer for 'Ethernet Controller'
         dvi:           Default installer: Enter 08:20:06.481
         dvi:           Default installer: Exit
         dvi:      {DIF_NEWDEVICEWIZARD_FINISHINSTALL - exit(0xe000020e)} 08:20:06.481
         ndv:      Device install status=0x00000000
         ndv:      Performing device install final cleanup...
         ndv: {Core Device Install - exit(0x00000000)} 08:20:06.481
         ump: Server install process exited with code 0x00000000 08:20:06.481
    <<<  Section end 2013/11/26 08:20:06.481
    <<<  [Exit status: SUCCESS]

    ---------- END SetupAPI.dev.txt ----------

    Here Windows did not find any driver for your network card.

    This could indicate that Windows didn't find your driver. As you said before; Check driverpaths in unattended.xml. It might also be that you're using an old driver. On Dells homepage latest driver is 16.8.0.0. Your driver is 11.15.12.0.
    Wednesday, November 27, 2013 9:23 AM
  • Yep, it was the driverpaths missing in the unattend.xml file that caused it to break.  I was researching this after the fact and can't find anything about drivers and selection profiles referencing the need for it though.  Makes me wonder if I'm doing something strange to where it's needed.  Oh well.  Thanks all.
    Thursday, November 28, 2013 5:02 AM