Hello all, after a bit of advice/help. I've got some CentOS 7 servers
and I need to get them running ptp4l (from linuxptp) as clients, with
the grandmaster being a Meinberg appliance. One with an Intel i350 works
fine. Another with a Broadcom 5720 does not. Both servers are connected
to the same network for their PTP. I suspect I know why the Broadcom
doesn't work, but I was wondering if anyone could point me in the right
direction on how to get it to do so.
In short the i350's hardware timstamping capabilities say this:
|# ethtool -T lan2 <snip> Hardware Receive Filter Modes:
none (HWTSTAMP_FILTER_NONE)
all (HWTSTAMP_FILTER_ALL) |
But the Broadcom says this:
|# ethtool -T lan2 <snip> Hardware Receive Filter Modes:
none (HWTSTAMP_FILTER_NONE)
ptpv1-l4-event (HWTSTAMP_FILTER_PTP_V1_L4_EVENT)
ptpv2-l4-event (HWTSTAMP_FILTER_PTP_V2_L4_EVENT)
ptpv2-l2-event (HWTSTAMP_FILTER_PTP_V2_L2_EVENT) |
So I get the feeling that the Broadcom isn't picking up some of the
messages coming back from the grandmaster. eg in the logs I can see:
|Jun 3 10:12:37.000 ldalgc01 ptp4l[8290]: ptp4l[601302.197]: selected
local clock e43d1a.fffe.acab65 as best master Jun 3 10:12:37.000
ldalgc01 ptp4l: [601302.197] selected local clock e43d1a.fffe.acab65 as
best master Jun 3 10:12:38.000 ldalgc01 phc2sys: [601303.026] Waiting
for ptp4l... Jun 3 10:12:39.000 ldalgc01 phc2sys: [601304.027] Waiting
for ptp4l... |
But a tcpdump shows that such messages are arriving:
|10:12:39.381908 IP gsdgmca01-ptp0.prod.instinet.com.ptp-general >
224.0.1.129.ptp-general: UDP, length 54 10:12:39.398091 IP
gsdgmca01-ptp0.prod.instinet.com.ptp-general > 224.0.1.129.ptp-general:
UDP, length 54 10:12:39.404572 IP
gsdgmca01-ptp0.prod.instinet.com.ptp-general > 224.0.1.129.ptp-general:
UDP, length 54 |
The Broadcom 5720 blurb says that it has Hardware support for IEEE 1588
timestamping <https://docs.broadcom.com/doc/5720-PB01-R>, so I guess it
might need some tweaking of the ptp4l conf, but I'm not sure where to
start. Current config (that works fine on the i350) is:
|[global] # # Default Data Set # twoStepFlag 1
slaveOnly 1 priority1 128 priority2
128 domainNumber 0 #utc_offset 37
clockClass 248 clockAccuracy 0xFE
offsetScaledLogVariance 0xFFFF free_running 0
freq_est_interval 1 dscp_event 0
dscp_general 0 dataset_comparison ieee1588
G.8275.defaultDS.localPriority 128 # # Port Data Set #
logAnnounceInterval 1 logSyncInterval 0
logMinDelayReqInterval 0 logMinPdelayReqInterval 0
announceReceiptTimeout 3 syncReceiptTimeout 0
delayAsymmetry 0 fault_reset_interval 4
neighborPropDelayThresh 20000000 masterOnly 0
G.8275.portDS.localPriority 128 # # Run time options #
assume_two_step 0 logging_level 6
path_trace_enabled 0 follow_up_info 0
hybrid_e2e 1 inhibit_multicast_service 0
net_sync_monitor 0 tc_spanning_tree 0
tx_timestamp_timeout 1 unicast_listen 0
unicast_master_table 0 unicast_req_duration 3600
use_syslog 1 verbose 1
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 linreg 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 # clock_type OC
network_transport UDPv4 delay_mechanism E2E
time_stamping hardware 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 Thanks in advance, J |
_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users