5

I have a computer that has internet access, yet NCSI reports the PC has no internet in the system tray.

OneNote and other software check this indicator and fail because they falsely think the internet is down. I tried disabling passive polling, but that just causes the indicator to be stuck in the no internet state. Disabling IPv6 had no effect either.

Is there any way to force the PC to always think that it has internet access?

4
  • If you right click the network indicator there should be a "Troubleshoot problems" option. What output or errors does that give?
    – Mokubai
    Jan 30, 2019 at 17:39
  • It says that it couldn't find anything, and then suggests resetting, which does not help.
    – David
    Jan 30, 2019 at 22:11
  • 1
    Out of curiosity, has anyone, anywhere, ever at any time had the network troubleshooter find (or better, fix) a problem? I've found that it's a handy way to generate a delay when I need a few minutes to grab a coffee or for a bio-break, but otherwise? Complete waste of bytes. Aug 6, 2020 at 18:27
  • 1
    It did work for me one time, long ago, I was shocked.
    – David
    Aug 6, 2020 at 19:06

5 Answers 5

2

If your network connection includes access restrictions to msftncsi.com and/or msftconnecttest.com domains, you might need to set up the following things:

  • a fake dns.msftncsi.com name in a local DNS service, that maps to IP address 131.107.255.255.
  • for Windows 7 (at least), a fake www.msftncsi.com name in a local DNS service that maps to a local IPv4 HTTP server that can serve a /ncsi.txt URI (see below), and/or a fake ipv6.msftncsi.com name that maps to a local IPv6 HTTP server that can do the same
  • when sent a GET request for /ncsi.txt, the HTTP server should respond with a 200 HTTP result code and the data of the response should be a single line of text:

    Microsoft NCSI

  • for Windows 10, a fake www.msftconnecttest.com name pointing to a local HTTP server that can serve a /connecttest.txt URI. The response should be a 200 HTTP result code and a single line of text:

    Microsoft Connect Test

If Windows can successfully make these DNS and HTTP requests, it should believe it has an internet connection. If these requests are blocked, the "no internet" message will be triggered. If different answers are received, Windows will assume there is a "captive portal".

New updates to Windows may introduce new tests.

1
  • 1
    I can go to www.msftconnecttest.com/connecttest.txt and see the Microsoft Connect Test text as well as get the correct dns address when I run dns.msftncsi.com through nslookup (and see it through Wireshark as well), yet Windows 10 still says that this machine does not have internet access.
    – David
    Feb 11, 2019 at 19:55
1

I actually ran into this issue, but unfortunately it was my own fault.

The issue was because I turned off the ability of NCSI to do it's job. I did this for good reason at first. I was onsite and keept getting an Edge window that was saying I was connected or not.

So "Solve" the popping up Edge window I disabled the following in the registry item:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet

and set the EnableActiveProbing key to 0

In doing this I solved my immediate issue but later when I returned to my normal network I noticed that I always saw No Internet Connection notification even though I did indeed have a working connection to the network and I could run the NCSI tests from the above link.

I then remember having done what I did and reverted the EnableActiveProbing key to 1, restarted the computer (though logging out and back in might also work) and problem was solved.

Interesting to note that from this same registry path you can the site that NCSI goes to to check for connectivity, so if you are at a non internet connected site you can re purpose the notification to show connectivity to local resources.

1

Similar issue had happened many times after disconnecting from VPN... I have local DNS server 127.0.0.1 set up as default server for DNS lookups on my workstation. Believe or not, but adding this line 131.107.255.255 dns.msftncsi.com to C:\Windows\System32\drivers\etc\hosts solved the problem. At least for my situation. To my understanding it somehow helps to resolve dns.msftncsi.com while switching net. P.S. Also I have disabled IPv6 for VPN and for default network adapter.

0

Putting this text inside a .reg and running it causes the computer to correctly believe that it has internet access. You will need to reboot afterwards.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator]
@=""
"NoActiveProbe"=dword:00000000
"DisablePassivePolling"=dword:00000000

If this still does not work, you may need to:

  • Install the newest LAN driver available for your system (If the below IPv4 Checksum offload option is absent)
  • Open device manager → select your NIC → open the Advanced tab
  • Locate and select IPv4 Checksum Offload in the Properties list
  • Set the value to Disabled
  • Select OK

Note that this between these two fixes, this only seems to work about 80% of the time as for the remaining 20%... ¯_(ツ)_/¯

Update: Upgrading the computer to 20H2 Seems usually helps with the remaining 20%.

Source

-1

For Windows Server 2022, the answer can be much simpler. Go to your domain controllers and make sure that none of them are using 127.0.0.1 for the DNS server settings on their network adapters.

1
  • As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.
    – Community Bot
    Jul 7, 2023 at 12:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .