Troubleshooting NIC Drivers in WinPE for SCCM 2012

Hi,

This is one of the problems that every SCCM (System Center Configuration Manager) admin will come across. You’re trying to deploy an image to a PC from PXE booting, and you can’t get the list of task sequences to show up. The PC will reboot, and you’ll wonder what happened.

There’s several different ways to troubleshoot this, but it’s most likely network card drivers required in your Boot Image in SCCM. Where do you start on this though? There’s a couple of things to enable/set to make it a little easier.

First, enable command support on both your x86 and x64 boot images (Software Library > Overview > Operating Systems > Boot Images). This will allow you to press F8 when running WinPE from a task sequence, which brings up a command prompt to let you check things like log files.

The other setting I recommend is making custom Windows PE backgrounds (same screen as the command support option). Have one for your 32 bit Boot Image, and a different one for your 64 bit. This means when something fails, you can tell at a glance which boot image was used and troubleshooting accordingly.

boot image

Back to working out your NIC issue. If the task sequence is bombing out early on, press F8 to get your command prompt, then use the command ‘ipconfig’ If you see hardly any information, including the lack of an IP address then it’s a strong indicator that the correct NIC driver isn’t loaded. I’m going to guess you’ve checked the network cable is plugged in :)

To work out what NIC driver is required can be tricky. If your hardware came with an OS already loaded, or a recovery disk, you can load that up and from Windows see what driver is associated with the Network card. Here’s a good step by step guide on how to add the drivers: http://gerryhampsoncm.blogspot.com.au/2013/02/sccm-2012-sp1-step-by-step-guide-part-9.html

Generally (but not always) the driver you see in the standard OS should work in the WinPE environment too. You will probably need both 32 and 64 bit versions injected into the relevant boot images.

There’s also the log files to read, which can be rather messy when you first start out. From the command line window, run the command ‘cmtrace x:\windows\temp\smstslog\smsts.log’ and have a read – that’s your best bet to find out what’s causing your task sequence to fail. Do a quick google of the error code number you see to get an idea on what you’re dealing with.

Here’s an incredibly long breakdown of SCCM 2012 log files if you’re that way inclined: http://technet.microsoft.com/en-us/library/hh427342.aspx

Sometimes, this won’t even work which was the case with a new HP 800 G1 SFF I was working on. As a last resort, I knew the NIC was Intel I217, so I grabbed the latest driver pack from Intel themselves:
https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=18713&lang=eng&OSVersion=Windows%207%20%20*&DownloadType=Drivers

After downloading an extracting all these drivers, I attempted the brute force method. Following these instructions: http://www.niallbrady.com/2011/08/31/missing-nic-driver-in-winpe-boot-image-no-problem/ I loaded the lot onto a USB drive, and just started loading driver after driver with the command ‘drvload filename.INF’ and then checking if the network was there using the ‘ipconfig’ command. About 10 drivers in, one of them took longer to load (e1d63x64.inf) and I had an IP address! I then loaded both the 32 and 64 bit versions into the boot images, and my task sequence to deploy Windows 7 was working.

If you’re not even getting as far as WinPE launching, then you’ve got a completely different issue, so start researching!

