I had an annoying problem with my Samsung Slate running Windows 8. I use it while traveling, and every time I connected to a different wi-fi network, or even woke it from sleep while on the same network, I would get several minutes pause while Windows tried access the network. During this time, applications like Internet Explorer and Outlook might freeze and show “not responding” messages. Patience was rewarded though, and eventually the network kicked into life and everything worked normally. Until next time.
This is annoying so what is the reason and the fix? The high level view is this:
- When you enable Hyper-V in Windows 8 it makes changes to your networking, including creating virtual Ethernet adapters, and unbinding TCP/IP from the physical adapter. If you install the Windows Phone emulator you also get a virtual Ethernet adapter. If you have wi-fi you also get a Network Bridge.
- The consequence of (1) is that networking might not work so reliably after Hyper-V is enabled.
The high-level answer then is to remove Hyper-V. That works, but you might want to use Hyper-V, so better still is to fix the problem.
The answer seems to be in a hidden dialog. To get to it, open Control Panel and search for Network , click View network connections. This will show all the stuff Hyper-V has created. Now press the Alt key on the keyboard to show the Advanced menu, and select Advanced settings.
NOTE: if you have a slate without a physical keyboard, this menu is doubly difficult to find. The Windows 8 touch keyboard has no Alt key. Microsoft decided it was more important to have a Smiley key, and could not fit in both. The fix is to go into Change PC Settings – General and enable “Make the standard keyboard available”. It is still not that easy to display the Advanced menu in Network Connections, but it can be done.
Here is the dialog:
Now, if you have the problem with slow networking, you will probably find (as I did) that there is an Internal virtual Ethernet adapter, bound to TCP/IP, listed above the external virtual Ethernet adapter. The internal network cannot connect to the internet:
The Internal type is not bound to a physical network adapter. It is typically used to build a test environment where you want to connect to the virtual machines from the host operating system, but do not want to allow virtual machines on the host to communicate with external networks.
It is plausible that if the internal network has priority over the external network, Windows will struggle to connect to the Internet.
I changed this so that the external virtual Ethernet adapter, bound to TCP/IP, comes at the top.
This has helped with my problem, though there is still a bit of uncertainty about how to optimise the settings in this dialog. What about the Provider Order, what is the correct setting? Should the Microsoft Remote Desktop Session Host Server Network Protocol really come first in the list, as per the default?
Someone asked on the official forum and did not get an answer. I suggest you leave well alone unless you know better, but would be interested in someone has informed guidance.
Finally, note that if you create a new virtual adapter in Hyper-V settings, you may need to revisit the binding order.
I have never come across this issue on Windows Server, though in principle it might be the same. Odd.
Updated with instructions for enabling the standard keyboard layout.
Yeah it’s an issue on server too
Technet Network Connections Best Practices: http://technet.microsoft.com/en-us/library/cc781786(WS.10).aspx – has a section specifically about the provider order
Also used to be a problem on SBS with multiple network cards http://blog.mpecsinc.ca/2012/01/slow-network-speeds-with-sbs-2008-and.html