I am using an ARM device on which Debian is installed. A GPS chip is installed on the machine and I use it in my program.

That being said, it seems extremely, long, or sometimes impossible to even get a fix. My device does not have a clock. Depending on the available sources, I may set the system data from somewhere else (IE if the user connected the device to the WIFI)

I don't really know how timezones operate. My country has only one and it changes according to the season.

My first question would be:

  • In Debian, is the system time relevant to get a GPS fix?
  • If so, what type of date must I set? My country uses GMT but it seems weird for a satellite to even care about that type of concept, I assume they use UTC - is this the case? Right now I'm off by one hour... I think. (09:05 UTC while my country's clock seems to be 10:05)
  • 1
    It seems unlikely that the system time would affect it. GPS works of time signals farm more accurate than your computer is able keep it's own time. The GPS module works by timing the difference between time signals from various satellites so the system time should not affect it. Feb 24 '20 at 9:55
  • @PhilipCouling alright, thanks!
    – Tohkai
    Feb 24 '20 at 10:07

No, the system time on your ARM device (or any other device AFAIK) is not relevant to getting a GPS fix.

Your GPS receiver should output UTC time. In general, GPS time is accurate to within 40 nanoseconds. The receiver performs two sets of calculations to deliver UTC time:

  1. The receiver synchronizes its internal clock with the extremely accurate atomic clocks in each of the GPS satellites. By synchronizing with multiple satellites, the receiver's effective timing accuracy is almost the same as the atomic clocks.
  2. Because the GPS satellites operate on GPS Time which does not include leap-seconds, the receiver must add these leap-seconds to GPS Time to get UTC.

Note that UTC time is the same everywhere in the world. Your local time is offset from UTC, typically based on your geographic location and whether or not some form of Daylight Savings Time is in effect. This is a simple addition or subtraction which is performed by your system. But it does not feed back into the receiver's calculations. The receiver doesn't care about anything except UTC. And as explained here, GMT is a time zone tied to certain geographic locations, whereas UTC is a time standard.

I can only guess as to why your system is having difficulty getting a fix. In my personal experience, weak signals are typically the culprit. Weak signals can result from any of several causes; e.g.:

  • antenna not mounted or connected properly to the receiver,

  • physical obstructions that attenuate the GPS signals (e.g. being indoors, perhaps in a basement not near a window)

  • using an improper antenna (many GPS receivers employ "active" antennas, and simply do not function well without them)

All I can suggest is trying to move your receiver & antenna to a different location (out-of-doors?) & checking to see if that improves acquisition time, and double-checking your receiver manufacturer's specs to ensure you have the proper antenna.

  • thanks a lot, this answers the question as far as I'm concerned, I'm looking into why I'm not receiving - that is quite possibly physical.
    – Tohkai
    Feb 24 '20 at 12:12
  • @Tohkai: That would be my first guess. If you can take the unit outside & compare performance, that will give you a data point. If the location is fixed, you may need a "remote" antenna. These are available commercially, but you'll likely need to verify that any antenna you use is compatible with your receiver. Let us know if you have other questions.
    – Seamus
    Feb 24 '20 at 21:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.