After a reinstall of Windows 10 on my HP EliteBook 840 G2, I found that I could not get the WiFi to work.
The hardware Wifi button in the top right corner of the laptop was showing white. Whenever I discconect the Ethernet cable you would get the globe symbol in the system tray. If you turned WiFi on from this pop-up, you would see the list of SSIDs and then they would disappear one second later and the WiFi would show disconnected. The fact they appeared showed the adapter was physically working.
The machine dual-booted to Linux and there were no problems there, so this was clearly a Windows [driver] problem.
Nothing was visible in the Event Log.
I ran the network troubleshooter and it said:
Result of diagnosis: Problem found
Root cause:
Wireless capability is turned off
Detailed root cause:
Radio is off (SW switch)
Repair option:
Turn on wireless capability
The correct drivers had been installed.
I had unchecked the "Allow the computer to turn off this device to save power".
I uninstalled the drivers.
I installed the HP Wireless Button Driver.
The WiFI/LAN switching was turned off in the BIOS.
None of this worked.
In the end this post found the problem.
My list of network adapters included a TAP-Windows Adapter. This is deemed to be an ethernet connection. Although you disconnect the physical ethernet connection ("Ethernet" in my list), the Ethernet2 remains virtually "connected". And Windows will not allow both an Ethernet and a Wifi connection to remain active simultaneously, so it turns off your Wifi again. Disabling this allowed the Wifi to work continuously.
Examining the TAP adapter, I could see it was installed by a VPN provider.
Clicking the properties, I could see a setting "Media Status". It defaulted to Always Connected. Setting this to "Application Controlled" meant that the adapter would only be active when the VPN demanded it, thus it would be disabled at other times. This meant that if the physical ethernet was disabled and the VPN was not active, the TAP adapter would be disabled and WiFi would resume. Voila!