Many of the remedies discussed here require taking it all apart, then taking off connectors, then doing something, then putting all the connectors back on, then reassembling. It is human nature to think that it was the "doing something" (whatever that was) which fixed the problem, when what may have happened is the problem may have been a dirty connector, and it was the taking off and re-fitting of the connectors that cleaned the contact points and actually fixed the problem.
Meanwhile I learned to reflow all the solder on my motherboard using common appliances found around the house, and when I put it back together it worked. That was several years ago. It has worked fine since without any further issues.
But will I ever really know what it was that I did which fixed it? Not in this case.