Compass calibration for rover

hi everyone … i m making a rover using pixhawk 2.4.8 … how to do compass calibration for rover (off board calibration) ?? and i m using NEO-M8N GPS module that have compass … what should i select the internal compass or the external compass ?? the problem that i m facing is when i write a plan and switch the mode to auto mode the rover going too good at the first two way point but after that the GPS reported direction of travel is pointing to the wrong side and make the rover going too far from the way point that should going to .i suspecting that i’m doing the compass calibration wrong. does anyone have advice?

Use Magfit from MAVExplorer