Pixhawk6x + UBLOX M9N GPS + ardurover 4.2.3 = no GPS reception

Hi all,

I am uploading ardurover 4.2.3 standard firmware to pixhawk using QGC tools
Only M9N is connected to pixhawk with standard GPS1 connector.
And NO GPS reception - no satellites, no time, nothing.
The receiver is functional - I connect it to u-center, reset all settings, reception starts.

Some system messages after startup:
[23:42:07.446] Info: ArduRover V4.2.3 (2172cfb3)
[23:42:07.446] Info: ChibiOS: 38022f4f
[23:42:07.446] Info: Pixhawk6X 002E0029 34325102 34363336
[23:42:16.076] Info: GPS 1: detected as u-blox at 230400 baud
[23:42:31.356] Info: u-blox 1 HW: 00190000 SW: EXT CORE 4.04 (7f89f7)

Here are the default values of some of the parameters, and questions about them:
SERIAL3_BAUD 38400 ; Why 38400 if the system detects a connection speed of 230400?
SERIAL3_OPTIONS 0
SERIAL3_PROTOCOL GPS
SERIAL4_BAUD 38400 ; How does the second GPS port appear?
SERIAL4_OPTIONS 0
SERIAL4_PROTOCOL GPS
GPS_AUTO_CONFIG 1
GPS_AUTO_SWITCH 1
GPS_COM_PORT 1 ; Why 1 when above you can see that the system finds GPS on ports 3, 4? Changing it to 3 or 4 did nothing
GPS_PRIMARY 0
GPS_SAVE_CFG 2
GPS_SBAS_MODE 2
GPS_GNSS_MODE 0 ; The default value is NOT to use any GPS systems - but why??? Changing it to 111 does not produce any result
GPS_TYPE 1 ; Changing to 2 (ublox) does not lead to anything

I would be grateful for a hint on what needs to be corrected in order for the GPS to work after all.

1 Like

Most of your questions can be answered by reading parameter descriptions here:
Complete Parameter List — Rover documentation (ardupilot.org)

Autoconfigure detects baud rate automatically, so SERIALx_BAUD is irrelevant.

If you’re only using one GPS, you shouldn’t have two serial ports configured for it.

Leaving all of these parameters at their defaults (except disabling the unused serial port) should result in reception.

Are you outside with a clear view of the sky?

1 Like

These explanations are also available in the parameter card in QGC. But, for one of the questions I asked, neither QGC nor your link explain why the GPS connection speeds are different.

The system itself added the second GPS port for some reason, I didn’t add it manually. Also an unanswered question in the documentation.

It doesn’t work. Moreover, I wrote in the original post that the configuration that ardupilot loads into ublox is basically unworkable, and I only get reception after I reset the configuration to the manufacturer’s default configuration using u-center.

It does not matter for the purpose of solving the question - this receiver after resetting the parameters even in the room detects about 20 satellites of different systems and detects UTC time. When connected via pixhawk in the same place in the room - 0 satellites (I waited about two hours) and no UTC time.

To follow the story. I reset the parameters in u-center, saved them in the flash memory of the receiver, in ardupilot I turned off GPS autoconfiguration and automatic saving of GPS configuration before connecting GPS. Then connected the receiver and rebooted the pixhawk - still did not work.

Taking a combative stance here isn’t going to get you many more responses…I’m taking time to try and help you.

Many boards default to setting both serial 3 and serial 4 up for GPS. It didn’t do anything “by itself.” This is just an out of the package config.

To which port is it connected? Set the other to SERIALx_PROTOCOL=-1.

This is indeed explained in the documentation I linked. Leave it at 0 for now to enable all constellations. 13 might be a better setting at a later date, depending on your locale. In no scenario is 111 valid.

Something is working or you wouldn’t see confirmation of module detection in the startup messages. I suspect the real issue is the two configured ports on your autopilot.

1 Like