linuxptp-users Mailing List for linuxptp (Page 126)
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
You can subscribe to this list here.
2012 |
Jan
|
Feb
(10) |
Mar
(47) |
Apr
|
May
(26) |
Jun
(10) |
Jul
(4) |
Aug
(2) |
Sep
(2) |
Oct
(20) |
Nov
(14) |
Dec
(8) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2013 |
Jan
(6) |
Feb
(18) |
Mar
(27) |
Apr
(57) |
May
(32) |
Jun
(21) |
Jul
(79) |
Aug
(108) |
Sep
(13) |
Oct
(73) |
Nov
(51) |
Dec
(24) |
2014 |
Jan
(24) |
Feb
(41) |
Mar
(39) |
Apr
(5) |
May
(6) |
Jun
(2) |
Jul
(5) |
Aug
(15) |
Sep
(7) |
Oct
(6) |
Nov
|
Dec
(7) |
2015 |
Jan
(27) |
Feb
(18) |
Mar
(37) |
Apr
(8) |
May
(13) |
Jun
(44) |
Jul
(4) |
Aug
(50) |
Sep
(35) |
Oct
(6) |
Nov
(24) |
Dec
(19) |
2016 |
Jan
(30) |
Feb
(30) |
Mar
(23) |
Apr
(4) |
May
(12) |
Jun
(19) |
Jul
(26) |
Aug
(13) |
Sep
|
Oct
(23) |
Nov
(37) |
Dec
(15) |
2017 |
Jan
(33) |
Feb
(19) |
Mar
(20) |
Apr
(43) |
May
(39) |
Jun
(23) |
Jul
(20) |
Aug
(27) |
Sep
(10) |
Oct
(15) |
Nov
|
Dec
(24) |
2018 |
Jan
(3) |
Feb
(10) |
Mar
(34) |
Apr
(34) |
May
(28) |
Jun
(50) |
Jul
(27) |
Aug
(75) |
Sep
(21) |
Oct
(42) |
Nov
(25) |
Dec
(31) |
2019 |
Jan
(39) |
Feb
(28) |
Mar
(19) |
Apr
(7) |
May
(30) |
Jun
(22) |
Jul
(54) |
Aug
(36) |
Sep
(19) |
Oct
(33) |
Nov
(36) |
Dec
(32) |
2020 |
Jan
(29) |
Feb
(38) |
Mar
(29) |
Apr
(30) |
May
(39) |
Jun
(45) |
Jul
(31) |
Aug
(52) |
Sep
(40) |
Oct
(8) |
Nov
(48) |
Dec
(30) |
2021 |
Jan
(35) |
Feb
(32) |
Mar
(23) |
Apr
(55) |
May
(43) |
Jun
(63) |
Jul
(17) |
Aug
(24) |
Sep
(9) |
Oct
(31) |
Nov
(67) |
Dec
(55) |
2022 |
Jan
(31) |
Feb
(48) |
Mar
(76) |
Apr
(18) |
May
(13) |
Jun
(46) |
Jul
(75) |
Aug
(54) |
Sep
(59) |
Oct
(65) |
Nov
(44) |
Dec
(7) |
2023 |
Jan
(38) |
Feb
(32) |
Mar
(35) |
Apr
(23) |
May
(46) |
Jun
(53) |
Jul
(18) |
Aug
(10) |
Sep
(24) |
Oct
(15) |
Nov
(40) |
Dec
(6) |
From: Keller, J. E <jac...@in...> - 2015-06-29 22:34:34
|
Hi, Make sure you have disabled EEE support. If EEE is on, then the i210 device can take a very long time to return timestamps if the only traffic running is ptp. (since the link will go to sleep inbetween the frames). That should be the issue here. If you still see the issue please let me know. Regards, Jake > -----Original Message----- > From: Axel Holzinger [mailto:aho...@gm...] > Sent: Monday, June 29, 2015 3:24 PM > To: lin...@li... > Subject: [Linuxptp-users] tx_timestamp_timeout and i210 > > Hi Richard et al, > > on Ubuntu 14.04 with all updates and latest Intel i210 igb driver I > regularly get tx_timestamp_timeout error messages with the default > timeout > of 1ms. I then changed to 5ms and since then I don't see any more errors. > > Does anybody see similar problems? Might this be a problem of the PC > (some > years old HP xw workstation) or might this be a i210 problem? > > Any hint appreciated. > > Regards > Axel > > > > ------------------------------------------------------------------------------ > Don't Limit Your Business. Reach for the Cloud. > GigeNET's Cloud Solutions provide you with the tools and support that > you need to offload your IT needs and focus on growing your business. > Configured For All Businesses. Start Your Cloud Today. > https://www.gigenetcloud.com/ > _______________________________________________ > Linuxptp-users mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxptp-users |
From: Axel H. <aho...@gm...> - 2015-06-29 22:24:10
|
Hi Richard et al, on Ubuntu 14.04 with all updates and latest Intel i210 igb driver I regularly get tx_timestamp_timeout error messages with the default timeout of 1ms. I then changed to 5ms and since then I don't see any more errors. Does anybody see similar problems? Might this be a problem of the PC (some years old HP xw workstation) or might this be a i210 problem? Any hint appreciated. Regards Axel |
From: Richard C. <ric...@gm...> - 2015-06-29 22:11:28
|
On Mon, Jun 29, 2015 at 03:12:39PM -0500, Robb wrote: > Does something like this exist? Yes, we have the 'pmc' (PTP managment client) for that. You can query the local node via UDS or the entire network via normal PTP managment messages. The program has both interactive and command line modes. Some of the queries are: CURRENT_DATA_SET for offsetFromMaster and meanPathDelay PARENT_DATA_SET find out the GM identity TIME_PROPERTIES_DATA_SET find out whether time is globally traceable PORT_DATA_SET knowing the portState can be useful, SLAVE and MASTER You can make a really simple monitoring application using 'watch' together with 'pmc'. Cheers, Richard |
From: Insop S. <Ins...@ga...> - 2015-06-29 22:07:02
|
I use a wrapp scrip around pmc. - use pmc as is, for example """ - example pmc outputs $ pmc -u -b 0 'GET CURRENT_DATA_SET' sending: GET CURRENT_DATA_SET 2c553c.fffe.0008b0-0 seq 0 RESPONSE MANAGMENT CURRENT_DATA_SET stepsRemoved 1 offsetFromMaster 11111 meanPathDelay 11197.0 $ pmc -u -b 0 'GET TIME_STATUS_NP' sending: GET TIME_STATUS_NP 2c553c.fffe.0008b0-0 seq 0 RESPONSE MANAGMENT TIME_STATUS_NP master_offset 111 ingress_time 92954226412560 cumulativeScaledRateOffset +0.000000000 scaledLastGmPhaseChange 0 gmTimeBaseIndicator 0 lastGmPhaseChange 0x0000'0000000000000000.0000 gmPresent true gmIdentity 99553c.fffe.0003c0 $ pmc -u -b 0 'GET PORT_DATA_SET' sending: GET PORT_DATA_SET 2c553c.fffe.0003c0-1 seq 0 RESPONSE MANAGMENT PORT_DATA_SET portIdentity 99553c.fffe.0003c0-1 portState MASTER logMinDelayReqInterval 0 peerMeanPathDelay 0 logAnnounceInterval 0 announceReceiptTimeout 3 logSyncInterval 1 delayMechanism 1 logMinPdelayReqInterval 0 versionNumber 2 """ - or use this script output example which can be fed to other program easily ./show-ptp SLAVE SYNC -106 994a00.fffe.040144 16878.0 -------- - cat show-ptp #! /usr/bin/env python import errno, os import os.path import time import sys import random import subprocess import time import logging """ - example pmc outputs $ pmc -u -b 0 'GET CURRENT_DATA_SET' sending: GET CURRENT_DATA_SET 2c553c.fffe.0008b0-0 seq 0 RESPONSE MANAGMENT CURRENT_DATA_SET stepsRemoved 1 offsetFromMaster 811103.0 meanPathDelay 11197.0 $ pmc -u -b 0 'GET TIME_STATUS_NP' sending: GET TIME_STATUS_NP 2c553c.fffe.0008b0-0 seq 0 RESPONSE MANAGMENT TIME_STATUS_NP master_offset 811036 ingress_time 92954226412560 cumulativeScaledRateOffset +0.000000000 scaledLastGmPhaseChange 0 gmTimeBaseIndicator 0 lastGmPhaseChange 0x0000'0000000000000000.0000 gmPresent true gmIdentity 2c553c.fffe.0003c0 $ pmc -u -b 0 'GET PORT_DATA_SET' sending: GET PORT_DATA_SET 2c553c.fffe.0003c0-1 seq 0 RESPONSE MANAGMENT PORT_DATA_SET portIdentity 2c553c.fffe.0003c0-1 portState MASTER logMinDelayReqInterval 0 peerMeanPathDelay 0 logAnnounceInterval 0 announceReceiptTimeout 3 logSyncInterval 1 delayMechanism 1 logMinPdelayReqInterval 0 versionNumber 2 """ # doesn't have to be dict, in case we need a "keyword" based retrieval in the future, so use dict instead of list ptp_oper_dict = { # [cmd, anchor keywords,...] 1: ["pmc -u -b 0 'GET PORT_DATA_SET'", 'portState'], 2: ["pmc -u -b 0 'GET TIME_STATUS_NP'", 'gmPresent', 'master_offset', 'gmIdentity'], 3: ["pmc -u -b 0 'GET CURRENT_DATA_SET'", 'meanPathDelay'] } fake_result = [ [ 'MASTER', 'MASTER', '0', '2c553c.fffe.000550', '0.0', ], [ 'SLAVE', 'UNCALIBRATED', '0', '2c553c.fffe.000550', '0.0', ] ] unknown_result = [ 'UNKNOWN', 'UNKNOWN', '0', '0', '0.0', ] # run subprocess and returns out, err, errcode def run_shell2(dir, ctx, args): cwd = os.getcwd() os.chdir(dir) process = subprocess.Popen(args, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = process.communicate() errcode = process.returncode logging.debug('OK: [%s] %s' % (os.getcwd(), args)) os.chdir(cwd) return out, err, errcode def get_after_keword(s, keyword): b,k,a = s.partition(keyword) if k is '': return -1, None t = a.split('\n') t1 = t[0].split() return 0, ' '.join(t1) def check_pmc_exist(): if os.path.isfile('/usr/bin/pmc'): return 0 return 1 # # output format: '\n' separated # > getting> role/status, gmpresent, offset, gm id, pathdelay # > returning> role, status, offset, gm id, pathdelay # def show_ptp_oper(debug): result = [] r = check_pmc_exist() if r != 0: # return fake data print '\n'.join(random.choice(fake_result)) return -1 len_dic = len(ptp_oper_dict) for key in range(1,len_dic+1): cmd = ptp_oper_dict[key][0] search_word = ptp_oper_dict[key][1:] logging.debug('running %s' % cmd) out, err, errcode = run_shell2('.', None, cmd) out = out.strip() if errcode != 0: print '\n'.join(unknown_result) return -1 for item in search_word: r, word = get_after_keword(out, item) if r == -1: print '\n'.join(unknown_result) return -1 result.append(word) tmp = result[0] tmp1 = result[1] if result[1] == "false" and result[0] == "MASTER": result[0] = "MASTER" else: result[0] = "SLAVE" result[1] = tmp if tmp1 == "true": if tmp == "SLAVE": # state slave and gm present is true result[1] = "SYNC" elif tmp == "LISTENING": # listening and gm present is true result[1] = "HOLDOVER" print '\n'.join(result) return 0 if __name__ == '__main__': logging.basicConfig(level=logging.INFO) debug = 0 if len(sys.argv) > 1: debug = 1 r = show_ptp_oper(debug) sys.exit(r) ________________________________________ From: Robb <rba...@gm...> Sent: Monday, June 29, 2015 1:12 PM To: lin...@li... Subject: [Linuxptp-users] Is there a way to query ptp4l or phc2sys status? I have synced the clocks between two machines quite well and was curious if there is an easy way to query my slave machine from the command line and determine if the clocks are in sync. It is obvious to look at the logs and tell that they are currently in sync, but I was hoping to not have to write a tool to scrape the logs, also I really would prefer not to log the information anyway. Does something like this exist? Thanks. ------------------------------------------------------------------------------ Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ _______________________________________________ Linuxptp-users mailing list Lin...@li... https://lists.sourceforge.net/lists/listinfo/linuxptp-users |
From: Robb <rba...@gm...> - 2015-06-29 20:13:06
|
I have synced the clocks between two machines quite well and was curious if there is an easy way to query my slave machine from the command line and determine if the clocks are in sync. It is obvious to look at the logs and tell that they are currently in sync, but I was hoping to not have to write a tool to scrape the logs, also I really would prefer not to log the information anyway. Does something like this exist? Thanks. |
From: Chandra M. <sma...@al...> - 2015-06-24 01:51:19
|
Hi Richard, Thank you very much. Yes, I need to look at stats.c block - trying to take advantage of your having gone through it already. I am sorry for that. Thanking you in anticipation, Regards, Chandra (c) : +60.175508142 (O): +60.4.636.6412 "Knowledge speaks, Wisdom listens" -----Original Message----- From: Richard Cochran [mailto:ric...@gm...] Sent: Monday, June 22, 2015 9:13 PM To: Chandra Mallela Cc: Miroslav Lichvar; lin...@li... Subject: Re: [Linuxptp-users] Interpretation of ptp4l results On Mon, Jun 22, 2015 at 12:22:01PM +0000, Chandra Mallela wrote: > Offset correction: the 'rms' (root mean squre - 2 ns in the above > case) is the mean offset (calculated as squareroot of the mean of the > offset squares) of all the offsets in the sample observed in the > interval and 'max' (7ns) is the maximum offset observed within the > sample. Yes. > Frequency correction: Mean frequency deviation observed is 156403 ppb > with the standard deviation of 7 pbb Yes. > (if so, is 7pbb at 3sigma?): ? > likening it to gaussian/normal distribution ?? > Path delay: the mean value is 28ns and the standard deviation is 0: Yes. > likening it to the gaussian/normal distribution ??? Take a look at stats.c to see how the stddev is being calculated. It is really straightforward. Thanks, Richard ________________________________ Confidentiality Notice. This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution, or copying of this message, or any attachments, is strictly prohibited. If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments. Thank you. |
From: Richard C. <ric...@gm...> - 2015-06-22 13:13:37
|
On Mon, Jun 22, 2015 at 12:22:01PM +0000, Chandra Mallela wrote: > Offset correction: the 'rms' (root mean squre - 2 ns in the above > case) is the mean offset (calculated as squareroot of the mean of > the offset squares) of all the offsets in the sample observed in the > interval and 'max' (7ns) is the maximum offset observed within the > sample. Yes. > Frequency correction: Mean frequency deviation observed is 156403 > ppb with the standard deviation of 7 pbb Yes. > (if so, is 7pbb at 3sigma?): ? > likening it to gaussian/normal distribution ?? > Path delay: the mean value is 28ns and the standard deviation is 0: Yes. > likening it to the gaussian/normal distribution ??? Take a look at stats.c to see how the stddev is being calculated. It is really straightforward. Thanks, Richard |
From: Chandra M. <sma...@al...> - 2015-06-22 12:22:21
|
Hi Richard, Sorry for belaboring on this. Can I then confirm the following mathematical definitions of the ptp4l repor, based on our mail threadt? This helps all of us (mostly rookies like me) to be on clear mathematical understanding of what is reported. When ptp4l reports: ptp4l[833.369]: rms 2 max 7 freq -156403 +/- 7 delay 28 +/- 0 Offset correction: the 'rms' (root mean squre - 2 ns in the above case) is the mean offset (calculated as squareroot of the mean of the offset squares) of all the offsets in the sample observed in the interval and 'max' (7ns) is the maximum offset observed within the sample. Frequency correction: Mean frequency deviation observed is 156403 ppb with the standard deviation of 7 pbb (if so, is 7pbb at 3sigma?): likening it to gaussian/normal distribution Path delay: the mean value is 28ns and the standard deviation is 0: likening it to the gaussian/normal distribution Thanking you in anticipation, Regards, Chandra (c) : +60.175508142 (O): +60.4.636.6412 "Knowledge speaks, Wisdom listens" -----Original Message----- From: Richard Cochran [mailto:ric...@gm...] Sent: Monday, June 22, 2015 2:31 PM To: Chandra Mallela Cc: Miroslav Lichvar; lin...@li... Subject: Re: [Linuxptp-users] Interpretation of ptp4l results On Sun, Jun 21, 2015 at 11:09:08PM +0000, Chandra Mallela wrote: > However, you mention that 'max' for the offset is simply the maximum > offset observed in the sample. In that case, do frequency correction > and offset correction values differ in their definitions (with 7ns in > the offset defining the max offset in the sample whereas 7 pbb in the > frequency showing the maximum deviation from the mean)? These are two different parameters, and they are indeed defined differently. The offset is the observed offset based on the result of the PTP. The frequency is the output from the servo, and it is only indirectly related to the observed offset. For example, using a weak proportional weight, you will have see a smaller range of frequencies. Or if you prohibit resetting the clock, a large offset will cause a constant frequency value (steering using the maximum possible value). HTH, Richard ________________________________ Confidentiality Notice. This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution, or copying of this message, or any attachments, is strictly prohibited. If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments. Thank you. |
From: Richard C. <ric...@gm...> - 2015-06-22 06:31:21
|
On Sun, Jun 21, 2015 at 11:09:08PM +0000, Chandra Mallela wrote: > However, you mention that 'max' for the offset is simply the maximum > offset observed in the sample. In that case, do frequency correction > and offset correction values differ in their definitions (with 7ns > in the offset defining the max offset in the sample whereas 7 pbb in > the frequency showing the maximum deviation from the mean)? These are two different parameters, and they are indeed defined differently. The offset is the observed offset based on the result of the PTP. The frequency is the output from the servo, and it is only indirectly related to the observed offset. For example, using a weak proportional weight, you will have see a smaller range of frequencies. Or if you prohibit resetting the clock, a large offset will cause a constant frequency value (steering using the maximum possible value). HTH, Richard |
From: Richard C. <ric...@gm...> - 2015-06-22 06:20:10
|
On Mon, Jun 22, 2015 at 03:35:19AM +0000, Daniel Le wrote: > Does ptp4l step only once (assuming the default first_step_threshold of 20 microseconds is met) no matter how master offsets vary afterward? No, you can step a second and subsequent times by setting 'step_threshold' to a non-zero value. HTH, Richard |
From: Daniel Le <dan...@ex...> - 2015-06-22 03:35:27
|
Does ptp4l step only once (assuming the default first_step_threshold of 20 microseconds is met) no matter how master offsets vary afterward? Daniel -----Original Message----- From: Daniel Le Sent: Friday, June 19, 2015 4:10 PM To: 'Richard Cochran' Cc: Lin...@li... Subject: Re: [Linuxptp-users] sanity_freq_limit "...or that the change in time is not reflected in the subsequent time stamps". This is a good pointer for debugging. The system clock may have been stepped, but the FPGA hardware clock is not stepped and continues to provide the timestamps from its un-stepped clock. Much appreciate it. Daniel -----Original Message----- From: Richard Cochran [mailto:ric...@gm...] Sent: Friday, June 19, 2015 3:59 PM To: Daniel Le Cc: Lin...@li... Subject: Re: [Linuxptp-users] sanity_freq_limit On Fri, Jun 19, 2015 at 07:43:01PM +0000, Daniel Le wrote: > > PHC is not used in my system. I have a proprietary NIC FPGA-based MAC > driver which has its own hardware clock, and in this scheme, > synchronizes to the Linux system clock that in turn is synchronized to > PTP Grandmaster via software timestamping mechanism. The timestamps of > PTP packets are provided by the FPGA MAC driver may cause problem. It > seems that the system clock fails to be stepped. Okay, so you have a special custom setup. I cannot really guess what is wrong, but it does appear that whatever clock you are using is failing to jump, or that the change in time is not reflected in the subsequent time stamps. Thanks, Richard ------------------------------------------------------------------------------ _______________________________________________ Linuxptp-users mailing list Lin...@li... https://lists.sourceforge.net/lists/listinfo/linuxptp-users |
From: Chandra M. <sma...@al...> - 2015-06-21 23:24:12
|
Hi Miroslav et al, Perhaps I am not clear about my question - just would like to understand the mathematical interpretation of the following for the offset and frequency corrections. For example, in the following output, Frequency correction: Average frequency deviation observed is 156403 ppb with the maximum deviation of 7 pbb. Offset correction: the 'rms' (root mean squre) is the mean offset of all the offsets in the sample observed in the interval and 'max' is the maximum deviation observed from the rms value. However, you mention that 'max' for the offset is simply the maximum offset observed in the sample. In that case, do frequency correction and offset correction values differ in their definitions (with 7ns in the offset defining the max offset in the sample whereas 7 pbb in the frequency showing the maximum deviation from the mean)? ptp4l[833.369]: rms 2 max 7 freq -156403 +/- 7 delay 28 +/- 0 Thanking you in anticipation, Regards, Chandra (c) : +60.175508142 (O): +60.4.636.6412 "Knowledge speaks, Wisdom listens" -----Original Message----- From: Chandra Mallela Sent: Saturday, June 20, 2015 12:41 AM To: 'Miroslav Lichvar' Cc: lin...@li... Subject: RE: [Linuxptp-users] Interpretation of ptp4l results Hi Miroslav, My question is about mathematical interpretation of the output from the ptp4l stack. If I see the output like the one below, is it fair to assume that the 'rms' (root mean squre) is the mean offset of all the sample offsets observed in the interval and 'max' is the maximum deviation observed from the rms value? I am likening it to kinda gaussian/normal distribution but without sign interpretation. Otherwise, I am fully in line with what you have mentioned below. ptp4l[833.369]: rms 2 max 7 freq -156403 +/- 7 delay 28 +/- 0 Thanking you in anticipation, Regards, Chandra (c) : +60.175508142 (O): +60.4.636.6412 "Knowledge speaks, Wisdom listens" -----Original Message----- From: Miroslav Lichvar [mailto:mli...@re...] Sent: Friday, June 19, 2015 4:23 PM To: Chandra Mallela Cc: lin...@li... Subject: Re: [Linuxptp-users] Interpretation of ptp4l results On Fri, Jun 19, 2015 at 07:53:52AM +0000, Chandra Mallela wrote: > > > Hi Friends, > > I would like to double-check whether my following interpretation is correct. Please elucidate me. > > For the following ptp4l output, the ptp4l reports rms value and the max deviation from the mean offset. Thus, if I have to report the worstcase accuracy, I take the (rms+max). For example, , looking at the first line, I see that the maximum offset uncertainty/inaccuracy observed is 2 +7 = 9ns. The maximum frequency uncertainty is (156403 + 7) pbb. The max value is just the maximum measured offset in that interval. It doesn't mean it's also the worst accuracy of the clock. There could be an asymmetry in the network delay and ptp4l wouldn't know the clock is actually behind or ahead of the time source. To evaluate the accuracy you would to measure the error independendly from PTP, for example by comparing PPS signal generated by the synchronized clock with the reference on a scope. -- Miroslav Lichvar ________________________________ Confidentiality Notice. This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution, or copying of this message, or any attachments, is strictly prohibited. If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments. Thank you. |
From: Caleb Yu <cal...@gm...> - 2015-06-20 15:35:23
|
Thank you Richard. I will try it out. Caleb On Jun 20, 2015 10:56 PM, "Richard Cochran" <ric...@gm...> wrote: > On Sat, Jun 20, 2015 at 06:59:07PM +0800, Caleb Yu wrote: > > To Richard: > > Thank you for replying so fast. Which file can I go and see what each > > configurations options like -m, -q configure? -m should master mode > right? > > No, '-m' is to print the program's output to the terminal. > You can get a summary of the command line options like this: > > ptp4l -h > > To read the complete documentation, enter this command: > > man ptp4l > > If you didn't run "make install", then you can simply read the man > page in place: > > man -l ptp4l.8 > > The other programs, phc2sys and pmc, also have man pages. > > Cheers, > Richard > |
From: Richard C. <ric...@gm...> - 2015-06-20 14:56:58
|
On Sat, Jun 20, 2015 at 06:59:07PM +0800, Caleb Yu wrote: > To Richard: > Thank you for replying so fast. Which file can I go and see what each > configurations options like -m, -q configure? -m should master mode right? No, '-m' is to print the program's output to the terminal. You can get a summary of the command line options like this: ptp4l -h To read the complete documentation, enter this command: man ptp4l If you didn't run "make install", then you can simply read the man page in place: man -l ptp4l.8 The other programs, phc2sys and pmc, also have man pages. Cheers, Richard |
From: Caleb Yu <cal...@gm...> - 2015-06-20 10:59:14
|
To Richard: Thank you for replying so fast. Which file can I go and see what each configurations options like -m, -q configure? -m should master mode right? This will help me to able to have more advanced configuration if needed. Thank you again. I am looking forwarding to using the program. Sincerely, Caleb 2015-06-20 18:34 GMT+08:00 Richard Cochran <ric...@gm...>: > On Sat, Jun 20, 2015 at 02:55:35PM +0800, Caleb Yu wrote: > > To whom it may interest, > > I am new to linuxptp. I have not able to check on Linux-users archive yet > > since I just recently added due to read access required error. > > Archives on Gmane: > > http://news.gmane.org/gmane.comp.linux.ptp.devel > http://news.gmane.org/gmane.comp.linux.ptp.user > > > I have > > installed linuxptp according to the website but I don't know the commands > > to configure or start it. I searched around a little bit but not able to > > find what I need. It will help a lot if I get to know how to use this > > program. Thank you. > > The easiest way to start is like this: > > ptp4l -m -q -i eth0 > > If your MAC only has SW time stamping, then add '-S' to the command line. > > Everything else depends on your special requirements, but if you don't > have any, then you also don't need any other options. > > HTH, > Richard > |
From: Richard C. <ric...@gm...> - 2015-06-20 10:34:59
|
On Sat, Jun 20, 2015 at 02:55:35PM +0800, Caleb Yu wrote: > To whom it may interest, > I am new to linuxptp. I have not able to check on Linux-users archive yet > since I just recently added due to read access required error. Archives on Gmane: http://news.gmane.org/gmane.comp.linux.ptp.devel http://news.gmane.org/gmane.comp.linux.ptp.user > I have > installed linuxptp according to the website but I don't know the commands > to configure or start it. I searched around a little bit but not able to > find what I need. It will help a lot if I get to know how to use this > program. Thank you. The easiest way to start is like this: ptp4l -m -q -i eth0 If your MAC only has SW time stamping, then add '-S' to the command line. Everything else depends on your special requirements, but if you don't have any, then you also don't need any other options. HTH, Richard |
From: Caleb Yu <cal...@gm...> - 2015-06-20 06:55:42
|
To whom it may interest, I am new to linuxptp. I have not able to check on Linux-users archive yet since I just recently added due to read access required error. I have installed linuxptp according to the website but I don't know the commands to configure or start it. I searched around a little bit but not able to find what I need. It will help a lot if I get to know how to use this program. Thank you. Caleb |
From: Miroslav L. <mli...@re...> - 2015-06-19 21:00:48
|
On Fri, Jun 19, 2015 at 09:08:56PM +0200, Richard Cochran wrote: > On Fri, Jun 19, 2015 at 06:12:53PM +0000, Daniel Le wrote: > > Thanks Miroslav and Jake. > > > > I'm running linuxptp-1.4 and Linux kernel 2.6.35.7 with customization. My older linuxptp version has pi_f_offset_const instead of first_step_threshold, which I didn't alter. > > > > I added debugging code to confirm that the step takes place, however unclear how things are afterward. > > The issue is probably a bug in your backport of the PHC code, or in > the backported MAC driver. He has SW timestamping. Maybe the kernel is missing ADJ_SETOFFSET support? It would explaing why the step doesn't work. It seems it appeared in kernel 2.6.39. -- Miroslav Lichvar |
From: Daniel Le <dan...@ex...> - 2015-06-19 20:10:29
|
"...or that the change in time is not reflected in the subsequent time stamps". This is a good pointer for debugging. The system clock may have been stepped, but the FPGA hardware clock is not stepped and continues to provide the timestamps from its un-stepped clock. Much appreciate it. Daniel -----Original Message----- From: Richard Cochran [mailto:ric...@gm...] Sent: Friday, June 19, 2015 3:59 PM To: Daniel Le Cc: Lin...@li... Subject: Re: [Linuxptp-users] sanity_freq_limit On Fri, Jun 19, 2015 at 07:43:01PM +0000, Daniel Le wrote: > > PHC is not used in my system. I have a proprietary NIC FPGA-based MAC > driver which has its own hardware clock, and in this scheme, > synchronizes to the Linux system clock that in turn is synchronized to > PTP Grandmaster via software timestamping mechanism. The timestamps of > PTP packets are provided by the FPGA MAC driver may cause problem. It > seems that the system clock fails to be stepped. Okay, so you have a special custom setup. I cannot really guess what is wrong, but it does appear that whatever clock you are using is failing to jump, or that the change in time is not reflected in the subsequent time stamps. Thanks, Richard |
From: Richard C. <ric...@gm...> - 2015-06-19 19:59:32
|
On Fri, Jun 19, 2015 at 07:43:01PM +0000, Daniel Le wrote: > > PHC is not used in my system. I have a proprietary NIC FPGA-based > MAC driver which has its own hardware clock, and in this scheme, > synchronizes to the Linux system clock that in turn is synchronized > to PTP Grandmaster via software timestamping mechanism. The > timestamps of PTP packets are provided by the FPGA MAC driver may > cause problem. It seems that the system clock fails to be stepped. Okay, so you have a special custom setup. I cannot really guess what is wrong, but it does appear that whatever clock you are using is failing to jump, or that the change in time is not reflected in the subsequent time stamps. Thanks, Richard |
From: Daniel Le <dan...@ex...> - 2015-06-19 19:43:08
|
My understanding is that clkid 0 is CLOCK_REALTIME, which is the system time, based on the definitions in Linux time.h. In the following, the master offset remains high (497918992) after the system clock is stepped and after the PTP enters Slave mode. Does it mean that the system clock is not actually not stepped? ptp4l[841551.567]: master offset 497923672 s1 freq -11601 path delay 1182 ptp4l[841551.567]: Step system clock... ptp4l[841551.567]: clockadj_set_freq: clkid=0 freq= +11601 ptp4l[841551.567]: clockadj_step: clkid=0 step= 497923672 ptp4l[841552.567]: master offset 497921336 s2 freq +50278454 path delay 1182 ptp4l[841552.567]: clockadj_set_freq: clkid=0 freq= +21546 ptp4l[841552.567]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED ptp4l[841553.517]: master offset 497918992 s2 freq +50776139 path delay 1222 ptp4l[841553.517]: clockadj_set_freq: clkid=0 freq= +23861 ptp4l[841554.466]: master offset 418089084 s2 freq +43211237 path delay 24354298 ptp4l[841554.466]: clockadj_set_freq: clkid=0 freq= -11237 PHC is not used in my system. I have a proprietary NIC FPGA-based MAC driver which has its own hardware clock, and in this scheme, synchronizes to the Linux system clock that in turn is synchronized to PTP Grandmaster via software timestamping mechanism. The timestamps of PTP packets are provided by the FPGA MAC driver may cause problem. It seems that the system clock fails to be stepped. Thanks! Daniel -----Original Message----- From: Richard Cochran [mailto:ric...@gm...] Sent: Friday, June 19, 2015 3:09 PM To: Daniel Le Cc: 'Miroslav Lichvar'; Lin...@li... Subject: Re: [Linuxptp-users] sanity_freq_limit On Fri, Jun 19, 2015 at 06:12:53PM +0000, Daniel Le wrote: > Thanks Miroslav and Jake. > > I'm running linuxptp-1.4 and Linux kernel 2.6.35.7 with customization. My older linuxptp version has pi_f_offset_const instead of first_step_threshold, which I didn't alter. > > I added debugging code to confirm that the step takes place, however unclear how things are afterward. The issue is probably a bug in your backport of the PHC code, or in the backported MAC driver. Thanks, Richard |
From: Richard C. <ric...@gm...> - 2015-06-19 19:09:07
|
On Fri, Jun 19, 2015 at 06:12:53PM +0000, Daniel Le wrote: > Thanks Miroslav and Jake. > > I'm running linuxptp-1.4 and Linux kernel 2.6.35.7 with customization. My older linuxptp version has pi_f_offset_const instead of first_step_threshold, which I didn't alter. > > I added debugging code to confirm that the step takes place, however unclear how things are afterward. The issue is probably a bug in your backport of the PHC code, or in the backported MAC driver. Thanks, Richard |
From: Daniel Le <dan...@ex...> - 2015-06-19 18:13:01
|
Thanks Miroslav and Jake. I'm running linuxptp-1.4 and Linux kernel 2.6.35.7 with customization. My older linuxptp version has pi_f_offset_const instead of first_step_threshold, which I didn't alter. I added debugging code to confirm that the step takes place, however unclear how things are afterward. (1) On one slave clock device, where its system time is off by 1 hour and 35 minutes behind. Jun 19 14:31:24 (none) user.warn ptp4l: [16.960] port 1: get_ts_info not supported Jun 19 14:31:24 (none) user.notice ptp4l: [16.961] port 1: INITIALIZING to LISTENING on INITIALIZE Jun 19 14:31:24 (none) user.notice ptp4l: [16.961] port 0: INITIALIZING to LISTENING on INITIALIZE Jun 19 14:31:26 (none) user.notice ptp4l: [18.886] port 1: new foreign master 00b0ae.fffe.02d104-1 Jun 19 14:31:30 (none) user.notice ptp4l: [22.886] selected best master clock 00b0ae.fffe.02d104 Jun 19 14:31:30 (none) user.notice ptp4l: [22.886] port 1: LISTENING to UNCALIBRATED on RS_SLAVE Jun 19 14:31:30 (none) user.notice ptp4l: [23.118] port 1: minimum delay request interval 2^-7 Jun 19 14:31:33 (none) user.info ptp4l: [25.823] master offset -5479246314194 s0 freq +0 path delay 3492 Jun 19 14:31:34 (none) user.info ptp4l: [26.823] master offset -5479246315624 s0 freq +0 path delay 3550 Jun 19 14:31:35 (none) user.info ptp4l: [27.823] master offset -5479246316774 s0 freq +0 path delay 3512 Jun 19 14:31:36 (none) user.info ptp4l: [28.822] master offset -5479246318180 s0 freq +0 path delay 3542 Jun 19 14:31:37 (none) user.info ptp4l: [29.822] master offset -5479246319340 s0 freq +0 path delay 3486 Jun 19 14:31:38 (none) user.info ptp4l: [30.822] master offset -5479247196552 s0 freq +0 path delay 295486 Jun 19 14:31:39 (none) user.info ptp4l: [31.822] master offset -5479246905902 s0 freq +0 path delay 3520 Jun 19 14:31:40 (none) user.info ptp4l: [32.822] master offset -5479246907136 s0 freq +0 path delay 3506 Jun 19 14:31:41 (none) user.info ptp4l: [33.822] master offset -5479246908448 s0 freq +0 path delay 3538 Jun 19 14:31:42 (none) user.info ptp4l: [34.822] master offset -5479246909704 s0 freq +0 path delay 3514 Jun 19 14:31:43 (none) user.info ptp4l: [35.822] master offset -5479247782844 s0 freq +0 path delay 294126 Jun 19 14:31:44 (none) user.info ptp4l: [36.822] master offset -5479247493484 s0 freq +0 path delay 3518 Jun 19 14:31:45 (none) user.info ptp4l: [37.821] master offset -5479247494752 s0 freq +0 path delay 3538 Jun 19 14:31:46 (none) user.info ptp4l: [38.821] master offset -5479247496104 s0 freq +0 path delay 3546 Jun 19 14:31:47 (none) user.info ptp4l: [39.821] master offset -5479247497316 s0 freq +0 path delay 3514 Jun 19 14:31:48 (none) user.info ptp4l: [40.821] master offset -5479247498658 s0 freq +0 path delay 3540 Jun 19 14:31:49 (none) user.info ptp4l: [41.821] master offset -5479248375064 s1 freq -128819 path delay 295242 Jun 19 14:31:49 (none) user.info ptp4l: [41.821] Step system clock... Jun 19 14:31:49 (none) user.info ptp4l: [41.821] clockadj_set_freq: clkid=0 freq= +28819 Jun 19 14:31:49 (none) user.info ptp4l: [41.821] clockadj_step: clkid=0 step=5479248375064 Jun 19 14:31:50 (none) user.info ptp4l: [42.821] master offset -5479248376376 s2 freq -100000000 path delay 295242 Jun 19 14:31:50 (none) user.info ptp4l: [42.821] clockadj_set_freq: clkid=0 freq= +0 Jun 19 14:31:50 (none) user.notice ptp4l: [42.821] port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED Jun 19 14:31:51 (none) user.info ptp4l: [43.921] master offset -5479248085876 s2 freq -100000000 path delay 3494 Jun 19 14:31:51 (none) user.info ptp4l: [43.921] clockadj_set_freq: clkid=0 freq= +0 Jun 19 14:31:52 (none) user.info ptp4l: [45.021] master offset -5479248087212 s2 freq -100000000 path delay 3518 Jun 19 14:31:52 (none) user.info ptp4l: [45.021] clockadj_set_freq: clkid=0 freq= +0 Jun 19 14:31:53 (none) user.info ptp4l: [46.121] master offset -5479248088444 s2 freq -100000000 path delay 3502 Jun 19 14:31:53 (none) user.info ptp4l: [46.121] clockadj_set_freq: clkid=0 freq= +0 Jun 19 14:31:55 (none) user.info ptp4l: [47.221] master offset -5479200033936 s2 freq -100000000 path delay -14414590 Jun 19 14:31:55 (none) user.info ptp4l: [47.221] clockadj_set_freq: clkid=0 freq= +0 Jun 19 14:31:56 (none) user.info ptp4l: [48.320] master offset -5478966697088 s2 freq -100000000 path delay -81086222 Jun 19 14:31:56 (none) user.info ptp4l: [48.321] clockadj_set_freq: clkid=0 freq= +0 Jun 19 14:31:57 (none) user.info ptp4l: [49.420] master offset -5478802913984 s2 freq -100000000 path delay -78204170 Jun 19 14:31:57 (none) user.info ptp4l: [49.420] clockadj_set_freq: clkid=0 freq= +0 Jun 19 14:31:58 (none) user.info ptp4l: [50.520] master offset -5478862522102 s2 freq -100000000 path delay -6196760 Jun 19 14:31:58 (none) user.info ptp4l: [50.520] clockadj_set_freq: clkid=0 freq= +0 Jun 19 14:31:59 (none) user.info ptp4l: [51.620] master offset -5478868723712 s2 freq -100000000 path delay 3538 Jun 19 14:31:59 (none) user.info ptp4l: [51.620] clockadj_set_freq: clkid=0 freq= +0 Jun 19 14:32:00 (none) user.info ptp4l: [52.720] master offset -5478868724940 s2 freq -100000000 path delay 3518 Jun 19 14:32:00 (none) user.info ptp4l: [52.720] clockadj_set_freq: clkid=0 freq= +0 Jun 19 14:32:01 (none) user.info ptp4l: [53.820] master offset -5478710523928 s2 freq -100000000 path delay -50266518 Jun 19 14:32:01 (none) user.info ptp4l: [53.820] clockadj_set_freq: clkid=0 freq= +0 Jun 19 14:32:02 (none) user.info ptp4l: [54.920] master offset -5478513781464 s2 freq -100000000 path delay -80343798 Jun 19 14:32:02 (none) user.info ptp4l: [54.920] clockadj_set_freq: clkid=0 freq= +0 (2) On another slave clock device, where its system time is almost same as the correct time. sbin #ptp4l -m -q -i eth3 -s -S ptp4l[841529.107]: clockadj_set_freq: clkid=0 freq= -25768 ptp4l[841529.107]: port 1: get_ts_info not supported ptp4l[841529.108]: port 1: INITIALIZING to LISTENING on INITIALIZE ptp4l[841529.108]: port 0: INITIALIZING to LISTENING on INITIALIZE ptp4l[841529.628]: port 1: new foreign master 00b0ae.fffe.02d103-1 ptp4l[841533.629]: selected best master clock 00b0ae.fffe.02d103 ptp4l[841533.629]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE ptp4l[841533.709]: port 1: minimum delay request interval 2^-7 ptp4l[841535.566]: master offset 496921588 s0 freq -74232 path delay 1186 ptp4l[841536.566]: master offset 496919220 s0 freq -74232 path delay 1214 ptp4l[841537.566]: master offset 497436366 s0 freq -74232 path delay -171964 ptp4l[841538.567]: master offset 497260880 s0 freq -74232 path delay 1186 ptp4l[841539.567]: master offset 497258554 s0 freq -74232 path delay 1212 ptp4l[841540.567]: master offset 497256258 s0 freq -74232 path delay 1204 ptp4l[841541.567]: master offset 497253920 s0 freq -74232 path delay 1202 ptp4l[841542.567]: master offset 497251618 s0 freq -74232 path delay 1200 ptp4l[841543.567]: master offset 497768934 s0 freq -74232 path delay -172016 ptp4l[841544.567]: master offset 497593414 s0 freq -74232 path delay 1196 ptp4l[841545.567]: master offset 497591074 s0 freq -74232 path delay 1204 ptp4l[841546.567]: master offset 497588774 s0 freq -74232 path delay 1200 ptp4l[841547.567]: master offset 497586420 s0 freq -74232 path delay 1218 ptp4l[841548.567]: master offset 498103830 s0 freq -74232 path delay -172036 ptp4l[841549.567]: master offset 497928290 s0 freq -74232 path delay 1204 ptp4l[841550.567]: master offset 497925954 s0 freq -74232 path delay 1204 ptp4l[841551.567]: master offset 497923672 s1 freq -11601 path delay 1182 ptp4l[841551.567]: Step system clock... ptp4l[841551.567]: clockadj_set_freq: clkid=0 freq= +11601 ptp4l[841551.567]: clockadj_step: clkid=0 step= 497923672 ptp4l[841552.567]: master offset 497921336 s2 freq +50278454 path delay 1182 ptp4l[841552.567]: clockadj_set_freq: clkid=0 freq= +21546 ptp4l[841552.567]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED ptp4l[841553.517]: master offset 497918992 s2 freq +50776139 path delay 1222 ptp4l[841553.517]: clockadj_set_freq: clkid=0 freq= +23861 ptp4l[841554.466]: master offset 418089084 s2 freq +43211237 path delay 24354298 ptp4l[841554.466]: clockadj_set_freq: clkid=0 freq= -11237 ptp4l[841555.423]: master offset 403879084 s2 freq +42194116 path delay 12854794 ptp4l[841555.423]: clockadj_set_freq: clkid=0 freq= +5884 ptp4l[841556.381]: master offset 416730386 s2 freq +43895976 path delay 1188 ptp4l[841556.381]: clockadj_set_freq: clkid=0 freq= +4024 ptp4l[841557.337]: master offset 416728028 s2 freq +44312469 path delay 1206 ptp4l[841557.337]: clockadj_set_freq: clkid=0 freq= -12469 ptp4l[841558.293]: master offset 416725754 s2 freq +44728967 path delay 1180 ptp4l[841558.293]: clockadj_set_freq: clkid=0 freq= -28967 ptp4l[841559.248]: master offset 416723444 s2 freq +45145459 path delay 1186 ptp4l[841559.248]: clockadj_set_freq: clkid=0 freq= -45459 ptp4l[841560.203]: master offset 416721094 s2 freq +45561946 path delay 1200 ptp4l[841560.203]: clockadj_set_freq: clkid=0 freq= +38054 ptp4l[841561.157]: master offset 389860090 s2 freq +43265705 path delay 7781368 ptp4l[841561.157]: clockadj_set_freq: clkid=0 freq= +34295 ptp4l[841562.114]: master offset 186064456 s2 freq +23072206 path delay 68717870 ptp4l[841562.114]: clockadj_set_freq: clkid=0 freq= +27794 ptp4l[841563.091]: master offset 43535162 s2 freq +8862812 path delay 68388060 ptp4l[841563.091]: clockadj_set_freq: clkid=0 freq= +37188 I also added code to verify if the servo reset occurs when the calculated offset is higher than default sanity_freq_limit. Jun 18 20:08:59 (none) user.warn ptp4l: [521.858] clockcheck: clock jumped backward or running slower than expected! Jun 18 20:08:59 (none) user.info ptp4l: [521.858] MAX-foffset=-206031909 flimit=200000000 Jun 18 20:08:59 (none) user.info ptp4l: [521.858] pi_reset ..................... Jun 18 20:08:59 (none) user.warn ptp4l: [521.966] clockcheck: clock jumped forward or running faster than expected! Jun 18 20:08:59 (none) user.info ptp4l: [521.966] MIN-foffset=+267792097 flimit=200000000 Jun 18 20:08:59 (none) user.info ptp4l: [521.966] pi_reset ..................... Jun 18 20:08:59 (none) user.info ptp4l: [522.070] master offset 1015988 s0 freq +108331 path delay 3518 Jun 18 20:09:00 (none) user.info ptp4l: [523.070] master offset 1014652 s0 freq +108331 path delay 3542 Jun 18 20:09:01 (none) user.info ptp4l: [524.070] master offset 1013376 s0 freq +108331 path delay 3538 Jun 18 20:09:02 (none) user.info ptp4l: [525.070] master offset 924804 s0 freq +108331 path delay 32622 Jun 18 20:09:03 (none) user.info ptp4l: [526.070] master offset 952644 s0 freq +108331 path delay 3506 Jun 18 20:09:04 (none) user.info ptp4l: [527.070] master offset 951354 s0 freq +108331 path delay 3512 -----Original Message----- From: Miroslav Lichvar [mailto:mli...@re...] Sent: Friday, June 19, 2015 4:04 AM To: Daniel Le Cc: Lin...@li... Subject: Re: [Linuxptp-users] sanity_freq_limit On Fri, Jun 19, 2015 at 04:15:20AM +0000, Daniel Le wrote: > And the log messages at start in "good case". I didn't save the log where my system time was initially off a few minutes, though I remember the master offsets were above 200000000. I'll need to reproduce such condition in order to capture the exact log messages. Your config looks good to me. The default value of first_step_threshold is 20 microseconds, so in your test with ~1.5 millisecond initial offset it should have stepped. > ptp4l[792717.068]: master offset -1567668 s0 freq -13556 path delay 1194 > ptp4l[792718.068]: master offset -1569978 s0 freq -13556 path delay 1200 > ptp4l[792719.068]: master offset -1554292 s1 freq -13510 path delay -4826 > ptp4l[792720.068]: master offset -1556592 s2 freq -170726 path delay -4826 But as we can see, it didn't step for some reason. Here is a test I did using the same config file and it does step for me. ptp4l[8898442.271]: master offset -1093869 s0 freq -1946 path delay 54642 ptp4l[8898443.271]: master offset -1094931 s0 freq -1946 path delay 54642 ptp4l[8898444.271]: master offset -1102224 s1 freq -6078 path delay 55329 ptp4l[8898445.271]: master offset 9378 s2 freq -5131 path delay 55329 What linuxptp and kernel versions are you using? -- Miroslav Lichvar |
From: Chandra M. <sma...@al...> - 2015-06-19 16:41:17
|
Hi Miroslav, My question is about mathematical interpretation of the output from the ptp4l stack. If I see the output like the one below, is it fair to assume that the 'rms' (root mean squre) is the mean offset of all the sample offsets observed in the interval and 'max' is the maximum deviation observed from the rms value? I am likening it to kinda gaussian/normal distribution but without sign interpretation. Otherwise, I am fully in line with what you have mentioned below. ptp4l[833.369]: rms 2 max 7 freq -156403 +/- 7 delay 28 +/- 0 Thanking you in anticipation, Regards, Chandra (c) : +60.175508142 (O): +60.4.636.6412 "Knowledge speaks, Wisdom listens" -----Original Message----- From: Miroslav Lichvar [mailto:mli...@re...] Sent: Friday, June 19, 2015 4:23 PM To: Chandra Mallela Cc: lin...@li... Subject: Re: [Linuxptp-users] Interpretation of ptp4l results On Fri, Jun 19, 2015 at 07:53:52AM +0000, Chandra Mallela wrote: > > > Hi Friends, > > I would like to double-check whether my following interpretation is correct. Please elucidate me. > > For the following ptp4l output, the ptp4l reports rms value and the max deviation from the mean offset. Thus, if I have to report the worstcase accuracy, I take the (rms+max). For example, , looking at the first line, I see that the maximum offset uncertainty/inaccuracy observed is 2 +7 = 9ns. The maximum frequency uncertainty is (156403 + 7) pbb. The max value is just the maximum measured offset in that interval. It doesn't mean it's also the worst accuracy of the clock. There could be an asymmetry in the network delay and ptp4l wouldn't know the clock is actually behind or ahead of the time source. To evaluate the accuracy you would to measure the error independendly from PTP, for example by comparing PPS signal generated by the synchronized clock with the reference on a scope. -- Miroslav Lichvar ________________________________ Confidentiality Notice. This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution, or copying of this message, or any attachments, is strictly prohibited. If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments. Thank you. |
From: Miroslav L. <mli...@re...> - 2015-06-19 08:22:41
|
On Fri, Jun 19, 2015 at 07:53:52AM +0000, Chandra Mallela wrote: > > > Hi Friends, > > I would like to double-check whether my following interpretation is correct. Please elucidate me. > > For the following ptp4l output, the ptp4l reports rms value and the max deviation from the mean offset. Thus, if I have to report the worstcase accuracy, I take the (rms+max). For example, , looking at the first line, I see that the maximum offset uncertainty/inaccuracy observed is 2 +7 = 9ns. The maximum frequency uncertainty is (156403 + 7) pbb. The max value is just the maximum measured offset in that interval. It doesn't mean it's also the worst accuracy of the clock. There could be an asymmetry in the network delay and ptp4l wouldn't know the clock is actually behind or ahead of the time source. To evaluate the accuracy you would to measure the error independendly from PTP, for example by comparing PPS signal generated by the synchronized clock with the reference on a scope. -- Miroslav Lichvar |