I instrumented port.c like this:
if (msg_sots_missing(msg) && !(p->timestamping == TS_P2P1STEP && msg_type(msg) == PDELAY_REQ)) { pr_err("%s: received %s without timestamp", p->log_name, msg_type_string(msg_type(msg))); msg_put(msg); return EV_NONE; } else { pr_err("%s: received %s with timestamp", p->log_name, msg_type_string(msg_type(msg))); } And it seems the card timestamps some packets! The log running E2E L2 sync is: ptp4l[5854.200]: port 1 (eth2): INITIALIZING to SLAVE on INIT_COMPLETEptp4l[5854.201]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on INIT_COMPLETE ptp4l[5854.202]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[5854.202]: port 1 (eth2): received link status notification ptp4l[5854.202]: interface index 5 is up ptp4l[5854.271]: port 1 (eth2): received SYNC without timestamp ptp4l[5854.272]: port 1 (eth2): received FOLLOW_UP with timestamp ptp4l[5854.397]: port 1 (eth2): received SYNC without timestamp ptp4l[5854.397]: port 1 (eth2): received FOLLOW_UP with timestampptp4l[5854.397]: port 1 (eth2): have FOLLOW_UP 47602, expecting SYNC but got FOLLOW_UP 47603, dropping
ptp4l[5854.522]: port 1 (eth2): received SYNC without timestamp ptp4l[5854.523]: port 1 (eth2): received FOLLOW_UP with timestampptp4l[5854.523]: port 1 (eth2): have FOLLOW_UP 47603, expecting SYNC but got FOLLOW_UP 47604, dropping
ptp4l[5854.647]: port 1 (eth2): received SYNC without timestamp ptp4l[5854.648]: port 1 (eth2): received FOLLOW_UP with timestampptp4l[5854.648]: port 1 (eth2): have FOLLOW_UP 47604, expecting SYNC but got FOLLOW_UP 47605, dropping
ptp4l[5854.773]: port 1 (eth2): received SYNC without timestamp ptp4l[5854.773]: port 1 (eth2): received FOLLOW_UP with timestampptp4l[5854.773]: port 1 (eth2): have FOLLOW_UP 47605, expecting SYNC but got FOLLOW_UP 47606, dropping
ptp4l[5854.898]: port 1 (eth2): received SYNC without timestamp ptp4l[5854.898]: port 1 (eth2): received FOLLOW_UP with timestampptp4l[5854.898]: port 1 (eth2): have FOLLOW_UP 47606, expecting SYNC but got FOLLOW_UP 47607, dropping
ptp4l[5855.024]: port 1 (eth2): received SYNC without timestamp ptp4l[5855.024]: port 1 (eth2): received FOLLOW_UP with timestampptp4l[5855.024]: port 1 (eth2): have FOLLOW_UP 47607, expecting SYNC but got FOLLOW_UP 47608, dropping
ptp4l[5855.149]: port 1 (eth2): received SYNC without timestamp ptp4l[5855.149]: port 1 (eth2): received FOLLOW_UP with timestampptp4l[5855.149]: port 1 (eth2): have FOLLOW_UP 47608, expecting SYNC but got FOLLOW_UP 47609, dropping
ptp4l[5855.275]: port 1 (eth2): received SYNC without timestamp ptp4l[5855.276]: port 1 (eth2): received FOLLOW_UP with timestampptp4l[5855.277]: port 1 (eth2): have FOLLOW_UP 47609, expecting SYNC but got FOLLOW_UP 47610, dropping
ptp4l[5855.313]: port 1 (eth2): delay timeout ptp4l[5855.314]: port 1 (eth2): received DELAY_RESP with timestamp ptp4l[5855.400]: port 1 (eth2): received SYNC without timestampSo it seems the card timestamps FOLLOW_UP and DELAY_RESP packets, but does not timestamp SYNC packets. Why could this be? Can it somehow mismatch SYNC and FOLLOW_UP messages in the chip and stamp the wrong one? (I think FOLLOW_UP stamps are not good for anything, are they?). Or is it still some problem with ptp4l not reading the socket?
-- Mgr. Martin Pecka, Ph.D. Researcher at Vision for Robotics and Autonomous Systems group Faculty of Electrical Engineering Czech Technical University in Prague Phone: +420 22435 7269
smime.p7s
Description: Elektronicky podpis S/MIME
_______________________________________________ Linuxptp-users mailing list Linuxptp-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-users