10

I'm running Ventura 13.4 on an M2 MacBook Air. I run the FT8 and FT4 digital modes for ham radio.

FT8/4 requires fairly accurate time synchronization. It seems that macOS gets out of sync when waking up from sleep. (See Time.apple.com sync).

The solution for better time synchronization is to run chrony, or better, the GUI version, chronyControl. (See Accurate time keeping on an Apple Mac running macOS Big Sur for FT8, FT4 and WSPR)

This has been working well for me, very well. My clock is very accurate. However, I'm still having time-shift issues. Notice that the time.is website says my time is +-0.001 seconds. But look at the left-hand side, the third column is my time shift compared to others, the rest of the world is about 0.8 seconds off.

Screenshot of two windows: the left window shows timings for FT8/FT4 while the right window is the current time according to the website time.is

Since it is unlikely that the rest of the world is wrong, I must be wrong. Other hams have steered me to the likely culprit: I have an audio latency issue. The audio setup is simple and fixing it is unlikely. So I'd like to be able to bump my system clock by fractions of a second. (Clearly, I'll have to disable chronyControl when I do this!)

Any sort of shell script to read the time and set the time would probably not work well since it would take a fraction of a second to run. I need a better way to do this.

How can I bump my system clock by a specified amount?

6
  • 15
    It seems to me that the radio software should handle an offset introduced by lag instead of you miscalibrating your system clock.
    – Carsten S
    Dec 5, 2023 at 11:30
  • 1
    If you are into amateur radio, I am surprised you do not seem to be running your own GPS time server.
    – Bib
    Dec 5, 2023 at 13:20
  • 2
    The time server isn't the issue. My time is correct. The audio latency isn't the issue. (And yes, I should get a GPS dongle for time, some day...) Dec 5, 2023 at 14:45
  • 1
    The software really should, but, it doesn't. It is open source and I suppose I could take a crack at it, but I retired from software dev awhile back. No coding for me anymore. Dec 5, 2023 at 14:45
  • 1
    'The software' is wsjtx. Dec 14, 2023 at 23:19

2 Answers 2

25

You're using chrony to synchronize time with NTP servers and managing it with the ChronyControl program. In the ChronyControl Settings window, you can click "Edit Configuration" to edit the chrony.conf file.

In here you will find a definition of your time sources (amongst other things). For example it will look like this:

server 1.dk.pool.ntp.org iburst

You can add a setting like this:

offset -0.8

This would ensure that your clock is bumped by -0.8 seconds compared to what it would otherwise have been synchronized to.

The edited time source configuration line would then look like this:

server 1.dk.pool.ntp.org iburst offset -0.8

If you're using "pool" instead of "server" the principle is the same.

13
  • 1
    It's even easier than that, see my answer... Dec 4, 2023 at 22:06
  • 14
    Matter of opinion. Personally, I'm not sure that a method requiring four images is easier than a one-line edit to a config file. Even a WIMP like me finds command line easier sometimes. (Window-Icon-Mouse Person)
    – WGroleau
    Dec 4, 2023 at 23:09
  • @WGroleau I'm a command-line lover myself, but I have to admit that the GUI solution is much simpler in this case. And it's not 4 images, it's just two clicks. (although I'm not sure that solution is equivalent to yours, seems like the GUI solution notification message claims that it only sync once with offset then no longer sync? that's weird)
    – justhalf
    Dec 5, 2023 at 2:42
  • You might be right, but it sure took a lot more to explain.
    – WGroleau
    Dec 5, 2023 at 3:13
  • 7
    @PaulCezanne The solutions are not the same. The GUI version disables time synchronization, the chrony.conf version will keep synchronization running and continuously apply the offset.
    – nohillside
    Dec 5, 2023 at 10:04
10

You can offset the time using ChronyControl GUI.

Select "Step Time" from the pulldown menu.

enter image description here

Enter the amount of offset you need, here I'm setting 0.8 seconds.

enter image description here

Note, you time will be offset as you expected but it may drift. When you no longer need the offset just re-sync with the time server.

enter image description here

Ensure that restart chronic is checked

enter image description here

3
  • 10
    As far as I understood what you write here, this is a temporary measurement only. I.e. you step the time, but you then are no longer synchronized at all with time servers. The next time you synchronize with time servers, your clock will no longer be offset with 0.8 seconds. It is suitable for some, but just to note that for others it might be good with a "permanent" solution.
    – jksoegaard
    Dec 5, 2023 at 9:11
  • 9
    This is a one-off and the MacOS clock will drift quickly after setting this. A full second of drift per hour is not unusual. Which may be too much drift in the long run if your HAM sessions take longer than 30 minutes.
    – Tonny
    Dec 5, 2023 at 10:34
  • 1
    Oh fun, I should measure that! Dec 5, 2023 at 22:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .