[chrony-users] PHC / NIC / PPS mismatch

[ Thread Index | Date Index | More chrony.tuxfamily.org/chrony-users Archives ]



I have a PCEngines APU2 that has 1PPS wired to the third NIC's SPD0 pin NIC is i210/i2110.   Third NIC is enp3s0.

ch:~$ ls -1d /sys/class/ptp/ptp*/device/net/*                            
/sys/class/ptp/ptp0/device/net/enp1s0                                          
/sys/class/ptp/ptp1/device/net/enp2s0                                          
/sys/class/ptp/ptp2/device/net/enp3s0                                    
ch:~$ grep . /sys/class/pps/pps*/name                                    
/sys/class/pps/pps0/name:ptp0                                                  
/sys/class/pps/pps1/name:ptp1                                                  
/sys/class/pps/pps2/name:ptp2                                                  
/sys/class/pps/pps3/name:acm0                                                  
ch:~$ 

Relevant chrony.conf:

refclock SHM 0 refid NMEA precision 1e-3 poll 3 offset 100e-3 noselect
refclock PHC /dev/ptp2:extpps refid PPS width 100e-3 precision 1e-9 lock NMEA poll 0 trust

This works perfectly well with Debian Buster.   ppstest shows pps is on /dev/pps2 and chrony tracks it beautifully. 

Buster is chrony 3.4-4+deb10u1 and Linux 4.19.0

Same hardware and config on Debian Bullseye does not work -- chrony never sees 1PPS.

Bullseye is chrony 4.0-8 and Linux 5.10.0.

ch:~$ ls -1d /sys/class/ptp/ptp*/device/net/*                            
/sys/class/ptp/ptp0/device/net/enp1s0                                          
/sys/class/ptp/ptp1/device/net/enp2s0                                          
/sys/class/ptp/ptp2/device/net/enp3s0  
ch:~$ grep . /sys/class/pps/pps*/name
/sys/class/pps/pps0/name:ptp0
/sys/class/pps/pps1/name:ptp1
/sys/class/pps/pps2/name:ptp2
/sys/class/pps/pps3/name:acm0
ch:~$ 


If I look for PPS, I find it on ptp0/pps0 with Bullseye.

ch:~$ echo -n 1 | sudo tee /sys/class/ptp/ptp0/pps_enable
1ch:~$
ch:~$ sudo ppstest /dev/pps0
trying PPS source "/dev/pps0"
found PPS source "/dev/pps0"
ok, found 1 source(s), now start fetching data...
source 0 - assert 1636759620.959686006, sequence: 7189 - clear  0.000000000, sequence: 0
source 0 - assert 1636759621.959655086, sequence: 7190 - clear  0.000000000, sequence: 0
^C

It is not found anywhere else.

If tried telling chrony to /dev/ptp0 instead of /dev/ptp2, but it does NOT find the PPS.

-- Christopher.








Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/