Difference between satellite IDs in $GNGSA and $PSTMSAT

Hello,

I noticed an inconsistency between standard NMEA output and proprietary ST messages.

In the log below, $GNGSA reports satellite ID 70,86,71:

$GNGSA,A,1,70,86,71,94.9,94.9,1.0*20

But a few milliseconds later, the proprietary messages report:

$PSTMSAT,82,02399316,-50177,-2124377,11567958,22642190*59

$PSTMSAT,83,01208337,-46796,16872637,04587718,18599066*48

$PSTMSAT,91,01369206,-46462,17701289,03680361,18063030*47

My question is: why does $GNGSA show satellite ID 70,86,71, while $PSTMSAT shows 82 and 83 and 91?

Is this expected behavior, and is there a documented mapping between the GSA satellite identifier and the PSTMSAT satellite identifier?

I could not find a clear explanation in the documentation. We use Quectel L26-T, firmware version L26TNR01A06V02.

Any clarification would be appreciated.

Hi @ezus,

The discrepancy between the satellite IDs in the standard NMEA message ($GNGSA ) and the proprietary message ($PSTMSAT ) is expected behavior .

  • $GNGSA (Standard NMEA): This message reports “Active Satellites,” which are the specific satellites currently being used in the navigation solution to calculate position.

  • $PSTMSAT (Proprietary PSTM): The “PSTM” prefix indicates this is a ST Proprietary Message defined by the chipset supplier (STMicroelectronics). These messages are often used for internal status or debugging and frequently report all tracked satellites , including those not yet used in a position fix.

In your log, the Talker ID GN indicates a combination of multiple satellite systems. Both sets of IDs (70, 86, 71 and 82, 83, 91) fall within the standard NMEA range for GLONASS satellites:

  • Standard NMEA numbering for GLONASS is typically 65–92 or 65–99 depending on the specific module family.* The fact that both the $GNGSA and $PSTMSAT IDs are in this range suggests they are all GLONASS satellites.

Why the IDs Differ
The discrepancy occurs because the module is at different stages of processing these satellites:

  • Fix Status: In your log, the $GNGSA message shows a fix mode of 1 , which means “Fix not available” . Because there is no valid position fix, the module has not yet fully “activated” the satellites for a solution.
  • Internal Tracking: $PSTMSAT is reporting satellites currently being tracked or searched by the internal engine. Proprietary messages often use internal hardware channel IDs or slot numbers that do not have a 1:1 match with the PRN-based IDs reported in NMEA sentences until a stable fix is achieved.

Best regards.