From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 3/3] package: linuxptp: workaround for system crash if PHY is not initialized
Date: Sun, 21 Oct 2018 23:12:14 +0100 [thread overview]
Message-ID: <1cb0189c-1a3d-006f-e4be-aee5ef2756e9@mind.be> (raw)
In-Reply-To: <a7ffc70b-d812-17af-a8cc-f03d368e3b99@jikos.cz>
On 30/01/2018 22:14, Petr Kulhavy wrote:
> Hi Thomas,
>
> most likely I will post another patch for this as I have modified the service
> file even further.
> In the newer version both come after network-online.target because I noticed
> ptp4l fails to execute some ioctl if started too early. This causes that it
> doesn't start syncing.
?This looks to me like something that should be fixed in ptp4l itself. Like, if
you are running ptp4l on a removable device, you have to wait for the device to
be available. Or alternatively, trigger the service on the availability of the
device (i.e. start it from udev). Though honestly I have no idea of how to do
that properly from systemd.
?Anyway, since you said that you have an improved patch lined up, I've marked
this one as Changes Requested in patchwork.
?Regards,
?Arnout
>
> I'm not very happy with the network-online.target either, because it literally
> waits for the network to come up. Which makes some sense - PTP needs a peer -
> however systemd documentation indicates this is not the most reliable way to
> solve missing network and recommends to write robust programs which can wait
> for network.
> And in the end neither ptp4l or phc2sys need the network to be up. They both
> just need the kernel to finish the initialization (which is not the same as
> network up). Unfortunately systemd doesn't provide such target :(
>
> I'm also not an expert in systemd. These changes are base on my
> self-education. So a real systemd expert would be appreciated.
>
> Petr
>
> On 30/01/18 23:01, Thomas Petazzoni wrote:
>> Hello,
>>
>> On Sun, 28 Jan 2018 17:00:21 +0100, Petr Kulhavy wrote:
>>> On some systems (tested on i.MX6 with Freescale kernel 4.1) the system freezes
>>> if phc2sys starts before the PHY is initialized (phc2sys opens /dev/ptp0).
>>>
>>> Unfortunately systemd network.target does not guarantee the PHY to be
>>> initialized.
>>> This workaround pulls in the network-online.target dependency, which postpones
>>> the phc2sys start after the link is up.
>>>
>>> Signed-off-by: Petr Kulhavy <brain@jikos.cz>
>> Do we really want to workaround this, which appears to be a kernel
>> problem?
>>
>>> +# workaround for crashing Freescale PHY if initialized after /dev/ptp0 is open
>>> +After=network-online.target
>>> +Wants=network-online.target
>> Does it make sense to have After and Wants set to the same value ? Are
>> both really needed ?
>>
>> (Again: I don't know much about systemd, so don't hesitate to teach me
>> even the basics!)
>>
>> Thomas
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
next prev parent reply other threads:[~2018-10-21 22:12 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-28 16:00 [Buildroot] [PATCH 1/3] package: linuxptp: bump to the latest GIT version Petr Kulhavy
2018-01-28 16:00 ` [Buildroot] [PATCH 2/3] package: linuxptp: enhance systemd service Petr Kulhavy
2018-01-30 22:00 ` Thomas Petazzoni
2018-01-30 22:19 ` Petr Kulhavy
2018-10-21 23:19 ` Arnout Vandecappelle
2018-01-28 16:00 ` [Buildroot] [PATCH 3/3] package: linuxptp: workaround for system crash if PHY is not initialized Petr Kulhavy
2018-01-30 22:01 ` Thomas Petazzoni
2018-01-30 22:14 ` Petr Kulhavy
2018-10-21 22:12 ` Arnout Vandecappelle [this message]
2018-01-30 22:00 ` [Buildroot] [PATCH 1/3] package: linuxptp: bump to the latest GIT version Thomas Petazzoni
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=1cb0189c-1a3d-006f-e4be-aee5ef2756e9@mind.be \
--to=arnout@mind.be \
--cc=buildroot@busybox.net \
/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