24 thoughts on “Troubleshooting NIC Drivers in WinPE for SCCM 2012

  1. Hi Adam,
    nice article! Just one addition:
    You usually wouldn’t have to go to google/bing/anyothersearchengine to look for your error code, if you already have CMTrace.
    If you press Ctrl+L or look under the Tools Menu, you’ve got an “Error Lookup”. Just paste nearly any (windows) error code into there.

    1. Hi David,
      Great tip – I have used that one before, sometimes it gives an amazingly helpful error, and other times not so helpful :) Definitely a quick way to see what’s going on though, thanks for the feedback!

  2. Hi Adam

    Have you had any success in booting into a UEFI PXE environment from SCCM 2012 SP1? we have a bunch of Samsung X700T devices that support PXE booting, but it’s UEFI PXE. Apparently WDS can do it directly, but not SCCM 2012?

    Wondering if you have come across this problem and have a solution as we are seeing more of the hybrid tablets (that don’t have a LAN port, only a USB to LAN port) only support UEFI PXE boot.

    Regards,

    Adam.

    1. Yes we’ve had similar issues with using USB only wired network devices. With the Microsoft Surface for example, you HAVE to use the official ethernet adapter because the UEFI only knows about the drivers for that, and no other ones. So firstly make sure you’re using one that’s supported. Then, you need to make sure the drivers for the USB adapter are in your boot image, just like any other network adapter. Of course you can fail back and make a bootable USB if you get stuck but that’s not a very good long term solution.

      If you’re still stuck, and you’ve got a Microsoft Technical Account Manager, try and reach out to them. They’ve showcased Windows running on the Samsung devices so might be able to put you in touch with someone.

  3. I’ve also been told by @nickstugr that the Dell Optiplex 9020 has the same NIC as the HP 800, so my example may come up a bit more often. There seems to be a few people running into an issue where they can’t import the driver into their boot image, so I suggest the following steps:

    Remove any other occurance of the same driver from the boot image
    Delete all drivers from the boot image and start again
    Use a fresh boot image and add the drivers one by one
    Check your source for each driver is still available
    Delete any driver packages

  4. Hi Adam,

    Great read! I was wondering, is there a way via command line to know what NIC driver is loaded? I am running into an issue where my OS download should take less than 10 minutes to load, but instead, runs for more than 60 minutes.

    I am pretty sure that my problem is because PE is loading the incorrect driver. I’d like to know which one it is to see if I can safely remove it from my boot image.

    Any ideas?

      1. Hello Adam,

        Thanks for the quick reply. I just realised while reading over your post once more that it was for SCCM 2012. My infra, for now, is still on 2007.

        I’m pretty sure my problem is driver related. I have two test machines: a Toshiba R830 and a Toshiba Z30-A. The first model can download the full 8gb WIM file in under 10 minutes which to me is normal.

        The other one, as I said, takes well over 45 minutes.

        I’m pretty sure now that my driver is good because when I’m prompted to choose my Task Sequence in Windows PE, I can open up a command prompt, ipconfig /all and the driver that shows up on the Description field shows: Intel(R) Ethernet Connection I218-LM which is what I want.

        However, the performance on it is quite…poor as I stated above.

        Which makes me think….I added this driver a few months ago when we purchased the HP EliteDesk G1 SFF which also uses the same driver. I’ll try imaging that model and see if I get the same slow performance.

        Maybe the driver for that NIC isn’t optimal.

        I’ll post back my findings!

      2. Ah I see, sorry for making that assumption. I can’t find online the chipset the NIC is using for that laptop, but agree you’ve probably got the right driver. I’d suggest trying a few different versions of the driver – get one from Intel and another from Toshiba direct in case either of them make a difference.

        Just be careful you use the right driver in the WinPE image as it can get rather confusing juggling them around as they’ll all show the same name!

        Good luck and waiting to hear how you go.

  5. Heya!

    Ok, well I found out what my issue was, and I thought I’d post back for the benefit of other people.

    The problem? It seems that my WinPE boot image did not have the SATA controller drivers up to date.

    It’s funny because I really was under the impression that if my PE image didn’t have the right drivers installed, that it would simply NOT see my drive. Instead, it sees it, but was degraded. I injected the Sata controller drivers, and BOOM, my 8gb file came in under 2 minutes on my laptop.

    Interesting, no?

    1. Interesting yes! :) I would have guessed the same, it’s either broken or works fine. That’s a very good tip to know, thanks for sharing! And glad you worked it out.

  6. Hi We purchased 1000 HP EliteDesk G1 SFF and were trying to upload the winpe driver into Altiris Deployemnt solution 6.9 SP5 MR1 and were experiencing endless problems similar to those reported on here after investigating the issue I found thatit was the version of winpe that wasnt compatible and we had to upgrade winpe to version 4 using the latest ADK after doing this I was able to upload the drivers provided by HP and all worked perfectly another observation is that the generic windows 7 drivers dont work with this nic so you will also need to slipstream this into the install.wim using DISM.
    I understand this may not be applicale to some people but I thought Id share my experience so at the very least it may help you figure out a solution to your specific problem.
    Good Luck

    1. Hi Zaheer, that’s great information. Thanks for taking the time to share, I’m sure it well help someone in a similar situation.

  7. Hello,
    We are experiencing the same issues with our hardware Dell Optiplex 9020 and Dell Latitude 6540, both having NIC cards Intel I217 LM. The windows PE we are using is 64 bit version 2.0. We are using Symantec Ghost boot wizard to add the drivers in the Winpe image but it does not work. I have already tried all the methods mentioned in this thread to solve this problem and also other methods on the internet.

    By the way, This is another helpful link
    http://www.niallbrady.com/2011/08/31/missing-nic-driver-in-winpe-boot-image-no-problem/

    I have tried using this method also. The drivers are loaded successfully but ipconfig does not show any ip address.

    Please help if you have any other solution available.
    Thanks

  8. Adam – what driver did you use for the EliteDesk 800 in the end. I’m having the exact same problem. I’ve loaded the Intel I217-LM from HP but no dice (tried also the 64-bit version off the Intel site but still not working). Confused because that is the network card being used – I’ve checked in device manager

    1. I’m on a 800 right now. The driver is dated 13/03/2014 and version 12.11.77.1.

      If you can’t work it out, just get copies of every one you can find and try my brute force method. If you find the right driver but SCCM doesn’t like it, delete all versions of the Intel i217-LM from SCCM drivers and start again.

  9. To solve about NIC I do:

    Press F8 after Task Sequence Crash, see the Log of course. Before format the is in x:\windows\temp\sms…..log. After format in c:\windows\temp\sms….log. Try ipconfig command, if no ip, is the driver probably, try to figure out whats the driver you need: How? Type wbemtest, Connect, Query and type the query: “Select * from Win32_PNPEntity where description LIKE ‘%ether%’” or ‘%network%’, See the ‘Caption’ Answers!. After knows the drivers(You saw in Caption option), just download and load it, type drvload driver.inf to load(be careful, sometime you need to apply x86 and sometimes x64, I lost one entire day on that lol, if works: type ipconfig and voilá!!! The IP shows up! You can do the same for resolve or troubleshooting about SSD or SAS Driver on Winpe in SCCM, you just try to load the Driver, if works, just type diskpart and after type: “list disk” and you disk will shows up!
    After you find the correct drive for network or Disk, just Import into SCCM, insert into Boot Image Add option and Update the DP.

    Have nice job!

    1. Sorry, the correct select is: Select * from Win32_PNPEntity where description LIKE ‘%ether%’ or description like ‘%network%’

  10. What’s funny is I struggled with finding compatible drivers that would work in my environment, which is about 10 different models from thin clients to various Dells.
    What I found was that the driver for “Integrated Realtek RTL8151GH-CG 10/100/1000 Ethernet” works for ALL my laptops in the WinPE environment. It will get you through the task sequence up to the point you inject your own drivers and at that point you’re good to go.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.