Skip to content

[Bug]: HGLRC M100 Mini GPS checksum errors on every position update #10977

Description

@liamhays

Category

Hardware Compatibility

Hardware

Heltec V3

Is this bug report about any UI (https://meshtastic.org/docs/configuration/device-uis/) component firmware?

  • Meshtastic UI aka MUI
  • InkHUD
  • BaseUI

Firmware Version

2.7.15

Description

I have a Heltec V3 connected to a HGLRC M100 Mini GPS with a MOSFET to control power, and the Heltec never powers off the GPS after the first position update interval. I think this is caused by a communication error with the GPS.

I have read what I think are the relevant bug reports, #3310 and #4340. I have a Heltec V3 connected to a HGLRC M100 Mini (a ublox M10 module), with a 2N7000 N-channel MOSFET controlling the power to the GPS. The GPS is powered on when the system turns on, and it turns off after the first GPS update very consistently, then never turns off after any subsequent update. In the logs, you can see that the GPS is usually put to soft sleep instead of hard sleep, and I think it's because every time the Heltec tries to communicate with the GPS, it gets lots of checksum errors. These errors cause it to overestimate the time taken to get a fix, so the firmware mistakenly leaves the GPS powered. I have the position update interval set to 2 minutes. I think these errors are the root cause of the problem, but the issues linked above make it seem as though the bug was fixed years ago.

I can see that the GPS has some kind of backup battery, and that it has charge, because from a powered off warmstart it gets a fix in maybe 5 seconds. The GPS is also always functional, and when Meshtastic eventually gets position data, it is correct---it just takes a long time to get that data because of the checksum errors. The logs attached show everything that happens: on startup, some messages get NAKed and Meshtastic has lots of checksum errors, but eventually gets a position.

Relevant log output

WARN  | 15:19:42 22 [GPS] Got NAK for class 06 message 8A
WARN  | 15:19:42 22 [GPS] Unable to "enable powersave for M10 GPS RAM"
WARN  | 15:19:42 22 [GPS] Got NAK for class 06 message 8A
WARN  | 15:19:42 22 [GPS] Unable to "enable powersave for M10 GPS BBR"
INFO  | 15:19:48 28 [GPS] GNSS module configuration saved!
<snip>
WARN  | 07:09:42 74 [GPS] 1 new GPS checksum failures, for a total of 5
<snip>
WARN  | 07:10:21 113 [GPS] 2 new GPS checksum failures, for a total of 27
WARN  | 07:10:23 116 [GPS] 2 new GPS checksum failures, for a total of 29
DEBUG | 07:10:37 130 [GPS] Publish pos@6a50ef4e:2, hasVal=1, Sats=5, GPSlock=1
DEBUG | 07:10:37 130 [GPS] New GPS pos@6a50ef4e:3 lat=xx.xxxxxx lon=xx.xxxxxx alt=xxxx pdop=4.37 track=276.06 speed=0.00 sats=5
DEBUG | 07:10:37 130 [GPS] onGPSChanged() pos@6a50ef4e time=1783689037 lat=351460818 lon=-1065356690 alt=1709
DEBUG | 07:10:37 130 [GPS] Took 128s to get lock
DEBUG | 07:10:37 130 [GPS] Predict 0s to get next lock
DEBUG | 07:10:37 130 [GPS] 119s until next search
DEBUG | 07:10:37 130 [GPS] gps_update_interval >= 0s needed to justify hardsleep
INFO  | 07:10:37 130 [GPS] GPS power state move from ACTIVE to HARDSLEEP
<snip>
INFO  | 07:18:13 585 [GPS] GPS power state move from SOFTSLEEP to ACTIVE
WARN  | 07:18:16 588 [GPS] 1 new GPS checksum failures, for a total of 122
<snip>
WARN  | 07:18:56 629 [GPS] 1 new GPS checksum failures, for a total of 179
<snip>
DEBUG | 07:18:59 632 [GPS] Publish pos@6a50f144:2, hasVal=1, Sats=5, GPSlock=1
DEBUG | 07:18:59 632 [GPS] New GPS pos@6a50f144:3 lat=xx.xxxxxx lon=xx.xxxxxx alt=xxxx pdop=4.72 track=268.23 speed=0.01 sats=5
<snip>
DEBUG | 07:18:59 632 [GPS] Took 46s to get lock
DEBUG | 07:18:59 632 [GPS] Predict 37s to get next lock
DEBUG | 07:18:59 632 [GPS] 82s until next search
DEBUG | 07:18:59 632 [GPS] gps_update_interval >= 225s needed to justify hardsleep
INFO  | 07:18:59 632 [GPS] GPS power state move from ACTIVE to SOFTSLEEP

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions