yocto.lists.yoctoproject.org archive mirror
 help / color / mirror / Atom feed
From: Mike Looijmans <mike.looijmans@topic.nl>
To: yocto@lists.yoctoproject.org
Subject: Re: [yocto] connman + busybox-hwclock startup failure
Date: Fri, 28 Jul 2023 08:15:02 +0200	[thread overview]
Message-ID: <90948cc2-b8d4-dd9b-e419-ffa683c273e1@topic.nl> (raw)
In-Reply-To: <CAHkgX0uZ0Hd5aMx+OcGuYnNdjVjY-nGCWLwL-D9-TbsnXo-m6w@mail.gmail.com>

A bit late, but might be useful to others.

The Linux kernel has options to set the RTC time at boot. This will happen as 
soon as the RTC probes, which is often before the rootfs mounts.

The kernel also has an option to synchronize the RTC to NTP time (userspace 
provides the actual NTP) when available.

Combined this completely replaces the hwclock functionality. In fact, I found 
that I had to bbappend the busybox recipeand remove the hwclock scripts, they 
actually interfere with proper operation:
- At boot, the RTC clock is copied twice
- At shutdown the RTC is set. But most RTC clocks have more accurate time 
keeping (e.g. temperature compensated crystal) than what the system has, so 
this usually makes things worse. Better to set the RTC time from userspace and 
leave it alone.
- Most RTCs have only "second" resolution and setting it too often makes it 
drift more.



On 31-03-2023 00:04, Chris Elledge via lists.yoctoproject.org wrote:
> I've encountered an issue when using a system that has both connman and the 
> hwclock.sh script enabled during startup. The default combined startup order 
> for these two services is wrong.
> 
> Currently connman starts at 05, and hwclock.sh is at 20 (default for 
> update-rc.d). This means that we have a situation where connman starts up and 
> obtains a correct NTP time, then hwclock.sh clobbers the system time with 
> whatever is in the RTC even if it is way in the past. The big issue caused by 
> that is connman schedules its next NTP update at an absolute time of (current 
> time + 1024s). Once the hwclock.sh script knocks the system time way into the 
> past, the NTP update will not run for a potentially very long time.
> 
> I would suggest adding a line to poky/meta/recipes-core/busybox.inc to move 
> hwclock.sh earlier.
> For example:
> INITSCRIPT_PARAMS:${PN}-hwclock = "start 04 2 3 4 5 . stop 20 0 1 6"
> or
> INITSCRIPT_PARAMS:${PN}-hwclock = "start 40 S . stop 20 0 1 6"
> 
> Thanks,
> Chris Elledge
> 
> 

-- 
Mike Looijmans
System Expert

TOPIC Embedded Products B.V.
Materiaalweg 4, 5681 RJ Best
The Netherlands

T: +31 (0) 499 33 69 69
E: mike.looijmans@topic.nl
W: www.topic.nl




  parent reply	other threads:[~2023-07-28  6:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-30 22:04 connman + busybox-hwclock startup failure Chris Elledge
2023-03-31  5:18 ` [yocto] " Alexander Kanavin
2023-07-28  6:15 ` Mike Looijmans [this message]
     [not found] <175151A6DCB6A43F.12651@lists.yoctoproject.org>
2023-03-30 22:10 ` Chris Elledge

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=90948cc2-b8d4-dd9b-e419-ffa683c273e1@topic.nl \
    --to=mike.looijmans@topic.nl \
    --cc=yocto@lists.yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).