Table of Contents
To check software date and time #
root@imx8mq-trux-q01:~# date
To set software date and time #
root@imx8mq-trux-q01:~# date --set="20211229 15:35"
output
Wed Dec 29 15:35:00 UTC 2021
To check hardware RTC #
root@imx8mq-trux-q01:~# hwclock
To set the hardware RTC #
root@imx8mq-trux-q01:~# hwclock --systohc --utc
Now reboot the device and check for software and hardware date and time
root@imx8mq-trux-q01:~# date Wed Dec 29 15:35:28 UTC 2021 root@imx8mq-trux-q01:~# hwclock 2021-12-29 15:35:11.696826+00:00
NOTE: Commonly faced errors for hardware RTC
Even after syncing software and hardware clock, if the hardware clock does not update after reboot and/or returns the following error
root@imx8mq-trux-q01:~# hwclock hwclock: ioctl(RTC_RD_TIME) to /dev/rtc0 to read the time failed: Invalid argument
Read the register value 0x37 of RV3028 by using
root@imx8mq-trux-q01:~# i2cget -y -f -a 1 0x52 0x37
If the output of the above command is anything else except 0x94 then use the below command. (Make sure the coin cell is connected)
root@imx8mq-trux-q01:~# i2cset -y -f -a 1 0x52 0x37 0x94
Now set the hardware RTC to sync software and hardware date and time.