I had a similar problem, crashed, not able to calibrate compass. I took the top shell off. The compass cable was partially disconnected, but it's also loose from the main board.
I reconnected, still couldn't calibrate. I disconnected the cable and looked closer. The 4 wires are still soldered...