[Buildroot] [PATCH 3/3] package: linuxptp: workaround for system crash if PHY is not initialized

Petr Kulhavy brain at jikos.cz
Tue Jan 30 22:14:46 UTC 2018


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.

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 at 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




More information about the buildroot mailing list