Commit 5f4935c
authored
[action] [PR:24584] [RTC] Update HW clock before start of chrony (#1866)
<!--
Please make sure you've read and understood our contributing guidelines:
https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md
failure_prs.log skip_prs.log Make sure all your commits include a signature generated with `git commit -s` **
If this is a bug fix, make sure your description includes "fixes #xxxx", or
"closes #xxxx" or "resolves #xxxx"
Please provide the following information:
-->
#### Why I did it
Chronyd doesn't update hw-clock if `hwclock --show` equivalent fails. It considers that as driver not being registered.
However, there is a case where RTC might be present but driver returns corrupted values. In that case, hwclock should still be updated by chronyd
Thus, attempt setting the system time to RTC before chronyd starts. This would atleast set it to a correct value and chronyd will eventually update the RTC to time received by NTP servers.
##### Work item tracking
- Microsoft ADO **(number only)**:
#### How I did it
#### How to verify it
Before fix
```
root@sonic:/home/admin# timedatectl
Failed to query server: Failed to read RTC: Input/output error
root@sonic:/home/admin# chronyc tracking
Reference ID : A9FEC8FE (redis_chassis.server)
Stratum : 6
Ref time (UTC) : Fri Nov 07 23:22:50 2025
root@sonic:/home/admin# chronyc rtcdata
513 RTC driver not running
```
After fix and reboot:
```
root@sonic:/home/admin# chronyc rtcdata
RTC ref time (UTC) : Sat Nov 08 01:26:56 2025
Number of samples : 3
Number of runs : 0
Sample span period : 30
RTC is fast by : -0.120769 seconds
RTC gains time at : 82.593 ppm
```
<!--
If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012.
-->
#### Which release branch to backport (provide reason below if selected)
<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->
- [ ] 202205
- [ ] 202211
- [ ] 202305
- [ ] 202311
- [ ] 202405
- [ ] 202411
- [ ] 202505
#### Tested branch (Please provide the tested image version)
<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->
- [ ] <!-- image version 1 -->
- [ ] <!-- image version 2 -->
#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->
<!--
Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.
-->
#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->
#### A picture of a cute animal (not mandatory but encouraged)1 parent 5ce8e78 commit 5f4935c
1 file changed
+6
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
3 | 9 | | |
4 | 10 | | |
5 | 11 | | |
0 commit comments