clock – MacOS timed won’t keep accurate time

My MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports, 16GB) running Big Sur 11.1 won’t keep accurate time. It’s regularly up to a minute off. I verified this using:

I’ve tried sntp -sS time.apple.com, and it doesn’t adjust the time. I’d expect it to step to the right time, given we’re (way!) more than 50ms off.

I’ve tried turning off automatic time sync in the system preferences, then setting the time right by hand, then turning automatic sync back on and it puts the clock back to the wrong time!

I’ve tried killing timed – it’s restarted and the time remains wrong.

I’ve tried removing /var/db/timed/com.apple.timed.plist and then restarting timed. It recreates the file and the time remains wrong.

Reading this question, I checked the contents of the plist file, but mine doesn’t appear to have any store of the current offset:

# plutil -p com.apple.timed.plist
{
  "BootUUID" => "<redacted>"
  "HostUUID" => "<redacted>"
  "RTCResetCount" => 0
  "TMLastNtpFetchAttempt" => 5331203.310338818
  "TMLastRtcTime" => 5331203.336288487
  "TMSystemTimeSet" => 0
  "TMTimeSynthesizer" => {length = 499, bytes = 0x62706c69 73743030 d4010203 04050607 ... 00000000 00000179 }
  "TMVersionKey" => 17
}

No mention of TMLastSystemTime or TMTimeError.

I’m at my wits end with this. It’s a real problem because it often prevents me using 1Password-generated TOTP codes because the drift is so bad.

Any ideas, please?