Hi, first, thank you for the PTP4L that make our lives easier.
I'm trying to sync a custom buildroot kernel on an A7 MCU (master) with an
RPi B3, the issue that I'm receiving a continuous error of tx timestamp
timeout, I raised *tx_timestamp_timeout *to 100 then 1000, but the problem
always persists, after reading multiple threads on the subject, it turns
out that the source problem might be a driver issue.
Here are the infos and config I'm using.

*ptp4l.conf:*

[global]
#
# Default Data Set
#
twoStepFlag     1
slaveOnly       0
priority1       128
priority2       128
domainNumber        0
clockClass      248
clockAccuracy       0xFE
offsetScaledLogVariance 0xFFFF
free_running        0
freq_est_interval   1
#
# Port Data Set
#
logAnnounceInterval 1
logSyncInterval     0
logMinDelayReqInterval  0
logMinPdelayReqInterval 0
announceReceiptTimeout  3
syncReceiptTimeout  0
delayAsymmetry      0
fault_reset_interval    4
neighborPropDelayThresh 20000000
#
# Run time options
#
assume_two_step     0
logging_level       6
path_trace_enabled  0
follow_up_info      0
hybrid_e2e      0
tx_timestamp_timeout    1
use_syslog      1
verbose         0
summary_interval    0
kernel_leap     1
check_fup_sync      0
#
# Servo Options
#
pi_proportional_const   0.0
pi_integral_const   0.0
pi_proportional_scale   0.0
pi_proportional_exponent    -0.3
pi_proportional_norm_max    0.7
pi_integral_scale   0.0
pi_integral_exponent    0.4
pi_integral_norm_max    0.3
step_threshold      0.0
first_step_threshold    0.00002
max_frequency       900000000
clock_servo     pi
sanity_freq_limit   200000000
ntpshm_segment      0
#
# Transport options
#
transportSpecific   0x0
ptp_dst_mac     01:1B:19:00:00:00
p2p_dst_mac     01:80:C2:00:00:0E
udp_ttl         32
udp6_scope      0x0E
uds_address     /var/run/ptp4l
#
# Default interface options
#
network_transport   UDPv4
delay_mechanism     E2E
time_stamping       software
tsproc_mode     filter
delay_filter        moving_median
delay_filter_length 10
egressLatency       0
ingressLatency      0
boundary_clock_jbod 0
#
# Clock description
#
productDescription  ;;
revisionData        ;;
manufacturerIdentity    00:00:00
userDescription     ;
timeSource      0xA0



*ptp4l.service : *




*[Unit]Description=Precision Time Protocol (PTP)
serviceWants=systemd-modules-load.serviceAfter=systemd-modules-load.service[Service]Type=simpleExecStart=/usr/sbin/ptp4l
-S -A -f /etc/ptp4l.conf -i eth0
-mRestart=on-failureRestartSec=1[Install]WantedBy=network.targetWantedBy=multi-user.target*

*PS :* I'm using software timestamping.

*Ptp4l version : *

*>>ptp4l -v*
v1.9.2_0_g47d6d15

*Interface Infos :*

*>>ethtool -i eth0*
driver: st_gmac
version: Jan_2016
firmware-version:
expansion-rom-version:
bus-info:
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no


*>>ethtool -T eth0*
Time stamping parameters for eth0:
Capabilities:
        hardware-transmit     (SOF_TIMESTAMPING_TX_HARDWARE)
        software-transmit     (SOF_TIMESTAMPING_TX_SOFTWARE)
        hardware-receive      (SOF_TIMESTAMPING_RX_HARDWARE)
        software-receive      (SOF_TIMESTAMPING_RX_SOFTWARE)
        software-system-clock (SOF_TIMESTAMPING_SOFTWARE)
        hardware-raw-clock    (SOF_TIMESTAMPING_RAW_HARDWARE)
PTP Hardware Clock: 0
Hardware Transmit Timestamp Modes:
        off                   (HWTSTAMP_TX_OFF)
        on                    (HWTSTAMP_TX_ON)
