Re: [Linuxptp-users] gPTP issues with ntpd
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: Miroslav L. <mli...@re...> - 2022-07-20 11:33:29
|
On Wed, Jul 20, 2022 at 12:06:43PM +0200, Jakub Raczyński wrote: > I was trying to setup gPTP using linuxptp (ptp4l + phc2sys) that would allow two way synchronization using ntpd. Setup without ntpd (synchronizing CLOCK_REALTIME) seems to be working perfectly. > However with ntpd is that when in network there is no external gPTP Master available and device does become Master itself it may synchronize itself to its own shm memory. > > > phc2sys is run using: /usr/sbin/phc2sys -a -r -r -f /etc/ptp4l.cfg -E ntpshm -M 4 That is not expected to work. phc2sys has only one servo and ntpshm can be used only in one direction. You would need a second phc2sys instance with an option to only synchronize the PHC, when the port is in master state. As a workaround, you could write a script that would monitor the state and start/stop phc2sys as needed. > While testing devices with gPTP we encountered, in my opinion, quite inconsequential behavior. Using different setups, I set following flags and had following outcome: > > > gmCapable = 0 , slaveOnly = 0 -> OK > gmCapable = 1 , slaveOnly = 0 -> OK > gmCapable = 0 , slaveOnly = 1 -> Cannot mix 1588 slaveOnly with 802.1AS !gmCapable > gmCapable = 1 , slaveOnly = 1 -> OK > > > Frankly, I would expect combination of "gmCapable = 1 , slaveOnly = 1" to fail with than "gmCapable = 0 , slaveOnly = 1". > > > > I would like to ask for reasoning behind that combination block and not the other. Since SlaveOnly flag performs as expected, even for gPTP setup. I'm not sure. If slaveOnly is 1, the clock will not ever be a grandmaster, i.e. not try to send sync messages. What would be different with gmCapable of 0? -- Miroslav Lichvar |