The mystery of the Windows 10 laptop that couldn’t connect to Wi-Fi
Last week, I found myself, for a second time, sitting a seat away from a certain fellow in the 1400 block West Broadway McDonald’s. And for a second time he was also complaining that his Windows 10 laptop could not connect to the restaurant’s free Wi-Fi.
The first time I didn’t paid much attention to his problem but the second time I decided to find out what was wrong.
Fortunately, the fellow was more than willing to allow me—a complete stranger—to mess with his laptop.
Right off the bat I’ll tell you that the actual fix was very simple—just clicking one little radio button. All of the trouble was in the narrowing down of the cause to that button and then finding the darn thing, buried as it was, six levels deep in Windows Control Panels options.
Narrowing down the problem, or Why no Wi-Fi?
Whatever the connectivity problem was, the Wi-Fi adapter and antenna appeared to be working fine. The Windows 10 laptop was showing all the same available Wi-Fi networks that my Windows 8 laptop could see. And it was actually connecting to the BELLWIFI@MCDONALDS.
The exact fault was that neither of the web browsers on the laptop were automatically being diverted to the McDonald’s page with the big “Connect” button that had to clicked to actually complete the connection to the Internet.
Instead, both Google Chrome and Microsoft Edge issued errors saying that there was no Internet connection.
The Windows network troubleshooter, which Chrome linked to on its dead end error page, gave the following diagnosis:
“Windows can’t communicate with the device or resource (Primary DNS Server)”
I took this to mean that Chrome couldn’t connect with a Domain Name Server and get the numeric Internet Protocol addresses that it needed in order to go anywhere on the Internet.
But this wasn’t telling me why, or what to do about it.
When, for example, the Windows 8 network troubleshooter diagnoses a connection problem and finds that the Wi-Fi adapter is turned off, the troubleshooter not only reports that the adapter is disabled, it also gives the user the option, then and there, to turn the adapter back on.
The Windows 10 network troubleshooter could’ve stated that the current IPv4 connection could not find a DNS Server address because:
- Windows was set to use a prefered DNS server: (address field blank).
- And the automatic acquisition of a DNS server address was disabled.
And the Windows 10 troubleshooter could’ve likewise given the user (me) the chance to go directly to the relevant IPv4 Properties options and/or the option to turn automatic DNS acquisition back on.
This last thing was all that actully needed to be done but, as it was, I was left to figure that out for myself.
Suspicion turns toward the antivirus program
When I wondered aloud if an antivirus program setting may have been blocking the request, the laptop’s owner explained that the only antivirus software he had was a version of Kaspersky Anti-Virus but that it wasn’t running because the subscription had run out.
He added that, though his laptop couldn’t connect to the Wi-Fi in McDonald’s, it had no trouble connecting to the free Wi-Fi in both Tim Hortons and Blenz.
This pointed to something specific to the McDonald’s Wi-Fi. Otherwise I was remembering how old Windows XP machines would “forget” their setting to acquire IP addresses dynamically and I thought of the high-handed way that modern antivirus programs will change network settings in the name of security.
In the name of “security”, for example, I knew that Kaspersky Labs’ antivirus programs break security by installing their own root certificate, which allow them, in effect, to spy on all incoming web traffic, encrypted or otherwise. It wasn’t a stretch therefore to also suppose that the Kaspersky Anti-Virus program on this laptop may also have been telling Windows what DNS server to send web browsers to.
Maybe, I thought, the reason why Windows couldn’t communicate with a DNS server was because Kasperky was no longer around to supply the address.
First I satisfied myself that Kaspersky Anti-Virus was doing nothing to protect the laptop. It was doing worse than that. Though it was inactive, its mere presence on the hard drive was keeping Windows Defender, Microsoft’s built-in, better than nothing, antivirus program, from running.
So I used the Windows 10 Start menu on the Desktop to go to the Programs and Features Control Panel and from there I uninstalled Kaspersky.
Selecting “Kaspersky Anti-Virus” in list of installed programs and clicking the “Uninstall” button launched a Kaspersky uninstaller which appeared to delete all aspects of the program.
But I still couldn’t turn on Windows Defender—not from within the program’s control panel. Defender still believed Kaspersky was the designated antivirus program.
I had to go into the Security and Maintenance Control Panel (the new name for the old Action Center Control Panel).
Under “Security” (I believe), I was able to go to Windows Defender and turn it on.
I then restarted the laptop and voila! Nothing had changed. Chrome still couldn’t find a Domain Name Server.
That left me to follow my hunch that Kaspersky had monkeyed with the settings in Windows 10 that tell web browsers how to acquire DNS addresses.
(Be advised that how I did this in Windows 10 appears to match the route that I’ve followed on my Windows 8 laptop in order to get screen shots but there may be naming variations. I trust that people will be able to find their way.)
Finding a needle in the haystack in six easy steps
Back I went into the Control panels; this time into the Network and Sharing Center, where I clicked the “Change adapter settings” link in the left sidebar.
This took me to the “Network Connections” screen,where I clicked the “Wi-Fi” adapter icon, which was showing its current active connection to BELLWIFI@MCDONALDS.
Clicking on the “Wi-Fi” icon brought up “Wi-Fi Status”, which, at a glance, halfway answered one of my questions.
Under “Connection” it showed that the McDonald’s Wi-Fi signal was using the older version 4 of the Internet Protocol, rather than the newer version 6.
Think of these Internet Protocols as a common language that computers on the Internet agree to use in order to communicate with and be understood by each other. IPv6 is the same language as IPv4, except it has a much larger “vocabulary”.
I clicked the “Properties” button on the bottom of the “Wi-Fi Status” box and scrolled through the resulting Wi-Fi Properties list until I came to the two items at the very bottom: “Internet Protocol Version 6 (TCP/IPv6)” and “Internet Protocol Version 4 (TCP/IPv4)”.
Clicking/highlighting “Internet Protocol Version 6 (TCP/IPv6)” and then clicking “properties” showed me that both “Obtain IPv6 address” and “Obtain DNS server” were set to be obtained automatically from the Internet provider.
Going back and getting “Properties” on “Internet Protocol Version 4 (TCP/IPv4” showed that only “Obtain IPv4 address” was set to automatic. IPV4 connections were set to use a specific DNS address, however there was no DNS address specified in the field.
This explained why the laptop could connect at Blenz and Tim Hortons—the Wi-Fi at both were obviously using the newer IPv6 protocol.
The laptop couldn’t connect at McDonald’s, where the Wi-Fi was using the older IPv4 protocol, because something (I suspected Kaspersky) had specified that IPv4 connections must use a fixed DNS address, rather one provided from the Internet provider.
But there was no DNS address listed (because Kaspersky was inactive?) so web browsers were stopped dead in their tracks.
All I needed to do was click the “Obtain DNS server address automatically” radio button for IPV4 connections and click the “OK” button at the bottom of the window.
I closed each of the windows I’d opened to get to the Internet Protocol Properties box, until I was finally left with just the open Google Chrome program running on the Desktop.
Now when I tried to go to to a web page—any webpage (even a string of nonsense characters would do it), the proper thing happened—theMcDonald’s page with the big “Connect” button came up. One click on that button and the laptop was on line!
While I cannot say for certain that Kaspersky Anti-Virus was responsible for changing the Windows 10 DNS configuration, It is my strong suspicion.
These days, antivirus and security software outfits like Kasperky Labs take a pretty aggressive and sneaky approach to protecting data—acting a lot like the hackers they are theoretically trying to protect us from.
But more on that in the next post. It seems that when Kasperky Anti-Virus declared that its uninstaller was deleting all parts of the program from the Windows 10 laptop, well, it wasn’t completely telling the truth. Click the images to enlarge them.