Jetson AGX Orin PHC Instability Using phc2sys (Unexpected Periodic Large Time Corrections)
Platform
Device: NVIDIA Jetson AGX Orin Developer Kit
Kernel: Linux inz-jetson-2 5.15.148-tegra #1 SMP PREEMPT Mon Jun 16 08:24:48 PDT 2025 aarch64
Interface: eno1
Ethernet Controller: Onboard 1Gbit nvethernet
Driver: nvethernet, version 5.15.148-tegra
Bus Info: 6800000.ethernet
Goal
I want to synchronize the NIC’s PHC (eno1) to the system clock (CLOCK_REALTIME) using phc2sys.
Command used:
phc2sys -s CLOCK_REALTIME -c eno1 -m -q -O 0
Problem
Despite achieving convergence, I observe periodic large frequency corrections from phc2sys that reverse direction within seconds, suggesting they are spurious or overly aggressive.
These frequency changes typically exceed ±150,000 ppb and are then “canceled out” by corrections in the opposite direction.
Behavior Pattern
This behavior is periodic, occurring approximately every 30 to 60 seconds. The system may be in a stable state (offset < 100ns and freq drift < 200ppb), then suddenly phc2sys makes a large correction that is reversed shortly after.
Example Behavior
✅ Steady-State (Expected):
phc2sys[457]: offset=102 freq=-23876
phc2sys[458]: offset=-6 freq=-23954
phc2sys[459]: offset=73 freq=-23876
...
phc2sys[489]: offset=5 freq=-23782
❌ Periodic Jump (Wrong):
phc2sys[490]: offset=106218 freq=+82432
phc2sys[491]: offset=142427 freq=+150507
phc2sys[492]: offset=110565 freq=+161373
...
phc2sys[531]: offset=-108527 freq=+50938
phc2sys[532]: offset=-142502 freq=-15595
phc2sys[533]: offset=-109806 freq=-25649
These jumps reverse direction within a few seconds and occur again about half a minute later, even if the system was previously in a good state.
What I’ve Done
✅ Disabled all time-related services:
- systemd-timesyncd
- ntpd
- chronyd
✅ Ran strace on all process to monitor after the syscalls:
- adjtimex
- clock_adjtime
- settimeofday
- clock_settime
Results: No system process is touching the clock at the time of the jumps.
✅ Tried to tune phc2sys servo
Diagnostic Notes
- These jumps look like “overreaction” in servo feedback (unless some other internal process is setting the clock)
- The correction value is large and reversed shortly after (e.g., +150507 to -155950).
- There’s no system user process interfering with the clock (confirmed via syscall trace).
- The PHC (onboard) seems to respond too eagerly to very small system clock noise.
Open questions:
- Is this unstable PHC behavior expected with nvethernet on Jetson AGX Orin?
- Is phc2sys a stable/recommended approach for CLOCK_REALTIME → PHC sync on Jetson?
- Is there a known fix for overcorrection or a better way to smooth servo behavior?
- Can any Jetson internal process or PMC background task cause these artifacts periodically?
Full phc2sys Log
phc2sys -s $SRC_INTERFACE -c $DST_INTERFACE -m -q -O 0
phc2sys[455.446]: eno1 sys offset 960021 s0 freq -166588 delay 2496
phc2sys[456.446]: eno1 sys offset 1102692 s1 freq -23978 delay 2528
phc2sys[457.447]: eno1 sys offset 102 s2 freq -23876 delay 2656
phc2sys[458.448]: eno1 sys offset -6 s2 freq -23954 delay 2720
phc2sys[459.448]: eno1 sys offset 73 s2 freq -23876 delay 2848
phc2sys[460.449]: eno1 sys offset -88 s2 freq -24015 delay 2688
phc2sys[461.449]: eno1 sys offset -9 s2 freq -23963 delay 2688
phc2sys[462.450]: eno1 sys offset 53 s2 freq -23904 delay 2784
phc2sys[463.450]: eno1 sys offset 3 s2 freq -23938 delay 2720
phc2sys[464.451]: eno1 sys offset -23 s2 freq -23963 delay 2656
phc2sys[465.451]: eno1 sys offset 22 s2 freq -23925 delay 2656
phc2sys[466.451]: eno1 sys offset 102 s2 freq -23838 delay 2848
phc2sys[467.452]: eno1 sys offset 53 s2 freq -23856 delay 2784
phc2sys[468.452]: eno1 sys offset 15 s2 freq -23879 delay 2880
phc2sys[469.453]: eno1 sys offset 4 s2 freq -23885 delay 2880
phc2sys[470.453]: eno1 sys offset 15 s2 freq -23873 delay 2848
phc2sys[471.453]: eno1 sys offset -100 s2 freq -23983 delay 3040
phc2sys[472.454]: eno1 sys offset 29 s2 freq -23884 delay 2912
phc2sys[473.454]: eno1 sys offset 51 s2 freq -23854 delay 2912
phc2sys[474.455]: eno1 sys offset 17 s2 freq -23872 delay 2944
phc2sys[475.455]: eno1 sys offset 48 s2 freq -23836 delay 3040
phc2sys[476.455]: eno1 sys offset 33 s2 freq -23837 delay 3072
phc2sys[477.456]: eno1 sys offset 128 s2 freq -23732 delay 2848
phc2sys[478.456]: eno1 sys offset -15 s2 freq -23837 delay 2720
phc2sys[479.457]: eno1 sys offset -55 s2 freq -23881 delay 2656
phc2sys[480.457]: eno1 sys offset -39 s2 freq -23882 delay 2560
phc2sys[481.457]: eno1 sys offset 51 s2 freq -23803 delay 3072
phc2sys[482.458]: eno1 sys offset 51 s2 freq -23788 delay 3072
phc2sys[483.458]: eno1 sys offset 40 s2 freq -23784 delay 3008
phc2sys[484.459]: eno1 sys offset 43 s2 freq -23769 delay 2976
phc2sys[485.459]: eno1 sys offset 58 s2 freq -23741 delay 2752
phc2sys[486.460]: eno1 sys offset 7 s2 freq -23774 delay 2752
phc2sys[487.460]: eno1 sys offset -15 s2 freq -23794 delay 2720
phc2sys[488.460]: eno1 sys offset -12 s2 freq -23796 delay 2912
phc2sys[489.461]: eno1 sys offset 5 s2 freq -23782 delay 3072
phc2sys[490.461]: eno1 sys offset 106218 s2 freq +82432 delay 2848
phc2sys[491.462]: eno1 sys offset 142427 s2 freq +150507 delay 2752
phc2sys[492.462]: eno1 sys offset 110565 s2 freq +161373 delay 2880
phc2sys[493.462]: eno1 sys offset 67825 s2 freq +151802 delay 2848
phc2sys[494.463]: eno1 sys offset 34600 s2 freq +138925 delay 2848
phc2sys[495.463]: eno1 sys offset 14333 s2 freq +129038 delay 2880
phc2sys[496.464]: eno1 sys offset 3865 s2 freq +122870 delay 2752
phc2sys[497.464]: eno1 sys offset -310 s2 freq +119854 delay 2784
phc2sys[498.465]: eno1 sys offset -1497 s2 freq +118574 delay 2880
phc2sys[499.465]: eno1 sys offset -1432 s2 freq +118190 delay 2816
phc2sys[500.466]: eno1 sys offset -938 s2 freq +118254 delay 2816
phc2sys[501.466]: eno1 sys offset -545 s2 freq +118366 delay 2784
phc2sys[502.466]: eno1 sys offset -235 s2 freq +118512 delay 2848
phc2sys[503.467]: eno1 sys offset -89 s2 freq +118588 delay 2880
phc2sys[504.467]: eno1 sys offset 8 s2 freq +118658 delay 2880
phc2sys[505.468]: eno1 sys offset 6 s2 freq +118659 delay 2784
phc2sys[506.468]: eno1 sys offset 39 s2 freq +118693 delay 2784
phc2sys[507.469]: eno1 sys offset 52 s2 freq +118718 delay 2880
phc2sys[508.469]: eno1 sys offset 29 s2 freq +118711 delay 2880
phc2sys[509.469]: eno1 sys offset -3 s2 freq +118687 delay 2816
phc2sys[510.470]: eno1 sys offset -35 s2 freq +118655 delay 2720
phc2sys[511.470]: eno1 sys offset 32 s2 freq +118711 delay 2784
phc2sys[512.471]: eno1 sys offset -5 s2 freq +118684 delay 2656
phc2sys[513.471]: eno1 sys offset 69 s2 freq +118756 delay 2848
phc2sys[514.471]: eno1 sys offset 30714 s2 freq +149422 delay 2656
phc2sys[515.472]: eno1 sys offset 40823 s2 freq +168745 delay 2848
phc2sys[516.472]: eno1 sys offset 31515 s2 freq +171684 delay 2816
phc2sys[517.473]: eno1 sys offset 19154 s2 freq +168777 delay 2656
phc2sys[518.473]: eno1 sys offset 9873 s2 freq +165243 delay 2752
phc2sys[519.474]: eno1 sys offset 4038 s2 freq +162370 delay 2720
phc2sys[520.474]: eno1 sys offset 1147 s2 freq +160690 delay 2784
phc2sys[521.474]: eno1 sys offset -146 s2 freq +159741 delay 2624
phc2sys[522.475]: eno1 sys offset -383 s2 freq +159460 delay 2848
phc2sys[523.475]: eno1 sys offset -458 s2 freq +159270 delay 2656
phc2sys[524.476]: eno1 sys offset -174 s2 freq +159417 delay 2784
phc2sys[525.476]: eno1 sys offset -154 s2 freq +159385 delay 2848
phc2sys[526.476]: eno1 sys offset -101 s2 freq +159392 delay 2784
phc2sys[527.477]: eno1 sys offset -40 s2 freq +159422 delay 2752
phc2sys[528.477]: eno1 sys offset 43 s2 freq +159493 delay 2880
phc2sys[529.477]: eno1 sys offset 33 s2 freq +159496 delay 2880
phc2sys[530.478]: eno1 sys offset -26 s2 freq +159447 delay 2784
phc2sys[531.478]: eno1 sys offset -108527 s2 freq +50938 delay 2880
phc2sys[532.479]: eno1 sys offset -142502 s2 freq -15595 delay 2656
phc2sys[533.479]: eno1 sys offset -109806 s2 freq -25649 delay 2752
phc2sys[534.479]: eno1 sys offset -67063 s2 freq -15848 delay 2656
phc2sys[535.480]: eno1 sys offset -34046 s2 freq -2950 delay 2848
phc2sys[536.480]: eno1 sys offset -13983 s2 freq +6899 delay 2784
phc2sys[537.481]: eno1 sys offset -3790 s2 freq +12897 delay 2784
phc2sys[538.481]: eno1 sys offset 450 s2 freq +16000 delay 2848
phc2sys[539.481]: eno1 sys offset 1524 s2 freq +17209 delay 2784
phc2sys[540.482]: eno1 sys offset 1449 s2 freq +17591 delay 2848
phc2sys[541.482]: eno1 sys offset 907 s2 freq +17484 delay 2752
phc2sys[542.482]: eno1 sys offset 572 s2 freq +17421 delay 2880
phc2sys[543.483]: eno1 sys offset 262 s2 freq +17283 delay 2848
phc2sys[544.483]: eno1 sys offset 67 s2 freq +17166 delay 2784
phc2sys[545.484]: eno1 sys offset 54 s2 freq +17173 delay 2848
phc2sys[546.484]: eno1 sys offset -1 s2 freq +17135 delay 2848
phc2sys[547.485]: eno1 sys offset -3 s2 freq +17132 delay 2848
phc2sys[548.485]: eno1 sys offset -30 s2 freq +17104 delay 2848
phc2sys[549.485]: eno1 sys offset -3 s2 freq +17122 delay 2784
phc2sys[550.486]: eno1 sys offset -87 s2 freq +17038 delay 3040
phc2sys[551.486]: eno1 sys offset 3 s2 freq +17101 delay 3072
phc2sys[552.487]: eno1 sys offset -9 s2 freq +17090 delay 2944
phc2sys[553.487]: eno1 sys offset 86 s2 freq +17183 delay 3072
phc2sys[554.487]: eno1 sys offset 14 s2 freq +17136 delay 2592
phc2sys[555.488]: eno1 sys offset -1 s2 freq +17126 delay 2976
phc2sys[556.488]: eno1 sys offset 7 s2 freq +17133 delay 3072
phc2sys[557.489]: eno1 sys offset 20 s2 freq +17148 delay 2656
phc2sys[558.489]: eno1 sys offset -110089 s2 freq -92955 delay 2656
phc2sys[559.489]: eno1 sys offset -142377 s2 freq -158269 delay 2784
phc2sys[560.490]: eno1 sys offset -109443 s2 freq -168048 delay 2720
phc2sys[561.490]: eno1 sys offset -66643 s2 freq -158081 delay 2720
phc2sys[562.491]: eno1 sys offset -33902 s2 freq -145333 delay 2944
phc2sys[563.491]: eno1 sys offset -13780 s2 freq -135382 delay 2720
phc2sys[564.491]: eno1 sys offset -3712 s2 freq -129448 delay 3040
phc2sys[565.492]: eno1 sys offset 550 s2 freq -126299 delay 2848
phc2sys[566.492]: eno1 sys offset 1481 s2 freq -125203 delay 3040
phc2sys[567.493]: eno1 sys offset 1366 s2 freq -124874 delay 3072
phc2sys[568.493]: eno1 sys offset 1031 s2 freq -124799 delay 2720
phc2sys[569.493]: eno1 sys offset 623 s2 freq -124898 delay 2816
phc2sys[570.494]: eno1 sys offset 244 s2 freq -125090 delay 2880