Windows 10 erroneously claims there is no internet and various features don't work - NCSI Probing

Internet works but Windows 10 Pro sporadically says it has no connection. I have no clue why it seems to randomly do this, and sometimes restarting does not fix it. Happens on numerous networks (and ISPs).

This is presumably a failure of NCSI (Network Connectivity Status Indicator) Probing?

This prevents access to at least the Windows Store, Xbox Console Companion app (and all games there), and the Windows feedback tool. But Windows Update works. Here is a list of reported apps and features broken along with NCSI probing.

Symptoms

Taskbar

enter image description here

Windows Store

Error code 0x800704CF

Xbox Console Companion

Xbox Networking settings

All menu icons in the Windows Settings under Get Help

enter image description here

Windows feedback tool

enter image description here

Troubleshooting steps taken

  1. Verified access* to http://www.msftncsi.com/ncsi.txt

enter image description here

  1. Turned it off then on again multiple times (no resetting)

  2. Used Windows troubleshooter - it always only suggests a network reset which doesn't work (this also does a soft uninstall of the network driver)

enter image description here

Network Reset

Reset method 2

Also attempted this manually using command line statements (https://www.minitool.com/news/reset-tcp-ip-windows-10.html)

Command line resetting

  1. All the steps suggested for troubleshooting networking in the Xbox app: https://beta.support.xbox.com/help/Hardware-Network/connect-network/server-connectivity-xbox-app-displays-blocked

enter image description here

  1. Verified no VPN is configured

enter image description here

  1. Verified no Proxy is configured

enter image description here

  1. Reset IPv4 settings, toggled IPv6 settings

enter image description here

  1. Toggled Active DNS Probing.

  2. Verified up-to-date through Windows Update, including the Windows Update Assistant utility (which resolved a different issue on the afflicted computer alerted as a Windows Notification "Your version of Windows 10 is out of date").

  3. Checked for viruses with a full Windows Defender scan (the only antivirus software) on the operating system's install drive.

enter image description here

  1. Checked the hosts file (in its default state)

enter image description here

  1. Ran the System File Checker

enter image description here

  1. Removed invalid security certificates

Other similar questions

  1. Windows reporting No Internet Access when there is (and NCSI tests pass) - Disabling probing does not fix anything

  2. Windows 10 store won't connect to the internet - Different error code and limited in scope

  3. Windows 10 No Internet - Caused by a virus

==========

* Note that the IP resolved from the NCSI URL cannot be pinged (and this is normal, so ignore it).

enter image description here


Solution 1:

In my case, I found that NCSI failing the dns.msftncsi.com test was the root cause of my problem.

After extensive tests and a lot of headaches, I found out that the recursive DNS server in my network wasn't functioning properly in time to make Windows' NCSI happy.

Solution:

Make changes to the C:\Windows\System32\drivers\etc\hosts file, and place the expected record manually so the test never fails:

131.107.255.255    dns.msftncsi.com

This will resolve the issue with the DNS check permanently, and although it will always report the correct value to the system (even if no Internet is actually available), NCSI can actually deal with this by performing additional HTTP queries to http://www.msftncsi.com/ncsi.txt and http://www.msftconnecttest.com/test.txt, which are usually used to detect captive portals.

In any case, personally, I don't care if it returns a false positive. I simply want to avoid the annoying false negatives (erroneous detection of no Internet).

Since the Spotify app and Microsoft Store both rely on this “feature” of Windows to detect network connectivity, it's best to just forgo the actual test when it's buggy and never actually works correctly.