Discussion:
[Linuxptp-users] Bug in LinuxPTP
Aman Sharma
2013-07-03 08:44:05 UTC
Permalink
Hi All,




When running two machines in Master and slave mode then if change the time
in runtime (for both master and slave) ,then it will not update
automatically to the corresponding slave.Can anyone please Help me in this.




Thanks
Aman
Richard Cochran
2013-07-03 11:41:40 UTC
Permalink
Post by Aman Sharma
When running two machines in Master and slave mode then if change the time
in runtime (for both master and slave) ,then it will not update
automatically to the corresponding slave.Can anyone please Help me in this.
You have not told us what the problem is. Can you show us exactly what
commands you are running?

Thanks,
Richard
Aman Sharma
2013-07-03 12:16:04 UTC
Permalink
Hi Richard,


We are using two linux(ubuntu 12.04) machine and just install and compile
the linuxptp-1.2 source code in both the machines .

Below is the setup diagram:

[image: Inline image 1]


*Machine A*: PTP Master mode
*Machine B*: Slave mode.
Running raw PTP in Peer-Peer mode with software timestaming


When we start the PTP on both machine, for first time slave time syncs to
Master time.
But during runtime if we are changing time(manually changing System time)
of Master or Slave both are not syncing to each other.

We have to restart the PTP(i.e have to run command again) to make them sync
to each other.

Please let us know the command or process, so that Master and Slave can
sync there time during run time

Thanks in advance for support.

--
Regards

Aman Sharma
Post by Richard Cochran
Post by Aman Sharma
When running two machines in Master and slave mode then if change the
time
Post by Aman Sharma
in runtime (for both master and slave) ,then it will not update
automatically to the corresponding slave.Can anyone please Help me in
this.
You have not told us what the problem is. Can you show us exactly what
commands you are running?
Thanks,
Richard
Richard Cochran
2013-07-03 18:39:36 UTC
Permalink
Post by Aman Sharma
When we start the PTP on both machine, for first time slave time syncs to
Master time.
But during runtime if we are changing time(manually changing System time)
of Master or Slave both are not syncing to each other.
The master will not synchronize to the slave!

Also, it does not make sense to change the time on the slave. That is
the job of the ptp4l program.
Post by Aman Sharma
We have to restart the PTP(i.e have to run command again) to make them sync
to each other.
Please let us know the command or process, so that Master and Slave can
sync there time during run time
As Jacob wrote, there is an option for jumping the clock.
Aman Sharma
2013-07-04 05:16:22 UTC
Permalink
Hi Richard,

Can You please explain me Actually what this* pi_offset_const *does.I am
not unable to get what you want to say.

Regards
Aman Sharma



On Thu, Jul 4, 2013 at 12:09 AM, Richard Cochran
Post by Richard Cochran
Post by Aman Sharma
When we start the PTP on both machine, for first time slave time syncs to
Master time.
But during runtime if we are changing time(manually changing System time)
of Master or Slave both are not syncing to each other.
The master will not synchronize to the slave!
Also, it does not make sense to change the time on the slave. That is
the job of the ptp4l program.
Post by Aman Sharma
We have to restart the PTP(i.e have to run command again) to make them
sync
Post by Aman Sharma
to each other.
Please let us know the command or process, so that Master and Slave can
sync there time during run time
As Jacob wrote, there is an option for jumping the clock.
Richard Cochran
2013-07-04 05:26:13 UTC
Permalink
Post by Aman Sharma
Hi Richard,
Can You please explain me Actually what this* pi_offset_const *does.I am
not unable to get what you want to say.
It lets the slave jump clock again, after the first time.
Try it out, like I already explained, and see what happens.

HTH,
Richard
Aman Sharma
2013-07-04 09:29:57 UTC
Permalink
Hi Richard,

Thanks for your reply.
We are facing one more issue, in one of our Laptop we are not able to
run linux ptp but it got compiled correctly.
Machine details:
OS: 12.04 ubuntu
Kermel version: 3.2.0-40-generic
Ethernet controller: INTEL 82579LM with e1000e kernel driver

Following are log messages:

sudo ./ptp4l -S -i eth0 -m -2
ptp4l[327.331]: port 1: get_ts_info not supported
ptp4l[327.464]: port 1: INITIALIZING to LISTENING on INITIALIZE
ptp4l[327.464]: port 0: INITIALIZING to LISTENING on INITIALIZE
ptp4l[333.464]: port 1: LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
ptp4l[334.032]: port 1: new foreign master 0023ae.fffe.1c6e61-1
ptp4l[334.469]: poll tx timestamp timeout
ptp4l[334.469]: port 1: send sync failed
ptp4l[334.469]: port 1: MASTER to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
ptp4l[350.472]: port 1: FAULTY to LISTENING on FAULT_CLEARED

We are not able to figure out why "send sync failed" is happening
interface is UP and connected to other linux machine with linuxptp
runnning.

Thanks for your help.

--
Regards

Aman sharma
Post by Richard Cochran
Post by Aman Sharma
Hi Richard,
Can You please explain me Actually what this* pi_offset_const *does.I am
not unable to get what you want to say.
It lets the slave jump clock again, after the first time.
Try it out, like I already explained, and see what happens.
HTH,
Richard
Richard Cochran
2013-07-04 10:32:52 UTC
Permalink
Post by Aman Sharma
OS: 12.04 ubuntu
Kermel version: 3.2.0-40-generic
Ethernet controller: INTEL 82579LM with e1000e kernel driver
...
Post by Aman Sharma
We are not able to figure out why "send sync failed" is happening
interface is UP and connected to other linux machine with linuxptp
runnning.
It is because the e1000e needs kernel version 3.5 or newer to support
software transmit time stamps.

