- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm having a similar problem to https://community.intel.com/t5/Ethernet-Products/Problem-with-ICE-drivers-and-ts2phc-program-E810-XXVDA4T/m-p/1710542#M42610.
It appears that the documentation for the ICE drivers is out of date. I'm trying to configure an E810 XXVDA4T with an external PPS signal. I'm referencing the user guide revision 1.7 from April 2025.
I'm running OpenSUSE Tumbleweed with kernel 6.17.0-2-default, ice 2.3.10 and DDP 1.3.49.0.
I'm primarily focused on the use-case in section 5.3 of the user guide: "PTP GrandMaster (GM) with External GNSS Clock"
Per that section, I have an external PPS signal attached to SMA1 and I'm trying to get the PHC clock accurate using ts2phc. It never succeeds (note that I've reproduced the "Example ts2phc Configuration File" from section 5.8 using command line flags):
> sudo ts2phc -c eth1 --use_syslog 0 --verbose 1 --logging_level 7 --ts2phc.pulsewidth 5000000 --ts2phc.extts_polarity rising -s generic -m ts2phc[1911.409]: config item (null).sa_file is '(null)' ts2phc[1911.409]: config item eth1.ts2phc.master is 0 ts2phc[1911.409]: config item eth1.ts2phc.pin_index is 0 ts2phc[1911.409]: config item eth1.ts2phc.channel is 0 ts2phc[1911.409]: config item eth1.ts2phc.extts_polarity is 2 ts2phc[1911.409]: config item eth1.ts2phc.extts_correction is 0 ts2phc[1911.409]: config item eth1.ts2phc.pulsewidth is 5000000 ts2phc[1911.409]: config item (null).clock_servo is 0 ts2phc[1911.409]: config item (null).pi_proportional_const is 0.000000 ts2phc[1911.409]: config item (null).pi_integral_const is 0.000000 ts2phc[1911.409]: config item (null).pi_proportional_scale is 0.000000 ts2phc[1911.409]: config item (null).pi_proportional_exponent is -0.300000 ts2phc[1911.409]: config item (null).pi_proportional_norm_max is 0.700000 ts2phc[1911.409]: config item (null).pi_integral_scale is 0.000000 ts2phc[1911.409]: config item (null).pi_integral_exponent is 0.400000 ts2phc[1911.409]: config item (null).pi_integral_norm_max is 0.300000 ts2phc[1911.409]: config item (null).step_threshold is 0.000000 ts2phc[1911.409]: config item (null).first_step_threshold is 0.000020 ts2phc[1911.409]: config item (null).max_frequency is 900000000 ts2phc[1911.409]: config item (null).servo_offset_threshold is 0 ts2phc[1911.409]: config item (null).servo_num_offset_values is 10 ts2phc[1911.409]: PI servo: sync interval 1.000 kp 0.700 ki 0.300000 ts2phc[1911.409]: config item (null).free_running is 0 ts2phc[1911.409]: PPS sink eth1 has ptp index 0 PTP_PIN_SETFUNC2 failed: Operation not supported ts2phc[1911.409]: PTP_PIN_SETFUNC request failed ts2phc[1911.409]: failed to create sink failed to add PPS sink
The DPLL locks just fine:
> sudo cat /sys/kernel/debug/ice/0000:06:1b.0/cgu Found ZL80032 CGU DPLL Config ver: 1.3.0.1 DPLL FW ver: 6201 CGU Input status: | | priority | | input (idx) | state | EEC (0) | PPS (1) | ESync fail | ---------------------------------------------------------------- CVL-SDP22 (0) | invalid | 255 | 5 | N/A | CVL-SDP20 (1) | invalid | 255 | 4 | N/A | C827_0-RCLKA (2) | invalid | 8 | 8 | N/A | C827_0-RCLKB (3) | invalid | 9 | 9 | N/A | SMA1 (4) | valid | 3 | 3 | N/A | SMA2/U.FL2 (5) | invalid | 2 | 2 | N/A | GNSS-1PPS (6) | invalid | 0 | 0 | N/A | EEC DPLL: Current reference: SMA1 Status: locked_ho_acq PPS DPLL: Current reference: SMA1 Status: locked_ho_acq Phase offset [ps]: -8701
But no invocation of ts2phc has ever been successful.
I've been through a pretty thorough troubleshooting session with ChatGPT which has resulted in trying all kinds of things and the conclusion at the moment is that the driver is simply broken.
Before asking me to run any commands, I suggest you check the troubleshooting session with ChatGPT, it suggested a vast many things and there's a reasonable chance it's already suggested I do what you suggest.
The various errors I receive are:
- driver cannot use function 1 and channel 0 on pin 0
- PTP_PIN_SETFUNC2 failed: Operation not supported
- PTP_PIN_SETFUNC request failed
The ChatGPT debugging session goes down a tangent trying to get EXTTS working. I managed this:
- Per the debug output above, the DPLL is already phase locked with the 1PPS input on SMA1
- I want to sync the E810 PHC to the DPLL.
- Per Figure 1 from the user guide, the DPLL outputs 1PPS on "OUT7P", which is connected to SDP23 on the E810
- "OUT7P" is output pin 4 in pin_cfg, which is enabled:
> sudo cat /sys/class/net/eth1/device/pin_cfg in | pin| enabled| state| freq| phase_delay| eSync/Ref-sync| DPLL0 prio| DPLL1 prio| | 0| 1| invalid| 1| 0| 0| 255| 5| | 1| 1| invalid| 1| 0| 2| 255| 4| | 2| 1| invalid| 1953125| 0| 0| 8| 8| | 3| 1| invalid| 1953125| 0| 0| 9| 9| | 4| 1| valid| 1| 7000| 0| 3| 3| | 5| 1| invalid| 1| 7000| 2| 2| 2| | 6| 1| invalid| 1| 0| 0| 0| 0| out | pin| enabled| dpll| freq| esync| | 0| 1| 1| 1| 0| | 1| 1| 1| 1| 0| | 2| 1| 0| 156250000| 0| | 3| 1| 0| 156250000| 0| | 4| 1| 1| 1| 0| | 5| 1| 1| 1| 0|
- Per section 4.6 of the user guide, I can configure SDP23 as an input on channel 0 with the command:
echo 1 0 > /sys/class/net/$ETH/device/ptp/ptp*/pins/SDP23
- I should enable external timestamps on channel 0 with the following command:
echo "0 1" | sudo tee /sys/class/ptp/ptp0/extts_enable
- Once external timestamps are enabled, I should see data in the fifo
I can now see timestamps in the FIFO and testptp monitors them in realtime.
However even with timestamps in the FIFO, ts2phc doesn't function.
I'd be happy to try reverting to an earlier version of the driver (as of April, when the guide was written, I suppose the version would have been ice-1.16.3?) but they seem to be incompatible with modern kernels. Compilation fails with errors like:
kcompat_gnss.c:224:27: error: ‘no_llseek’ undeclared here (not in a function); did you mean ‘noop_llseek’?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello LukeFassbinder,
Thank you for posting in the Intel Community Forum.
As per your query, you're experiencing issues configuring the PTP Grandmaster (GM) with an external GNSS clock on the E810 XXVDA4T adapter.
To better understand your environment and assist you further, please provide the following details:
- System specifications
- Was the adapter shipped with the system or purchased separately?
- A clear image of the NIC adapter with visible markings
- Was the adapter functioning before ?
Best regards,
Shankith K P
Intel Customer Support Technician
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is my first time using the NIC.
None of this is relevant though, this is entirely a software problem as evidenced by my most recent post showing that it's possible to make everything function by changing some syscalls.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello LukeFassbinder,
Thank you for writing back to us.
We are checking this internally, we will get back to you shortly.
Best regards,
Shankith K P
Intel Customer Support Technician
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I temporarily patched ts2phc to ignore the result of the PTP_PIN_SETFUNC2 call and invoked it with the external timestamp flag (only available in Git right now, not the latest 4.4 release). Then the PTP_EXTTS_REQUEST2 call failed. I patched ts2phc to use PTP_EXTTS_REQUEST instead.
With these changes, ts2phc is able to read timestamps and make corrections, so it's clear to me that the problem is in the ice driver.
I'm assuming this is a regression because the documentation seems to indicate that this has worked at least at some point in the past.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you @LukeFassbinder for starting this topic! I ran into the same problem, driver 2.3.10 breaks ptp and because I am on kernel 6.17 I cannot go back to the older driver version 1.17.8 which seems to work.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page