Gmm-g3 module not searching for SBAS satellites properly



I have the Gmm-g3 module with the AXN_5.1.1_3333_17081700,8538 firmware. For some reason the module prefers to use a GAGAN satellite (NMEA ID 40) with 39 dB signal strength instead of the much better EGNOS satellite (NMEA ID 36) with 44 dB signal strength. I’m in Northern Europe, and I have the feeling GAGAN only sends corrections intended for Indian territory.
With older firmware, the module would scan through the available SBAS satellites and usually lock on to one of the EGNOS satellites. Now with the newest firmware, the module just locks on to the GAGAN satellite and stops scanning. Sometimes it locks on to the EGNOS (NMEA ID 33) satellite, but it usually switches to GAGAN after a while for some reason.
Is there a way to make the module search for the EGNOS satellite serving my area instead?



Good question!

Yes GAGAN will be supplying error data for the Indian region which is not going to be useful for northern Europe.

I am based in the UK and can only see S33 (EGNOS). Given your position and the fact that GAGAN is geostationary (pretty sure it is) as is EGNOS I am not sure how you are seeing the service.

So a few questions.

  • How are you determining you can see GAGAN?
  • How are you determining that you are using GAGAN over EGNOS?
  • How are to determining that the unit has stopped scanning?

Can you send the following commands to the unit to give me an idea of the configuration?

  • $PMTK401*37
  • $PMTK413*34
  • $PMTK355*31




Hi mlw,

The interface (picture below) shows SBAS being used, tracking GAGAN’s GSAT-8 with NMEA 40.

The following NMEA output sentence shows that NMEA 40 is visible, no other SBAS satellites logged. GPGSV,4,2,15,21,28,094,48,15,21,040,46,18,19,265, ,40,16,143,39

Here’s the list of commands you suggested, and their respective output:



$PMTK001,355,3,1,0,0,1 (GPS + Galileo)



I am still trying to fully decode and understand the sentences (which in theory should be simple) I am seeing but there are a couple of points.

  • In your sentence you have quoted below in theory you can see SV 40 which is GSAT-8 but there is a , before it indicating a missing parameter, is this a typo? If it is not then it might indicate something else.
  • The GSA message actually indicates what is being used in the solution fix. Can you post a full seconds worth of NMEA sentences to be able to decode properly?
  • Also can you run the GNSS tool we have on the source which can decode the messages in a similar way to the above and see if it think you are seeing S40?

FYI I am seeing the below, which all tallies, I just cannot see the SBAS SV’s in the normal GSV sentences.
04 //GPS SV’s being used in fix
$GLGSA,A,3,73,88,80,79,87,71,1.28,0.76,1.021C //GLONASS SV’s being used in fix
$GPGSV,3,1, //GPS sentence 1 of 3
09, //9 GPS SV’s visible
$GPGSV,3,2, //GPS sentence 2 of 3
$GPGSV,3,3,09,34,77 //GPS sentence 3 of 3
$GLGSV,2,1, //GLONASS sentence 1 of 2
08, //8 GLONASS SV’s visible
$GLGSV,2,2, //GLONASS sentence 2 of 2




It wasn’t a typo, the SNR value for GPS satellite 18 was missing and it wasn’t being tracked. The red marker on the GUI indicated just that.

Here’s a full NMEA output sentence:

$GNGGA,102556.000,xxxx.xxxxxx,N,xxxxx.xxxxxx,E,2,12,0.76,7.104,M,20.640,M, ,
$GPGSA,A,3,25,12,19,15,24,01,32,17,06, , , ,1.26,0.76,1.00
$GAGSA,A,3,02,12,08, , , , , , , , , ,1.26,0.76,1.00
$GPGSV,4,3,14,14,13,331, ,22,08,009, ,01,05,006,33,15,05,196,25
$GPGSV,4,4,14,02,05,143, ,03,03,031,
$GAGSV,3,1,09,02,68,268,50,11,43,104, ,12,26,040,42,07,26,309,
$GAGSV,3,2,09,08,22,253,44,30,16,278, ,24,05,102, ,20, , ,34
$GAGSV,3,3,09,27, , ,23
$GNRMC,102556.000,A,60xx.xxxxxx,N,022xx.xxxxxx,E,0.00,111.05,090518, , ,D
18-05-09 10:25:56 lat:60.xxxxxx lon:22.xxxxxx alt:7.1 sat:12 inview:23 fix:3 integr:D pdop:1.3 status:A



In my testing I am seeing 40 (GAGAN) pop up periodically but I do consistently see 33 (EGNOS) so I do not see why you cannot see them as I have the same config with the unit just looking at GPS+Galileo.

I have asked some people who know more than I do to see if there is a way to determine what SBAS system is being used if you can see multiple sources.




Thanks for the details, Matt.

I have a very powerful Tallysman GNSS antenna centered on the GPS/Galileo frequency band, so that does contribute to the module being able to pick up GAGAN. Previously, I used a generic GPS antenna that wasn’t able to locate any other than 33 (Inmarsat 3-F2) and 36 (Astra 5B) EGNOS satellites.

If I do a full cold reboot of the module, it looks through the SBAS satellites in this order (according to the interface); 37, 39, 33, 40. Then it stops. It usually starts tracking 33 for a minute or so, then jumps to 40 and stays there.



Can you take a log file of the unit using the GNSS tool? If you cannot use the tool I think a terminal log file will suffice, essentially we need everything coming out of the unit with debug mode enabled, to enable debug mode do the following

  • Power unit up.
  • Wait for initialisation message.
  • Start he NMEA recording to a file of your choice (if using the GNSS tool) or terminal program.
  • Send $PMTK299,1*2D to the unit to start the unit operating in debug mode.
  • You will then start to see all sorts of output which the GNSS tool will have issues interpreting. Record it until you think you have seen the issue then post the log file and we will see.

Note the debug mode setting is not persistent across power cycles.




After two days, the module has now picked up NMEA 36 and is using it as the primary SBAS satellite, strange that it took so long…

I don’t have direct physical access to the module, but I will debug it when I visit it next time. It’s part of a lightning detection system, so I have it in a remote location to minimize noise affecting the detection rates.



Yes very odd, if you hit any other issues then do as detailed and we will try to have a look at it.