Hello, I have a hardware timestamping issue with a Broadcom NIC that I'd like a few opinions on. I'm 95% sure it's a NIC / driver problem, but I need some expert opinions before I go down the vendor / manufacturer route.
Both ptp4l and a build of ptpd using the PHC subsystem exhibit similar problems - either daemon continuously thinks the PHC needs to be stepped forward, anywhere from 1 - 1.5 seconds for each second of wall clock time. If I do some simple tests with linux/Documentation/ptp/testptp.c, it appears the PHC is spinning at about half the Hz it should be doing (it takes roughly 2 real seconds for the PHC to advance 1 second). While it is an anecdotal observation, half as fast seems rather uniform a problem, like there's a /2 somewhere gone wrong in the driver code... If I wanted to dig into the bnx2x source, any pointers on where to start looking? The rest of this email are log file + relevant details about the OS and NIC... Oct 3 15:38:36 isptpsl01 ptp4l: [14201.187] port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED Oct 3 15:38:37 isptpsl01 ptp4l: [14202.185] master offset -1453645423 s0 freq -31000000 path delay 142741226 Oct 3 15:38:37 isptpsl01 ptp4l: [14202.185] port 1: SLAVE to UNCALIBRATED on SYNCHRONIZATION_FAULT Oct 3 15:38:38 isptpsl01 ptp4l: [14203.185] master offset -1938178522 s0 freq -31000000 path delay 142741226 Oct 3 15:38:39 isptpsl01 ptp4l: [14204.185] master offset -2422706382 s1 freq -31000000 path delay 142741226 Oct 3 15:38:41 isptpsl01 ptp4l: [14206.185] master offset -962038200 s2 freq -31000000 path delay 135714969 Oct 3 15:38:41 isptpsl01 ptp4l: [14206.187] port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED Oct 3 15:38:42 isptpsl01 ptp4l: [14207.185] master offset -1446569992 s0 freq -31000000 path delay 135714969 Oct 3 15:38:42 isptpsl01 ptp4l: [14207.185] port 1: SLAVE to UNCALIBRATED on SYNCHRONIZATION_FAULT Oct 3 15:38:43 isptpsl01 ptp4l: [14208.185] master offset -1931098770 s0 freq -31000000 path delay 135714969 Oct 3 15:38:44 isptpsl01 ptp4l: [14209.185] master offset -2422655704 s1 freq -31000000 path delay 142741226 Oct 3 15:38:45 isptpsl01 ptp4l: [14210.185] master offset -484531919 s2 freq -31000000 path delay 142741226 Oct 3 15:38:45 isptpsl01 ptp4l: [14210.187] port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED Oct 3 15:38:46 isptpsl01 ptp4l: [14211.185] master offset -969076973 s2 freq -31000000 path delay 142741226 Oct 3 15:38:47 isptpsl01 ptp4l: [14212.185] master offset -1446579628 s0 freq -31000000 path delay 135714969 Oct 3 15:38:47 isptpsl01 ptp4l: [14212.185] port 1: SLAVE to UNCALIBRATED on SYNCHRONIZATION_FAULT Oct 3 15:38:48 isptpsl01 ptp4l: [14213.185] master offset -1925293801 s0 freq -31000000 path delay 129888779 Oct 3 15:38:49 isptpsl01 ptp4l: [14214.186] master offset -2370870770 s1 freq -31000000 path delay 90938984 Oct 3 15:38:51 isptpsl01 ptp4l: [14216.186] master offset -969077157 s2 freq -31000000 path delay 90938984 The controller is: 01:00.7 Ethernet controller: Broadcom Corporation NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function (rev 10) Subsystem: Dell Device 0636 Tried two kernels and drivers: kernel: 3.18.14 driver: bnx2x version: 1.710.51-0 firmware-version: FFV7.12.15 bc 7.12.4 kernel: 4.6.5 driver: bnx2x version: 1.712.30-0 firmware-version: FFV7.12.15 bc 7.12.4 And apparent capabilities of the NIC: Time stamping parameters for em2_1: 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: 1 Hardware Transmit Timestamp Modes: off (HWTSTAMP_TX_OFF) on (HWTSTAMP_TX_ON) Hardware Receive Filter Modes: none (HWTSTAMP_FILTER_NONE) 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-l2-event (HWTSTAMP_FILTER_PTP_V2_L2_EVENT) ptpv2-l2-sync (HWTSTAMP_FILTER_PTP_V2_L2_SYNC) ptpv2-l2-delay-req (HWTSTAMP_FILTER_PTP_V2_L2_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) ptp4l config file (I put in stupidly big step thresholds just to see what happens): [global] # # Default Data Set # twoStepFlag 1 slaveOnly 1 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 1.0 first_step_threshold 1.0 max_frequency 900000000 clock_servo pi sanity_freq_limit 1000000000 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 8 udp6_scope 0x0E uds_address /var/run/ptp4l # # Default interface options # 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 -- Luke Bigum Senior Systems Engineer Information Systems --- LMAX Exchange, Yellow Building, 1A Nicholas Road, London W11 4AN http://www.LMAX.com/ Recognised by the most prestigious business and technology awards 2016 Best Trading & Execution, HFM US Technology Awards 2016, 2015, 2014, 2013 Best FX Trading Venue - ECN/MTF, WSL Institutional Trading Awards 2015 Winner, Deloitte UK Technology Fast 50 2015, 2014, 2013, One of the UK's fastest growing technology firms, The Sunday Times Tech Track 100 2015 Winner, Deloitte EMEA Technology Fast 500 2015, 2014, 2013 Best Margin Sector Platform, Profit & Loss Readers' Choice Awards --- FX and CFDs are leveraged products that can result in losses exceeding your deposit. They are not suitable for everyone so please ensure you fully understand the risks involved. This message and its attachments are confidential, may not be disclosed or used by any person other than the addressee and are intended only for the named recipient(s). This message is not intended for any recipient(s) who based on their nationality, place of business, domicile or for any other reason, is/are subject to local laws or regulations which prohibit the provision of such products and services. This message is subject to the following terms (http://lmax.com/pdf/general-disclaimers.pdf), if you cannot access these, please notify us by replying to this email and we will send you the terms. If you are not the intended recipient, please notify the sender immediately and delete any copies of this message. LMAX Exchange is the trading name of LMAX Limited. LMAX Limited operates a multilateral trading facility. LMAX Limited is authorised and regulated by the Financial Conduct Authority (firm registration number 509778) and is a company registered in England and Wales (number 6505809). LMAX Hong Kong Limited is a wholly-owned subsidiary of LMAX Limited. LMAX Hong Kong is licensed by the Securities and Futures Commission in Hong Kong to conduct Type 3 (leveraged foreign exchange trading) regulated activity with CE Number BDV088. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Linuxptp-users mailing list Linuxptp-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-users