Hardware Receive Filter Modes:
        none                  (HWTSTAMP_FILTER_NONE)
        all                   (HWTSTAMP_FILTER_ALL)
        ptpv1-l4-event        (HWTSTAMP_FILTER_PTP_V1_L4_EVENT)
        ptpv1-l4-sync         (HWTSTAMP_FILTER_PTP_V1_L4_SYNC)
        ptpv1-l4-delay-req    (HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ)
        ptpv2-l4-event        (HWTSTAMP_FILTER_PTP_V2_L4_EVENT)
        ptpv2-l4-sync         (HWTSTAMP_FILTER_PTP_V2_L4_SYNC)
        ptpv2-l4-delay-req    (HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ)
        ptpv2-event           (HWTSTAMP_FILTER_PTP_V2_EVENT)
        ptpv2-sync            (HWTSTAMP_FILTER_PTP_V2_SYNC)
        ptpv2-delay-req       (HWTSTAMP_FILTER_PTP_V2_DELAY_REQ)




*Logs received on A7 side  (master):*

 *>>ptp4l -i eth0 -A -S -f /etc/ptp4l.conf -m*
ptp4l[1660.053]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[1660.078]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[1667.471]: port 1: LISTENING to MASTER on
ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
ptp4l[1667.471]: selected local clock 020400.fffe.000200 as best master
ptp4l[1667.471]: assuming the grand master role
ptp4l[1668.472]: timed out while polling for tx timestamp
ptp4l[1668.473]: increasing tx_timestamp_timeout may correct this issue,
but it is likely caused by a driver bug
ptp4l[1668.473]: port 1: send sync failed
ptp4l[1668.473]: port 1: MASTER to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
ptp4l[1684.476]: port 1: FAULTY to LISTENING on INIT_COMPLETE
ptp4l[1691.120]: port 1: LISTENING to MASTER on
ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
ptp4l[1691.120]: selected local clock 020400.fffe.000200 as best master
ptp4l[1691.120]: assuming the grand master role
ptp4l[1692.122]: timed out while polling for tx timestamp
ptp4l[1692.122]: increasing tx_timestamp_timeout may correct this issue,
but it is likely caused by a driver bug
ptp4l[1692.122]: port 1: send sync failed
ptp4l[1692.122]: port 1: MASTER to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
ptp4l[1708.125]: port 1: FAULTY to LISTENING on INIT_COMPLETE
ptp4l[1714.987]: port 1: LISTENING to MASTER on
ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
ptp4l[1714.988]: selected local clock 020400.fffe.000200 as best master
ptp4l[1714.988]: assuming the grand master role
ptp4l[1715.989]: timed out while polling for tx timestamp
ptp4l[1715.989]: increasing tx_timestamp_timeout may correct this issue,
but it is likely caused by a driver bug
ptp4l[1715.989]: port 1: send sync failed
ptp4l[1715.989]: port 1: MASTER to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
ptp4l[1731.992]: port 1: FAULTY to LISTENING on INIT_COMPLETE
ptp4l[1739.090]: port 1: LISTENING to MASTER on
ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
ptp4l[1739.091]: selected local clock 020400.fffe.000200 as best master
ptp4l[1739.091]: assuming the grand master role
ptp4l[1740.092]: timed out while polling for tx timestamp
ptp4l[1740.092]: increasing tx_timestamp_timeout may correct this issue,
but it is likely caused by a driver bug
ptp4l[1740.093]: port 1: send sync failed
ptp4l[1740.093]: port 1: MASTER to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)




*Logs received on RPi side  (slave):*

*>>sudo ptp4l -i eth0 -f /etc/ptp4l.conf -A -s -S -m*
ptp4l[65683.527]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[65683.528]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[65687.133]: port 1: new foreign master 020400.fffe.000200-1
ptp4l[65690.310]: selected local clock b827eb.fffe.4bb224 as best master
ptp4l[65696.904]: selected local clock b827eb.fffe.4bb224 as best master
ptp4l[65704.244]: selected local clock b827eb.fffe.4bb224 as best master
ptp4l[65710.676]: selected local clock b827eb.fffe.4bb224 as best master
ptp4l[65717.917]: selected local clock b827eb.fffe.4bb224 as best master




Notice that on RPi, it detects the master clock for an instance (with
id : 020400.fffe.000200)
but it doesn't take it as the local clock.
I hope you help me find a solution for my issue.

Thanks
Best regards.
_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users

Reply via email to