See the Driver Support Matrix at:

http://linuxptp.sourceforge.net/

Thanks,
Richard
Aman Sharma
2013-07-05 08:10:26 UTC
Permalink
Hi Richard,

Thanks for the Support.
We are able to run this now.

--
Regards
Aman Sharma
Post by Richard Cochran
Post by Aman Sharma
OS: 12.04 ubuntu
Kermel version: 3.2.0-40-generic
Ethernet controller: INTEL 82579LM with e1000e kernel driver
...
Post by Aman Sharma
We are not able to figure out why "send sync failed" is happening
interface is UP and connected to other linux machine with linuxptp
runnning.
It is because the e1000e needs kernel version 3.5 or newer to support
software transmit time stamps.
http://linuxptp.sourceforge.net/
Thanks,
Richard
Aman Sharma
2013-07-12 11:03:03 UTC
Permalink
Hi Richard,

Can you please tell me how to enable 802.1as in the linuxPTP source code.
By default,802.1as is in off state and what are the dependencies for the
same.


--
regards
Aman
Post by Aman Sharma
Hi Richard,
Thanks for the Support.
We are able to run this now.
--
Regards
Aman Sharma
Post by Richard Cochran
Post by Aman Sharma
OS: 12.04 ubuntu
Kermel version: 3.2.0-40-generic
Ethernet controller: INTEL 82579LM with e1000e kernel driver
...
Post by Aman Sharma
We are not able to figure out why "send sync failed" is happening
interface is UP and connected to other linux machine with linuxptp
runnning.
It is because the e1000e needs kernel version 3.5 or newer to support
software transmit time stamps.
http://linuxptp.sourceforge.net/
Thanks,
Richard
Richard Cochran
2013-07-12 11:10:47 UTC
Permalink
Post by Aman Sharma
Hi Richard,
Can you please tell me how to enable 802.1as in the linuxPTP source code.
By default,802.1as is in off state and what are the dependencies for the
same.
ptp4l -f gPTP.cfg

HTH,
Richard
Aman Sharma
2013-07-12 11:36:35 UTC
Permalink
Hi Richard,

Thanks for your response.

when running linuxPTP with gPTP configuration between two linux machines,
then they are just sending peer delay request to each other and other one
also gives response for the same request.Means Master is not sending Sync
message and no follow_up is there.And in log messages ,it shows :

ptp4l[2437.862]: port 1: master sync timeout
ptp4l[2437.937]: port 1: master tx announce timeout
ptp4l[2437.948]: port 1: delay timeout
ptp4l[2437.987]: port 1: master sync timeout
ptp4l[2438.113]: port 1: master sync timeout
ptp4l[2438.238]: port 1: master sync timeout
ptp4l[2438.363]: port 1: master sync timeout
ptp4l[2438.489]: port 1: master sync timeout

Can you Please help me in this.

--
Regards
Aman




On Fri, Jul 12, 2013 at 4:40 PM, Richard Cochran
Post by Richard Cochran
Post by Aman Sharma
Hi Richard,
Can you please tell me how to enable 802.1as in the linuxPTP source code.
By default,802.1as is in off state and what are the dependencies for the
same.
ptp4l -f gPTP.cfg
HTH,
Richard
Richard Cochran
2013-07-12 13:18:35 UTC
Permalink
Post by Aman Sharma
when running linuxPTP with gPTP configuration between two linux machines,
then they are just sending peer delay request to each other and other one
also gives response for the same request.Means Master is not sending Sync
Probably you are using software time stamping. If so, you need to
increase neighborPropDelayThresh. Read the ptp4l.8 man page, and you
will find:

neighborPropDelayThresh
Upper limit for peer delay in nanoseconds. If the estimated peer
delay is greater than this value the port is marked as not
802.1AS capable.

HTH,
Richard
Aman Sharma
2013-07-12 14:04:10 UTC
Permalink
Hi Richard,

Thanks for the response.

After increasing it to 3600, slave time is updated according to the master
time.But the master machine is not sending Sync message and no follow_up is
there.Both machines directly sending Peer delay message to each other using
gPTP.

Is there any reason for not sending Sync meassage to slave machine.

--
Regards
Aman




On Fri, Jul 12, 2013 at 6:48 PM, Richard Cochran
Post by Richard Cochran
Post by Aman Sharma
when running linuxPTP with gPTP configuration between two linux machines,
then they are just sending peer delay request to each other and other one
also gives response for the same request.Means Master is not sending Sync
Probably you are using software time stamping. If so, you need to
increase neighborPropDelayThresh. Read the ptp4l.8 man page, and you
neighborPropDelayThresh
Upper limit for peer delay in nanoseconds. If the estimated peer
delay is greater than this value the port is marked as not
802.1AS capable.
HTH,
Richard
Richard Cochran
2013-07-12 17:06:46 UTC
Permalink
Post by Aman Sharma
After increasing it to 3600, slave time is updated according to the master
time.But the master machine is not sending Sync message and no follow_up is
there.Both machines directly sending Peer delay message to each other using
gPTP.
Is there any reason for not sending Sync meassage to slave machine.
Read this once again ...
Post by Aman Sharma
Post by Richard Cochran
neighborPropDelayThresh
Upper limit for peer delay in nanoseconds. If the estimated peer
delay is greater than this value the port is marked as not
802.1AS capable.
and notice the part about "not capable."

Why don't you try a more reasonable value?

Richard

Loading...