I have a Dell Inspiron 5482 2-in-1 laptop which started to do this for me. It was like that for a long time. (I remember one time the Dell manager software upgraded the BIOS to a wrong one, after which the laptop didn't boot, but thanks to fail-safe mechanisms I could restore the earlier BIOS. I'm just telling this that this wifi problem is not the first big debackle with it. It's just that the wifi problem is persistent and nagging.)
- I realized that if I physically open up the laptop, remove the wifi module from the motherboard's M.2 slot and re-seat it, the problem goes away. So essentially totally powering off the wifi NIC solves the problem (without removing from the socket the battery may keep some amount power on it for wake-on-LAN/wifi - although that is nto set in the BIOS). However physically opening the machine every time is extremely cumbersome.
- Lately I also realized that I can access Dell diagnostic routines from the BIOS, and running those also help with the issue, however the tests are lengthy, and this is cumbersome also.
- I realized that the disappearance happens after the computer goes to deep sleep and I wake it up. Therefore I did the following fail-safe measures:
3.1. Disabled sleep when the laptop is on adapter
3.2. I increased the sleep time when it's not on adapter
3.3. I watch out for it to not go to sleep (especially deep sleep) and I completely shut down the OS if I carry the laptop somewhere or I need to leave it alone. This means that every time I need to boot it up, but honestly that's the least cumbersome thing. In the BIOS I can set the POST test speed between 3 choices, and I'm in the middle. Since my other systems are Linux and I always shut those down as well (at least those which are not servers) this is natural to me. Maybe some people would be bother by the 10-30 second boot time. Compared to the wifi disappearing that is negligible inconvenience.
I'm pretty sure that this is essentially a problem between the wifi chip firmware and the OS interoperating for a sleep and deep sleep. For sleep the system status has to be saved into the memory, and during wake-up that state is "rehydrated". The wifi NIC's state is saved and then reloaded into the firmware, so the NIC can be powered off and the only power consuming part would be the memory (with only the DRAM refresh cycles). With deep sleep that also involves the HDD/SSD, so the memory can be powered off as well. If any of the component firmware is botched up or doesn't co-operate properly then the wake-up fails. In this special case some bug around this causes the NIC to get into such a state that it even disappears from the hardware list (not even visible in the BIOS). I'm not necessarily surprised when I come across sleep problems in Linux, but the failures with this Windows backup laptop raises my eyebrows. My rolling Linux distros which I'm on an unstable/testing line also can cause non boot or wifi problems, but I thought sleep is solved on Windows...