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_COMPLETE
ptp4l[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 [email protected] https://lists.sourceforge.net/lists/listinfo/linuxptp-users
