Re: [Linuxptp-users] Synchronization problem
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: Keller, J. E <jac...@in...> - 2013-05-29 18:31:49
|
> -----Original Message----- > From: Ledda William EXT [mailto:Wil...@it...] > Sent: Wednesday, May 29, 2013 8:32 AM > To: lin...@li... > Subject: [Linuxptp-users] Synchronization problem > > Hi all, > I have encountered a strange behaviour using ptp4l. I have a system > with Linux RH 6.4 and I'm using the package included in the Red Hat 6.4 > distribution (linuxptp-0-0.6.20121114gite6bbbb.el6.x86_64). To synch > the system time I use a motherboard with a Broadcom chipset that > support only SW timestamp. It's ok, and I'm able to synch the system > clock with our GMC with ptp4l. > > Today I was trying to make a trivial but very important test for our > purposes: with the system clock already synch with the GMC I have tried > to change the date of the system to discover how much time ptp4l takes > to reset the system clock to the right time. The result is not good, since > the time is never re-synchronized. If I stop the ptp4l and I restart it the > system is synchronized again. > > I attach two files: > > - Ptp4l-sync: system time bad -> system time synchronize > - Ptp4l-not-synch: system synch -> system time force to be bad. After > about five minutes the system is not syched. > > Regards > > William > In case Richard's explanation doesn't have enough detail, I can explain what is going on. PTP4l's default setting for the servo means it will never use clock jumping no matter how large the offset is. This occurs because you actually normally do not ever want large clock jumps and really only want to use small corrections of clock speed to synch. But that takes a very long time if you do something like move the date, since at most you can correct about half a second per every second you run. If you modify the config parameter like Richard suggested, then you can configure the servo to reset once there is an offset larger than that value in seconds. This should solve the issue for you, as it enables the servo to perform a jump again if the clock is ever off by that large of an offset. - Jake |