Hi Richard,
Thanks for the detailed response, Kindly help on the few more queries for the
same:
1)
> 1. so_timestamping socket option (user -> network core -> driver)
> 2. ptp clock character device (user -> chardev -> ptp subsystem -> driver)
> 3. dynamic posix clock (user -> time core -> ptp subsystem ->
> driver)
> The second interface is only used to get a handle to a dynamic posix clock.
Here by using `driver` I believe you referred the network interface driver
rather then driver/ptp implementation.
And by `ptp subsystem`, Do you refer "<kernel_source>/drivers/ptp" ?
2) To run ptp4l I have used following command as you have suggested before:
On the master host:
ptp4l -m -q -i eth0
Does it sends ptp messages (like sync, delay etc..) to all the system in local
LAN, and all the local IP's(Private and Public ethernet interface present on
same host) ?
On the slave host:
ptp4l -m -q -i eth0 -s
Now How am I supposed to check output, I believe log messages along with
wireshark might can help here.
Does it stops after syncing the time between slave and master device ?
3) Is it possible to establish ptp communication on one to one basis, means
master sends ptp messages to slave IP,where ptp4l slave application is
listening for master IP address ?
Regards,
Ronex
On Wednesday, 6 August 2014 9:53 PM, Richard Cochran <[email protected]>
wrote:
On Wed, Aug 06, 2014 at 05:45:04PM +0800, Ronex Dicapriyo wrote:
> Hello,
>
> I have few queries related to linuxptp, as mentioned below:
>
>
> 1) I tried to run ptp4l application using command:
> /home/ptp4l -i eth0 -p eth0 -m -P (ptp master)
You don't need '-p' unless your kernel is older than v3.5.
> If this device is supposed to be created by user then what is the MAJOR/MINOR
> number for /dev/ptp0 ?
> And which driver manages/handles access to this node ?
Look for 'ptp' in /proc/devices to get the major number. The minor
number is then zero.
Normally udev creates the node automatically. If you are using
busybox, then mdev should also make the node for you. Otherwise, just
create the node by hand using the 'mknod' command.
> 2) I am also not able to understand the basic higher level abstract flow of
> how this application works ?
> I think linux kernel has its own ptp driver implementation, So From the
> application does it use the linux user space API/system calls which further
> calls linux ptp driver functions (<linux_x.x>/drivers/ptp/), from which
> hardware ptp supported driver's functions are invoked ?
> ptp4l(linuxptp app) ---> drivers/ptp ---> ethernet_driver_with_ptp_support
Yes, more or less. There are actually three different kernel
interfaces that ptp4l uses:
1. so_timestamping socket option (user -> network core -> driver)
2. ptp clock character device (user -> chardev -> ptp subsystem -> driver)
3. dynamic posix clock (user -> time core -> ptp subsystem -> driver)
The second interface is only used to get a handle to a dynamic posix
clock.
In addition, the phc2sys program uses the ioctls from the ptp clock
character device. See include/uapi/linux/ptp_clock.h in the Linux
kernel source.
HTH,
Richard
------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Linuxptp-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-users