Trying to Analyse a WIFI Hardware Problem
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?
Solution 1:
This is key and you want to start, if you haven’t already, making detailed observations to assist in this diagnosis:
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.
You are correct, there is an antenna that physically connects to wireless module (AirPort module). The thing is, that module itself is physically connected to the logic board via a slot connector and not soldered. These could be loose if in fact a quick motion causes things to disconnect.
See Macbook Pro WiFi hardware sporadically malfunctioning
If you have the technical skills (it’s pretty easy, actually), I would reseat these connections and even clean the connection surfaces, making sure they were nice and shiny.
iFixit has an excellent walkthrough
As far as resetting the NVRAM, there’s nothing in there that that “fixes hardware.” Likely, it’s the associated reboot that (temporarily) fixes things because of the inherent reset of everything.
Solution 2:
This blog gives an account of the information contained in NVRAM:
https://eclecticlight.co/2018/08/24/whats-stored-in-nvram/
It also gives the Terminal command nvram -xp
to list the contents of the NVRAM, which might be useful. Note that the data is in base64 encoding, which will need further decoding to become 'human-readable'.
However, there does not seem to be anything specific to WIFI or networking generally. I note that Internet Recovery Partition, which is in Firmware, can remember Wifi router selection and passwords.
Given the age of the machine, an intermittent failure of this sort is likely to be a hardware problem. You could try ruling out software issues by booting to a new, clean OS on an external disk.
As to why NVRAM reset fixes it: that's unknown. If the contents of NVRAM are unchanged when the WiFi is defective and when it works, then it's not the reset as such that's fixing it. It's possible that the reset does something else coincidentally.