The Problem

I had a problem recently on Windows 8.1 where trying to create a VPN connection would just cause the Windows interface to freeze and no connection made. After clicking connect, a number of different WAN Miniport adapters appear in Device manager under Network adapters (they may also be visible by clicking View > Show hidden devices) with yellow exclamation marks. They are mostly different types of VPN connections such as PPTP and L2TP. The way to fix them is to uninstall and then reinstall the devices - unfortunately, they aren't as easy to remove as normal devices and do not allow you to uninstall. These are the steps I followed to uninstall and reinstall the devices;

Uninstall broken miniports (keep a note of the ones you remove):

  1. Open Device Manager and expand Network adapters (maybe need to show hidden devices).
  2. Right click on the non-working miniport and choose "Update Driver".
  3. Choose "Browse my computer".
  4. On the next page, choose "Let me pick driver from a list".
  5. Uncheck "Show compatible hardware".
  6. From the Manufacturer list, select "Microsoft", and from the "Network Adapter" list choose any driver that will allow it to be uninstalled (I selected "Microsoft Wi-Fi Direct Virtual Adapter").
  7. Now you can right click on the device it just created and click uninstall.

Reinstall the miniports:

Now, miniports cannot be installed like normal devices either. The solution I used is to get a copy of the Windows Driver Kit and use devcon.exe to install the driver.

  1. Download and install the Windows Driver Kit 8.1 from Microsoft's website (this may take half an hour).
  2. Browse to the Tools directory inside the folder you installed the WDK into (mine was C:\Program Files (x86)\Windows Kits\8.1\Tools).
  3. Select the correct folder based on your platform (x64 for 64 bit Windows or x86 for 32 bit Windows).
  4. Open an administrator command prompt (right click and click "Run as administrator") and change directory into the folder you found in the previous step (e.g. cd C:\Program Files (x86)\Windows Kits\8.1\Tools\x64)
  5. For each miniport that you uninstalled in the previous step, you will now need to run a command for each different type of connection. If the command reports a failure, don't worry, it often does. The only problem is when it complains about a missing inf or class (in which case its often a typo). The commands are as follows;
  • IKEv2:
    devcon.exe install c:\Windows\inf\netavpna.inf MS_AgileVpnMiniport
  • IP:
    devcon.exe install c:\Windows\inf\netrasa.inf MS_NdisWanIp
  • IPv6:
    devcon.exe install c:\Windows\inf\netrasa.inf MS_NdisWanIpv6
  • Network Monitor:
    devcon.exe install c:\Windows\inf\netrasa.inf MS_NdisWanBh
  • L2TP:
    devcon.exe install c:\Windows\inf\netrasa.inf MS_L2tpMiniport
  • PPPoE:
    devcon.exe install c:\Windows\inf\netrasa.inf MS_PppoeMiniport
  • PPTP:
    devcon.exe install c:\Windows\inf\netrasa.inf MS_PptpMiniport
  • SSTP:
    devcon.exe install c:\Windows\inf\netsstpa.inf MS_SstpMiniport

Finally, reboot your machine. Hopefully everything will then work as expected!