Wiggling the module helped. Not sure what's going on what that - likely something loose internally. Using only the PTP functionality, I was able to get a proxmox box synchronized to +/- 100 ns of the Nokia OSA 5401 module relatively easily, with periods of +/- 10 ns.
On the OSA 5401, I set the MAC to be the ether type broadcast (L2 only). This was required because the only interface is assigned to the bridge. L3 packets were sent to the bridge. L2 packets were interpreted without issue. (not an expert on level 2/3 ether packets here, probably using the wrong words to describe things, the ether packets do come through to VMs on the same vmbr0 as well, but the VMs don't have HW timestamp capabilities).
configure clock l2-profiles master mac 01-1b-19-00-00-00
I also fudged with the rates, left at 1/sec for the announce and dresp-sync messages.
I installed linuxptp, then on the proxmox host,
eno1 is the interface
-2 is level 2 protocol
-m is debug prints to console
-s is slave
--domain=24 to match the OSA 5401 default (4 for L3 and 24 for L2, not sure if that's factory default or not. mine had some 10.255 addresses left over in the config)
ptp4l -i eno1 -2 -m -s --domain=24
that creates /dev/ptp0.
in another window, for debug purposes:
-s interface
-m mesages to console
-O is seconds of offset for TAI/UTC conversion. currently -37 (seeing 37.0s offset in chrony was odd)
phc2sys -s /dev/ptp0 -m -O -37
that's to ensure things are good. real use is for chrony:
/etc/chrony/chrony.conf:
refclock PHC /dev/ptp0 poll 0 dpoll -2 offset -37
restart chrony and judge your results. in this screenshot, both pi-ntp and piaware are PPS disciplined Raspberry Pi 3B modules. pi-ntp is connected via ethernet and has a GT-U7 GPS module. piaware is connected via wifi (on roof) and has a LEA-6T GPS module. host is a Dell Precision 3431 which has I219-LM doing PTP duties.
Code:
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
PHC0 30 14 29 -0.000 0.011 -0ns 132ns
pf-new.home.fluffnet.net 14 7 976 +0.236 0.207 +913us 56us
pi-ntp.home.fluffnet.net 56 29 61 +0.009 0.384 -59us 14us
prox-3070.home.fluffnet.> 16 10 969 +0.061 0.141 -3502ns 45us
piaware.home.fluffnet.net 64 35 972 -0.413 1.712 -1432us 1265us
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
#* PHC0 0 0 377 2 -29ns[ -33ns] +/- 76ns
^- pf-new.home.fluffnet.net 2 6 377 34 +828us[ +828us] +/- 11ms
^? pi-ntp.home.fluffnet.net 1 0 377 1 +44us[ +44us] +/- 328us
^- prox-3070.home.fluffnet.> 2 6 377 41 -29us[ -29us] +/- 405us
^- piaware.home.fluffnet.net 2 4 377 12 -683us[ -683us] +/- 4665us
Reference ID : 50484330 (PHC0)
Stratum : 1
Ref time (UTC) : Mon Apr 15 20:46:42 2024
System time : 0.000000010 seconds fast of NTP time
Last offset : -0.000000004 seconds
RMS offset : 0.000000045 seconds
Frequency : 0.133 ppm slow
Residual freq : -0.000 ppm
Skew : 0.011 ppm
Root delay : 0.000000001 seconds
Root dispersion : 0.000001539 seconds
Update interval : 1.0 seconds
Leap status : Normal
here's my full config:
Code:
ADVA--> show running-config
show running-config (1/5)
clock l2-profiles
domain-number : 24
profile : g8275.1
port-delay-asym : 0
master multicast: enabled
mac : 01-1B-19-00-00-00
rate announce : 1 pps
rate dresp-sync: 1 pps
priority2 : 128
slave : disabled
mac : 01-80-C2-00-00-0E
delay-asym : 0
clock l3-profiles
domain-number : 4
profile : g8265.1
port-delay-asym : 0
ip-details
ip-address : 10.98.1.197
netmask : 255.255.255.0
default-gw : 0.0.0.0
vlan-id : 4095
vlan-pcp : 7
ip-priority : none
master unicast : disabled
master multicast: disabled
rate announce : 2 pps
rate dresp-sync: 8 pps
master
priority2 : 128
slave : disabled
mode : unicast
rate announce : 8 pps
rate dresp-sync: 128 pps
acceptable-masters
primary : 0.0.0.0
delay-asym : 0
backup : 0.0.0.0
delay-asym : 0
Press <enter> to continue
*** Running configuration has been changed and needs to be saved. ***
ADVA:show:running-config:-->
show running-config continues (2/5)
clock gnss : enabled
mode : gps+glonass
antenna-delay : 0
elevation : 5 deg
snr : 9 dBHz
location : survey-in
latitude : N00.0000000
longitude : E00.0000000
altitude : 0 cm
forced-antenna-c: disabled
clock type : etsi
port ethernet
tx-ssm : enabled
synce : master
rx-quality-level: ssm-based
port sci
direction : output
signal : pps
rx-quality-level: prc
Press <enter> to continue
*** Running configuration has been changed and needs to be saved. ***
ADVA:show:running-config:-->
show running-config continues (3/5)
management host
ip-address : 10.98.1.199
netmask : 255.255.255.0
default-gw : 10.98.1.1
vlan-id : 1
vlan-pcp : 7
ip-priority: none
system
telnet : disabled
tftp : disabled
ssh : enabled
scp : enabled
snmp : enabled
leds : enabled
syslog : enabled
address 1 : 10.255.160.63:2011
address 2 : 0.0.0.0:514
radius : disabled
auth-type : pap
access-or.: local
primary : 0.0.0.0:1812
secret :
timeout : 2
retries : 3
backup : 0.0.0.0:1812
secret :
timeout : 2
retries : 3
ne-name : 7WDC209A_OSA_5401
engine-id : 800015af030
ne-contact : OSA_5401_Contact
ne-location: OSA_5401_Location
ne-physical-alias : OSA_5401_Physical-alias
ne_physical-asset-id : OSA_5401_Physical-asset-id
Press <enter> to continue
*** Running configuration has been changed and needs to be saved. ***
ADVA:show:running-config:-->
show running-config continues (4/5)
syncjack
rawdata_server
protocol : ftp
username : root
ip-address : 0.0.0.0
clock-accuracy 1
measurem. type : frequency
rate : 1-Hz
source : synce
reference : gnss
clock-accuracy 2
measurem. type : frequency
rate : 1-Hz
source : synce
reference : gnss
clock-analysis 1
measurem. type : phase
rate : 1-Hz
source : ptp
reference : gnss
direction : master-to-slave
clock-analysis 2
measurem. type : phase
rate : 1-Hz
source : ptp
reference : gnss
direction : master-to-slave
management alarm severity
time-freerun : not-reported
time-holdover : not-reported
time-traceable : major
freq-freerun : not-reported
freq-holdover : not-reported
freq-traceable : major
error-antenna : major
sync-timeout : minor
ann-timeout : minor
dresp-timeout : minor
loss-of-ann : not-reported
loss-of-sync : not-reported
sj-fail-time : major
sj-fail-freq : major
equip-fault : critical
equip-mismatch : critical
sfp-mismatch : critical
sfp-removed : critical
sfp-tx-fault : critical
sfp-not-qualif : not-reported
Press <enter> to continue
*** Running configuration has been changed and needs to be saved. ***
ADVA:show:running-config:-->
show running-config continues (5/5)
...SNMP snip...