I have a MacBook Pro (13 ", Mid 2012) model running Mac OS 10.14.6 (Mojave). Of late I'm experiencing a lot of problems with the WIFI hardware frequently "shutting down" or going into a inoperational state. I found the fix of resetting the NVRAM working for me. But this thing is happening very frequently.
EDIT : Because of the comment I will add in this information. Cold boot doesn't seem to work. When u do a cold boot it just shows a cross at the WIFI symbol's place and indicates no hardware. Before the cold boot, the WIFI symbol looks blank as if the WIFI is turned off when it isn't it. And you can't turn it on either.
Further Edits : So I'm speaking in terms of frequency here. SMC reset has both failed and worked almost 50% of the times. NVRAM reset has also failed at times but it has been the most successful. (I might be biased towards NVRAM one compared to the SMC, because it showed most promise)
Also I think I can almost assign an "external" causality to the WIFI status turned off state. Whenever, the laptop get into a sudden movement it just turns the WIFI hardware off in some sense. I do not know enough hardware to back up this comment of mine, but I think the WIFI must have an antenna of sorts, which gets disturbed whenever a "jerk" motion occurs to the laptop externally to switch off the WIFI.
My Macbook habits : I keep opening a lot of tabs on my safari and a lot of pdfs on my Preview. I mostly keep my pro in sleep state. Rarely do I shut down! And sometimes I code. I shifted to Mojave from the prior operating system, where the problem actually initiated, thinking a software update would fix things permanently.
What I would like help on is understanding the functioning on the NVRAM: why does the NVRAM resetting fix the WIFI?
What makes the WIFI hardware go bust again?
Is it a hardware problem, as in my macbook is too old and needs a wifi hardware repair? If so, then why does resetting NVRAM temporarily fix things?
I'd like some understanding to this situation I am stuck in!
EDIT on the suggestion that NVRAM is exactly the source of the problem.
Before the WIFI status goes into its off state
nvram -p
backlight-level %14%01
LocationServicesEnabled %01
fmm-computer-name MacBook Pro
SystemAudioVolumeDB <
SystemAudioVolume %df
bluetoothInternalControllerInfo %1d%82%ac%05%00%13%18%1d|%d1%c3%8ai?
When the WIFI is in its off state :
nvram -p
backlight-level %04%01
LocationServicesEnabled %01
SystemAudioVolumeDB %f2
SystemAudioVolume V
bluetoothInternalControllerInfo %1d%82%ac%05%00%13%18%1d|%d1%c3%8ai?
/usr/bin/sudo nvram -p >nvram.$$
before and after.