TCP/IP Conflict with Ghosted NIC: Legacy to Synthetic NIC

Plug Ethernet Cat-5 wired high speed broadbandAs far back as Windows 95 there has been the problem of more than one NIC with the same IP address. Simply, you cannot should not do this. Most often this is seen when a computer has a static IP assigned to a NIC, then that NIC is removed (physical or virtual) and replaced with another. You could run into this situation now if you upgrade your Legacy NICs in Hyper-V (SCVMM) with Synthetic ones… providing greater throughput and less overhead on the host server. When you make this replacement and enter the same IP address as the old NIC had you run into one of the errors below.

You can click ‘No’ and continue… and you will have problems. Or, you can somehow get rid of the old NIC that no longer shows up but is somehow causing an IP conflict. You don’t see the old NIC but it is conflicting with your new one?! You have a ghosted NIC.

I mentioned that this type of issue has been around a while. So has the solution. I have used the article below since at least 1998. It has been updated recently with a ‘Fix it’ button, but the content and solution are the same. Click the linked title below.

KB 269155: Error message when you try to set an IP address on a network adapter

Error message when you try to set an IP address on a network adapter

There are two methods. The first is worth a try. It may work. The second, Method 2, is the one I have always used because it always works. Caution: you really can rip out a component you need. Luckily, performing this operation is easy, and any real NIC (or virtual) you remove will be added back on next reboot if still installed. The new ‘Fix it’ on the page I have never tried. Tell me your experience in the comments below.

Using Method 2

First, you need ‘devcon.exe.’ They quit shipping this in the product so you will need to download it from the link below. You may get a message about running it in Windows 2008 R2… ignore it.

Windows Server 2003 Resource Kit Tools

To make this correction on a virtual machine you need to tweak the syntax just a bit.

With a physical machine you would type:

devcon -r remove "@PCI\VEN_10B7&DEV_9200&SUBSYS_00D81028&REV_78\4&19FD8D60&0&58F0"

With a virtual machine change it to something like this:

devcon -r remove "@VMBUS\…”

Here’s the step by step…

Change to the ‘C:\Program Files\Support Tools>’ or wherever ‘devcon.exe’ lives.

Type ‘devcon findall =net’ to list all NICs (yes, there is a space before the ‘=’)

Identify from the list of NICs the virtual ones. Match the name of the NIC to what used to show up in Network Settings.

Add an <‘@’> sign in front of the NIC information and enclose the who thing in quotes.

Hit Enter and remove the NIC. You will see that the device is removed.

Reboot and assign your new NIC the IP address the old one had. Easy.