System Clock Synchronized But Date Time Wrong

I am having issues with the time synchronization after rebooting my Jetson Orin device.

I have looked at previous posts such as: AGX Orin: RTC always auto reset every time in reboot

Which have told me that the system I am using is on rtc1, and does not have a battery installed.

lrwxrwxrwx 1 root root 4 Mar 15 2023 /dev/rtc → rtc1

Thus on reboot it first has to sync. Which is okay by me.

Therefore in my software startup bash script I have a simple function to check the timedatectl status

is_clock_synchronized() {
  timedatectl status | grep -q "System clock synchronized: yes"
}

  while ! is_clock_synchronized; do
    echo "Waiting for NTP synchronization..."
    sleep 5
  done

echo $(date +%s)

However, even with this in place I am seeing that the time is not synced. Is there something else I can check to verify time? Or would the recommendation be just to setup rtc0 hardware time?

Do you connect to network?

Yes, it is connected to a network, however, the network can be slow at times at these are remote robotic systems.

And to be clear, the system time does sync.

However, what I thought would be an indicator that time has synchronized, the timedatectl status, that does not appear to accurately tell me that time has synched.

Does below command run manually shows “System clock synchronized: yes”?

I got side tracked on this work and circling back to it now, timedatectl status does indeed show yes.

Do you remove the system power?
Does your system have battery for RTC?

Reached out, and it turned out someone removed the battery and after adding it back the time does sync properly.

It is still odd to me that the status shows yes, but it is not synced. That seems like a bug to me. But battery in simply makes it that the time never desyncs.