Cube Orange with Here3 “Flight mode change failed”

I am building an autonomous boat using Rover 4.0.0 Official on Cube Orange and using Here3 GPS module.

I have multiple boats and on most boats when I attempt to switch to Auto or Loiter mode I get this message and the flight mode fails to change. On few boats it works ok.
I created a mission and uploaded it to my boat via mavlink. How can I debug what is preventing the mode change?

The flight controller arms and disarms correctly.

Because of price advantage we are also thinking of switching to Cube Purple for our boats, do you think this is a sensible solution, or are there significant improvements by using Cube Orange?

You may try those different possible solutions:

Thanks @Alvin, I will read also those posts.

After fiddling with different settings I noticed that there are two bugs (or strange features) in MissionPlanner (I have version 1.3.7563.27684):

  • If rover is not connected and I load Full Parameters list from a file, modify some parameters and save parameters to another file, decimal values with commas become whole values: 0.5 becomes 5 , etc
  • If rover is connected and I load Full Parameters list from a file, modify some parameters and save parameters to another file, COMPASS_DEV_ID2 is written as 0.

When I uploaded parameters to rover from the second file, COMPASS_DEV_ID2 was wrong, so I think this was the reason for rover not functioning. When I updated the ID of external compass, it works ok in Mission Planner.

However mode changes still fail when I control the vehicle with Dronekit. I don’t know what I am doing wrong. I can switch to Hold and Manual, but not to Auto and Loiter.

Update - mode change works also with DroneKit, but it takes more time to come to that state.

Can anyone help me in finding the solution, what is different when sending commands from MissionPlanner and DroneKit?
Are raw commands which come via Mavlink also visible from the DataFlash logs?