[Linux-aus] Ubuntu 20.04 resume time problem
Eyal Lebedinsky
linux at eyal.emu.id.au
Wed Jul 6 22:00:31 AEST 2022
On 06/07/2022 18.57, Norberto Meijome via linux-aus wrote:
> > With systemd-timesyncd it takes some time to get back to the right time,
> > sometimes more than 10 minutes.
>
> Hi,
> seeing the obvious/expected fixes have failed, I feel less squeamish to suggest an exec of ntpdate on wake and after network service is up. I hoped you could also tweak how aggressively systemd.timesyncd drifts the clock but its config seems quite minimal (only man page checked though).
I see this problem regularly when I boot a windows laptop after running Linux from SSD.
Linux seems to sort this out OK on boot but not windows.
However, when a linux kvm is resumed it does not adjust the time, so my wakeup script issues,
following the 'virsh restore':
ssh eyal at e4 'sudo ntpdate -bu time.iinet.net.au'
I did not find a simpler solution when I looked into it a few years ago.
> good luck,
> B
>
> On Wed, 6 Jul 2022 at 17:45, Russell Coker via linux-aus <linux-aus at lists.linux.org.au <mailto:linux-aus at lists.linux.org.au>> wrote:
>
> On Tuesday, 28 June 2022 13:30:57 AEST NeilBrown via linux-aus wrote:
> > On Tue, 28 Jun 2022, Russell Coker wrote:
> > > I have a laptop that is dual boot Ubuntu 20.04 and Windows. I've
> > > configured it for "RTC in local TZ" with timedatectl so it can have the
> > > same time as Windows (I'm aware that I could change Windows via regedit
> > > to use UTC for the hwclock but I'm trying to work out the best option for
> > > a corporate rollout). The problem is that I resume from suspend and the
> > > system immediately treats the RTC as if it was in UTC thus being out by
> > > 10 hours (time zone +1000).
> > >
> > > How does Ubuntu get the time from the RTC on resume? Any clues as to where
> > > to look would be really appreciated. I've done Google searches and found
> > > nothing helpful. Even if you just know which program does it that would
> > > help a lot, I could read the source.
> >
> > It isn't up to Ubuntu - the Linux kernel does (or should do) everything
> > needed.
> > Providing the kernel is built with CONFIG_PM_SLEEP and
> > CONFIG_RTC_HCTOSYS_DEVICE, and providing you have RTC hardware with a
> > suitable driver, then on suspend rtc_suspend() in drivers/rtc/class.c
> > will take note of the value stored in the rtc, and on resume
> > rtc_resume() will check what the difference was and update the clock.
> >
> > cat /sys/class/rtc/rtc0/hctosys
> >
> > should show "1" if everythings is configured properly. In that case it
> > should "just work".
>
> It does show "1" and the kernel build options include those ones you specify,
> but unfortunately it doesn't "just work".
>
> NTP the protocol allows fixing this with the systemd-timesyncd implementation,
> the ntpd implementation gets unhappy when the time is more than 20 minutes
> out. With systemd-timesyncd it takes some time to get back to the right time,
> sometimes more than 10 minutes.
>
> I have not seen this cause a SSL problem. When this happens Kerberos is no
> more broken than usual (that's another issue I have to solve).
>
> Yes I know that using the local time for the RTC has some downsides, but every
> option for dual boot has some downsides.
>
> Thanks for the suggestions.
>
> --
> My Main Blog http://etbe.coker.com.au/ <http://etbe.coker.com.au/>
> My Documents Blog http://doc.coker.com.au/ <http://doc.coker.com.au/>
--
Eyal Lebedinsky (linux at eyal.emu.id.au)
More information about the linux-aus
mailing list