On Sat, Nov 01, 2014 at 08:00:21PM +0100, Richard Cochran wrote:
> Before releasing v1.5, I wanted to test phc2sys's new automatic mode
> in order to run a BC using a bunch of PCIe cards, but I found it did
> not quite work. First of all, the port logic bails out when the PHC
> device don't match, and secondly phc2sys has one line bug.
> 
> After hacking those two problems away, the BC worked okay. With a
> GM-BC-slave setup, the slave had about an additional 9 usec offset.
> 
> I made the "jbod" a non-default option, so that users who want this
> really know not to expect perfect performance.

Hm, I think this will work only when the first port is the slave.
Otherwise, the servo will be trying to steer the clock of the master
port from slave's timestamps and the slave clock will never be
synchronized.

The PHC device would need to be reopened when a new port becomes
slave. Or there could be a check that allows only the first port to be
slave, I think this would still be a very useful feature.

There is also the problem that the master port will be sending sync
messages before it's actually synchronized to the slave port by
phc2sys. Maybe a new management message could be introduced to mark
the port as synchronized from phc2sys and allow ptp4l to switch it to
the master state.

But I'm wondering how difficult it would be to implement a BC from
separate PHCs more cleanly. How about adding a new virtual transport
that uses clock_gettime() to timestamp the messages, create a clock
instance in ptp4l for each PHC with a port to the virtual transport?
Instead of one BC handling multiple PHCs there are multiple BCs in a
virtual network.

What do you think?

-- 
Miroslav Lichvar

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

Reply via email to