Re: [Linuxptp-users] ptp4l is dead with Segmentation Fault
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: Takahiro S. <tsh...@gm...> - 2012-03-09 01:50:16
|
Hello Richard, Thank you for the response. What do you mean by "many data simultaneously"? > I connect 2 CrownBay(Intel E6xx CPU + Intel PCH EG20T) boards and 1 PC in the same network. I installed Linux kernel 3.3-rc6 on 2 CrownBays. I installed Windows 7 on PC. CrownBay-1 is a PTP master. CrownBay-2 is a PTP slave. Samba server is running on the CrownBay-2. The ptp4l is running on the both CrownBay. I mount the directory of CrownBay-2 on PC. I copied many files between PC and CrwonBay-2 when I am running ptp4l. > Wow, you have a lot of interfaces! ----+ > I am testing many boards (with different MAC addresses) using the same HDD. Therefore the interface is increased. :) This is strange. It seems that the control buffer is corrupted. > > Did you modify the receive() function? > No, I didn't. > Can you provide a hex dump of the control[] buffer and the values of > 'struct msghdr msg' before and after the call to recvmsg? > OK. I'll try it. > Yes, this issue appears when the driver is very slow to deliver a Tx > time stamp. > I see. > I think it is fine to increase the usleep time for testing, but you > should find out why the time stamp is so slow. > I see. This may be happened. The EG20T GbE DMA hardware is descriptor type DMA. The GbE driver just assign the Tx buffer address to DMA descriptor. The actual Tx is executed later. > The better solution (for ptp4l) is to allow changing the value of > 'try_again' as command line or config file option. > I think it seems better. Thanks and Best regards, Takahiro Shimizu |