On 10/13/2021 12:50 AM, Peter Bergin wrote:
> Hi,
> 
> On 2021-10-13 00:19, Richard Cochran wrote:
>> On Tue, Oct 12, 2021 at 09:47:21PM +0200, Peter Bergin wrote:
>>> Hi,
>>>
>>> I'm currently working on a network product using gPTP configuration for PTP
>>> sync. The device shall be a AVB endpoint handling audio and according to
>>> Avnu specifications all endpoint shall be capable of being master on the
>>> network. Some plugins for AVB (such as gstreamer and alsa-plugins) require
>>> that system time (CLOCK_REALTIME) is in sync with PHC to get correct timing.
>>> I see different cases depending on if the device is master or slave. If the
>>> device is slave I would like to sync PHC to CLOCK_REALTIME. The other way
>>> around, if device is master I would like to sync CLOCK_REALTIME to PHC.
>>>
>>> To the question; is there a way to use phc2sys and handle this
>>> automatically?
>> phc2sys has an automatic mode.  See the man page for details.
>>
> Thanks! My bad, should have read man pages better. And I did try '-a' 
> but had issues with it. To summarize for other users:
> 
>    $ ./phc2sys -a -r -r -q -m
>    phc2sys[412816.955]: Waiting for ptp4l...
>    phc2sys[412817.956]: Waiting for ptp4l...
> 
> I had trouble communicating over UDS between ptp4l and phc2sys. The 
> problem was that I'm working with gPTP (IEEE 802.11AS) and the setting 
> transportSpecific didn't match between ptp4l and phc2sys. So the 
> solution was, as stated in the man page, to add '--transportSpecific=1' 
> when starting phc2sys and the issue was solved.
> 
> ptp4l just silently drops messages if transportSpecific don't match (and 
> ignore_transport_specific=0). I tried to debug this issue with help of 
> debug messages (-l 7) but couldn't find it that way. Would it be a good 
> thing to add debug prints when that happens to improve visibility? Or 
> would that flood the log in some cases?
> 
> diff --git a/port.c b/port.c
> index fa49663..1c04fc5 100644
> --- a/port.c
> +++ b/port.c
> @@ -699,6 +699,8 @@ static int port_ignore(struct port *p, struct 
> ptp_message *m)
>          }
>          if (p->match_transport_specific &&
>              msg_transport_specific(m) != p->transportSpecific) {
> +               pr_debug("port %hu: transport_specific did not match, 
> will drop message",
> +                       portnum(p));
>                  return 1;
>          }
>          if (pid_eq(&m->header.sourcePortIdentity, &p->portIdentity)) {
> diff --git a/tc.c b/tc.c
> index 0346ba9..705f54c 100644
> --- a/tc.c
> +++ b/tc.c
> @@ -478,6 +478,8 @@ int tc_ignore(struct port *p, struct ptp_message *m)
> 
>          if (p->match_transport_specific &&
>              msg_transport_specific(m) != p->transportSpecific) {
> +               pr_debug("port %hu: transport_specific did not match, 
> will drop message",
> +                       portnum(p));
>                  return 1;
>          }
>          if (pid_eq(&m->header.sourcePortIdentity, &p->portIdentity)) {
> 
> 
> Thanks,
> /Peter
> 

I'm ok with the debug prints. These would only display at the highest
log level, so it would only clutter logs for those who are already
debugging.

Thanks,
Jake

> 
> 
> _______________________________________________
> Linuxptp-users mailing list
> Linuxptp-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linuxptp-users
> 


_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users

Reply via email to