如何配置ptp4l仅执行偏移校正,禁用频率同步功能?
ptp4l仅偏移校正配置及频偏异常问题解答
1. 配置ptp4l仅执行偏移校正
要让从节点(CPU2)的ptp4l只做时间偏移校正、不进行频率校正,需修改其配置文件(如/etc/ptp4l.conf),添加以下参数:
# 关闭频率偏移估算功能 freq_est_interval 0 # 仅使用比例伺服模式,只校正时间偏移 clock_servo P
启动ptp4l时需明确指定该配置文件:
ptp4l -f /etc/ptp4l.conf -i <你的网卡名> -s
其中-s表示以从节点模式运行。
2. 为何仍出现adjfine调用和非零频偏日志
- 表观频偏的计算残留:即使PHC由同一馈源同步,ptp4l在启动阶段或配置未完全生效时,仍会基于报文交互计算“表观”频率偏移,直到频率估算逻辑彻底关闭。若配置未正确加载,这个估算过程会持续。
- adjfine函数的无操作调用:部分场景下,ptp4l的代码分支会保留
adjfine调用,但传入的调整值为0,实际并未修改硬件时钟频率。可通过strace输出的参数值确认——若第三个参数为0,则无实际频率调整动作。 - 配置未生效:检查启动命令是否指定了正确的配置文件,默认启动会使用内置默认参数,不会应用自定义的禁用频率校正设置。
- 硬件微小差异:理论上完全同步的PHC,实际仍可能因硬件通路延迟、温度漂移、时钟抖动等微小差异,导致ptp4l计算出非零的表观频偏,并非硬件本身存在频率偏移。
内容的提问来源于stack exchange,提问作者Vakul Garg
相关产品推荐
相关产品推荐

