Win 10 build 10130 Hyper-v adapter issue

I've been using the Win10 insider builds since the first release, and have generally been surprised by how stable it has been for everyday use. I use Hyper-V extensively on my main Workstation, and was greeted with a lovely problem when I arrived at work this morning, 10130 had been pushed to the slow ring, and my workstation had happily upgraded over the weekend, but now I had no network connection.

The Culprit###

Digging through the event logs I found the following suspicious entry

hypervError

This stuck out to me, as it is the wrong network card. I have 2 LAN cards in my workstation, and the Hyper-v switch should be bound to the 1st (as it's actually plugged in!) however for some reason during the upgrade it appears to have been bound to the 2nd NIC, which is not plugged in. Even so that was not the only issue, as I was unable to edit any part of the Hyper-v switch configuration without receiving a flurry of errors.

The Fix!###

In order to resolve this issue, you will need to download the Hyper-V Network VSP Bind utility from technet. This tool allows you to forcefully remove all hyper-v network bindings.

First I ran the straight exe to get a list of my bindings.

PS C:\temp\nvspbind> .\nvspbind.exe

Hyper-V Network VSP Bind Application 6.1.7725.0.
Copyright (c) Microsoft Corporation. All rights reserved.


Adapters:

{}
"pci\ven_8086&dev_1533"
"Intel(R) I210 Gigabit Network Connection"
"Ethernet":
   disabled: ms_wfplwf_upper  (WFP 802.3 MAC Layer LightWeight Filter)
   disabled: ms_pppoe         (Point to Point Protocol Over Ethernet)
   disabled: ms_msclient      (Client for Microsoft Networks)
   enabled:  ms_tcpip         (Internet Protocol Version 4 (TCP/IPv4))
   disabled: ms_rdma_ndk      (Microsoft RDMA - NDK)
   disabled: ms_implat        (Microsoft Network Adapter Multiplexor Protocol)
   disabled: ms_lldp          (Microsoft LLDP Protocol Driver)
   disabled: ms_ndisuio       (NDIS Usermode I/O Protocol)
   enabled:  ms_tcpip6        (Internet Protocol Version 6 (TCP/IPv6))
   disabled: ms_rspndr        (Link-Layer Topology Discovery Responder)
   disabled: vms_pp           (Hyper-V Extensible Virtual Switch)
   enabled:  ms_lltdio        (Link-Layer Topology Discovery Mapper I/O Driver)
   disabled: ms_netbios       (NetBIOS Interface)
   disabled: ms_server        (File and Printer Sharing for Microsoft Networks)
   enabled:  ms_wfplwf_lower  (WFP Native MAC Layer LightWeight Filter)
   disabled: ms_netbt         (WINS Client(TCP/IP) Protocol)
   disabled: ms_ndiscap       (Microsoft NDIS Capture)
   disabled: ms_pacer         (QoS Packet Scheduler)

{}
"nonpnpnetworkinterface\{}"
"Microsoft Hyper-V Network Adapter"
"[g7JoS][ !]":
   enabled:  ms_netbios       (NetBIOS Interface)
   enabled:  ms_lldp          (Microsoft LLDP Protocol Driver)
   enabled:  ms_rdma_ndk      (Microsoft RDMA - NDK)
   enabled:  ms_tcpip         (Internet Protocol Version 4 (TCP/IPv4))
   disabled: ms_implat        (Microsoft Network Adapter Multiplexor Protocol)
   enabled:  ms_wfplwf_lower  (WFP Native MAC Layer LightWeight Filter)
   enabled:  ms_server        (File and Printer Sharing for Microsoft Networks)
   enabled:  ms_rspndr        (Link-Layer Topology Discovery Responder)
   enabled:  ms_tcpip6        (Internet Protocol Version 6 (TCP/IPv6))
   enabled:  ms_pppoe         (Point to Point Protocol Over Ethernet)
   enabled:  ms_ndisuio       (NDIS Usermode I/O Protocol)
   enabled:  ms_lltdio        (Link-Layer Topology Discovery Mapper I/O Driver)
   disabled: vms_pp           (Hyper-V Extensible Virtual Switch)
   enabled:  ms_msclient      (Client for Microsoft Networks)
   enabled:  ms_ndiscap       (Microsoft NDIS Capture)
   enabled:  ms_netbt         (WINS Client(TCP/IP) Protocol)
   enabled:  ms_pacer         (QoS Packet Scheduler)
   enabled:  ms_wfplwf_upper  (WFP 802.3 MAC Layer LightWeight Filter)

{}
"nonpnpnetworkinterface\{}"
"Microsoft Hyper-V Network Adapter"
"[g7JoS][ !]":
   enabled:  ms_tcpip         (Internet Protocol Version 4 (TCP/IPv4))
   enabled:  ms_lltdio        (Link-Layer Topology Discovery Mapper I/O Driver)
   disabled: ms_implat        (Microsoft Network Adapter Multiplexor Protocol)
   enabled:  ms_msclient      (Client for Microsoft Networks)
   enabled:  ms_server        (File and Printer Sharing for Microsoft Networks)
   enabled:  ms_rdma_ndk      (Microsoft RDMA - NDK)
   enabled:  ms_lldp          (Microsoft LLDP Protocol Driver)
   disabled: vms_pp           (Hyper-V Extensible Virtual Switch)
   enabled:  ms_pppoe         (Point to Point Protocol Over Ethernet)
   enabled:  ms_tcpip6        (Internet Protocol Version 6 (TCP/IPv6))
   enabled:  ms_rspndr        (Link-Layer Topology Discovery Responder)
   enabled:  ms_netbios       (NetBIOS Interface)
   enabled:  ms_ndisuio       (NDIS Usermode I/O Protocol)
   enabled:  ms_netbt         (WINS Client(TCP/IP) Protocol)
   enabled:  ms_wfplwf_upper  (WFP 802.3 MAC Layer LightWeight Filter)
   enabled:  ms_wfplwf_lower  (WFP Native MAC Layer LightWeight Filter)
   enabled:  ms_ndiscap       (Microsoft NDIS Capture)
   enabled:  ms_pacer         (QoS Packet Scheduler)

{}
"nonpnpnetworkinterface\{}"
"Hyper-V Virtual Ethernet Adapter"
"Ethernet 3":
   enabled:  ms_server        (File and Printer Sharing for Microsoft Networks)
   enabled:  ms_tcpip6        (Internet Protocol Version 6 (TCP/IPv6))
   disabled: ms_implat        (Microsoft Network Adapter Multiplexor Protocol)
   enabled:  ms_pppoe         (Point to Point Protocol Over Ethernet)
   enabled:  ms_tcpip         (Internet Protocol Version 4 (TCP/IPv4))
   enabled:  ms_rdma_ndk      (Microsoft RDMA - NDK)
   enabled:  ms_msclient      (Client for Microsoft Networks)
   enabled:  ms_netbt         (WINS Client(TCP/IP) Protocol)
   enabled:  ms_lldp          (Microsoft LLDP Protocol Driver)
   disabled: vms_pp           (Hyper-V Extensible Virtual Switch)
   enabled:  ms_netbios       (NetBIOS Interface)
   enabled:  ms_lltdio        (Link-Layer Topology Discovery Mapper I/O Driver)
   enabled:  ms_ndisuio       (NDIS Usermode I/O Protocol)
   enabled:  ms_rspndr        (Link-Layer Topology Discovery Responder)
   enabled:  ms_wfplwf_lower  (WFP Native MAC Layer LightWeight Filter)
   enabled:  ms_ndiscap       (Microsoft NDIS Capture)
   enabled:  ms_wfplwf_upper  (WFP 802.3 MAC Layer LightWeight Filter)
   enabled:  ms_pacer         (QoS Packet Scheduler)

{}
"pci\ven_8086&dev_15a0"
"Intel(R) Ethernet Connection (2) I218-LM"
"Ethernet 2":
   disabled: ms_netbios       (NetBIOS Interface)
   disabled: ms_lldp          (Microsoft LLDP Protocol Driver)
   disabled: ms_tcpip         (Internet Protocol Version 4 (TCP/IPv4))
   disabled: ms_rdma_ndk      (Microsoft RDMA - NDK)
   disabled: ms_implat        (Microsoft Network Adapter Multiplexor Protocol)
   disabled: ms_server        (File and Printer Sharing for Microsoft Networks)
   disabled: ms_msclient      (Client for Microsoft Networks)
   disabled: ms_ndisuio       (NDIS Usermode I/O Protocol)
   disabled: ms_rspndr        (Link-Layer Topology Discovery Responder)
   disabled: ms_tcpip6        (Internet Protocol Version 6 (TCP/IPv6))
   disabled: ms_pppoe         (Point to Point Protocol Over Ethernet)
   enabled:  vms_pp           (Hyper-V Extensible Virtual Switch)
   disabled: ms_lltdio        (Link-Layer Topology Discovery Mapper I/O Driver)
   disabled: ms_netbt         (WINS Client(TCP/IP) Protocol)
   enabled:  ms_wfplwf_lower  (WFP Native MAC Layer LightWeight Filter)
   disabled: ms_wfplwf_upper  (WFP 802.3 MAC Layer LightWeight Filter)
   enabled:  ms_ndiscap       (Microsoft NDIS Capture)
   disabled: ms_pacer         (QoS Packet Scheduler)
Switch is not the only protocol bound

cleaning up...finished (50)

I removed some unnecessary info from that report to keep it shorter, yours will likely contain many more sections.

Then I removed all bindings for all interfaces just to be sure. In my situation I knew this would be fine as nothing else should be binding to my NICS, but be sure to check if this is the case for you.

To do this simply run the exe with the /u switch, passing in the name of your NIC as listed in the previous report

PS C:\temp\nvspbind> .\nvspbind.exe /u "Intel(R) I210 Gigabit Network Connection"

Hyper-V Network VSP Bind Application 6.1.7725.0.
Copyright (c) Microsoft Corporation. All rights reserved.

acquiring write lock...success


Adapters:

{}
"pci\ven_8086&dev_1533"
"Intel(R) I210 Gigabit Network Connection"
"Ethernet":
    enabling:  ms_wfplwf_upper
    enabling:  ms_pppoe
    enabling:  ms_msclient
    enabling:  ms_rdma_ndk
    enabling:  ms_implat
    enabling:  ms_lldp
    enabling:  ms_ndisuio
    enabling:  ms_rspndr
    disabling: ms_lltdio
    disabling: ms_wfplwf_lower

applying changes...

cleaning up...releasing write lock...success
finished (0)

Once I had repeated this step for all the adaptors, I then went to device manager and removed any traces of Hyper-v adaptors which had not been cleaned properly.

Finally###

Now with all the remnants of the previous configuration gone, I tried to access the internet, and got an error, turns out my NIC still had some config for hyper-v attached that was causing issues, but thankfully an automatic "Diagnose and Repair" sorted that issue, and I was back on the internet.

Now with normal network communications back up and running, I set about recreating the Hyper-V switch. All of which went without a hitch.