ptp4l测试-LinuxPTP\ptp4l配置与问题排查

news2024/11/25 15:35:54

目录

一、前言

1.1 什么是ptp4l

1.2 描述

1.3 官网连接

1.4 目的

1.5 平台

二、 平台必要软件

2.1 linux物理机

2.2 imx6ull开发板

三、检查硬件是否支持

3.1 ifconfig查看当前网卡的名称

3.2 ethtool检查驱动和网卡是否支持

四、开启ptp4l服务

4.1 方法一:官方推荐方法开启ptp4l服务

4.2 方法二:执行摸索的开启ptp4l服务(虚拟机平台)


一、前言

1.1 什么是ptp4l

        ptp4l - PTP普通时钟/边界时钟/透明时钟协议栈

1.2 描述

        ptp4l是一个Linux上PTP协议(IEEE 1588)的实现,支持普通时钟,边界时钟和透明时钟。

1.3 官网连接

Configuring PTP Using ptp4l :: Fedora Docs (fedoraproject.org)

1.4 目的

        配置ptp4l进行测试时,发现存在一些问题导致无法正常进行测试,下面对遇到的问题进行排查解决。

1.5 平台

        master-linux物理机。 slave-linux虚拟机。确保双方能ping通。

二、 平台必要软件

2.1 linux物理机

1、安装ethtool
2、安装ptp4l

2.2 imx6ull开发板

//1、imx6ull支持IEEE 1588协议
//2、内核配置ptp时钟
//3、交叉编译或通过buildroot等安装ptp4l
(后续补充)

三、检查硬件是否支持

3.1 ifconfig查看当前网卡的名称

3.2 ethtool检查驱动和网卡是否支持

    为了使用 PTP ,网络接口的内核网络驱动程序必须支持软件或硬件时间戳功能。除了驱动程序中存在的硬件时间戳支持之外,NIC 还必须能够在物理硬件中支持此功能。验证特定驱动程序和 NIC 的时间戳功能的最佳方法是使用ethtool查询接口

    命令:ethtool -T {网口名称}

 

注:针对虚拟机,只有软件时间戳。

软件时间戳支持

硬件时间戳支持

SOF_TIMESTAMPING_SOFTWARE

SOF_TIMESTAMPING_TX_SOFTWARE

SOF_TIMESTAMPING_RX_SOFTWARE

SOF_TIMESTAMPING_RAW_HARDWARE

SOF_TIMESTAMPING_TX_HARDWARE

SOF_TIMESTAMPING_RX_HARDWARE

四、开启ptp4l服务

        下面提供两种开启ptp4l服务的方式,一种为官方推荐方法,另一种为我自己摸索的方法。

4.1 方法一:官方推荐方法开启ptp4l服务

    参考README配置(路径:/usr/share/doc/linuxptp/README.Debian)

    根据README进行一步步设置,其中ExecStart是调用ptp4l,其配置项可以使用man ptp4l或者看下面我提取的配置项进行合理配置。

1. Default configuration

The default configuration can be found in /etc/linuxptp/ptp4l.conf.
This is the default.cfg provided by the upstream source.

2. Systemd services

The service ptp4l invokes ptp4l on eth0 by default. To adjust the
parameters, follow these steps:

1. create a directory /etc/systemd/system/ptp4l.service.d
2. place a file with its name ending in .conf there
3. put these lines into the file, with the parameters adjusted to your needs:

[Service]
ExecStart=
ExecStart=/usr/sbin/ptp4l -f /etc/linuxptp/ptp4l.conf -i eth0

The service phc2sys syncs the system clock with the PTP clock. It is not
enabled and started by default. To activate this service, invoke the
following commands as root:

$ systemctl enable phc2sys
$ systemctl start phc2sys

It also uses eth0 as the default and can be customized as described above.

The service timemaster also isn't enabled and started by default

4.2 方法二:自行摸索的配置ptp4l服务方法(虚拟机平台)

    缘由:为什么不根据官方的方式配置服务?因为我是apt安装ptp4l后,直接systemctl start ptp4l启动,然后使用systemctl status ptp4l查看错误项进行排查的。而且排查过程中,发现不同系统(虚拟机、物理机)的ptp4l服务配置文件位置有所不同,因此可以适用我下面的方法。

        1、问题现象

    开启ptp4l服务后,检查服务命令:systemctl status ptp4l。看到启动的服务为failed

        2、资料查询 

    使用man ptp4l,查看Process一栏执行的命令是什么意思。

PTP4l(8)                                            System Manager's Manual                                            PTP4l(8)

NAME
       ptp4l - PTP Boundary/Ordinary Clock

SYNOPSIS
       ptp4l [ -AEP246HSLmqsv ] [ -f config ] [ -p phc-device ] [ -l print-level ] [ -i interface ] [ long-options ] ...

DESCRIPTION
       ptp4l is an implementation of the Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux. It implements
       Boundary Clock (BC) and Ordinary Clock (OC).

OPTIONS
       -A     Select the delay mechanism automatically. Start with E2E and switch to P2P when a peer delay request is received.

       -E     Select the delay request-response (E2E) mechanism. This is the default mechanism. All clocks on single PTP commu‐
              nication  path  must  use  the same mechanism. A warning will be printed when a peer delay request is received on
              port using the E2E mechanism.

       -P     Select the peer delay (P2P) mechanism. A warning will be printed when a delay request is received on  port  using
              the P2P mechanism.

       -2     Select the IEEE 802.3 network transport.
       -4     Select the UDP IPv4 network transport. This is the default transport.
       -6     Select the UDP IPv6 network transport.

       -H     Select the hardware time stamping. All ports specified by the -i option and in the configuration file must be at‐
              tached to the same PTP hardware clock (PHC). This is the default time stamping.

       -S     Select the software time stamping.

       -L     Select the legacy hardware time stamping.

       -f config
              Read configuration from the specified file. No configuration file is read by default.

       -i interface
              Specify a PTP port, it may be used multiple times. At least one port must be specified by this option or  in  the
              configuration file.

       -p phc-device
              (This  option  is  deprecated.)   Before Linux kernel v3.5 there was no way to discover the PHC device associated
              with a network interface.  This option specifies the PHC device (e.g. /dev/ptp0)  to  be  used  when  running  on
              legacy kernels.

       -s     Enable the slaveOnly mode.

       -l print-level
              Set  the  maximum syslog level of messages which should be printed or sent to the system logger. The default is 6
              (LOG_INFO).

       -m     Print messages to the standard output.

       -q     Don't send messages to the system logger.

       -v     Prints the software version and exits.

       -h     Display a help message.

        3、参数分析

    针对命令/usr/sbin/ptp4l -f /etc/linuxptp/ptp4l.conf -i eth0。

    其中-f 用于指定配置文件。  -i 用于指定网口。

    根据图片提示信息可看出,问题点是指定的网卡名称有误,通过3.1的ifconfig命令查看,当前的物理网口的接口为ens33

    而且由于是虚拟机平台,并且3.2 中也查看了网卡只支持软件时间戳功能。因此需要加上-S配置项。

        4、修改参数

    修改参数的第一步是找到配置文件所在位置。我经过测试虚拟机平台和物理机平台。发现ptp4l配置文件所在位置有所区别,因此各位同学也需要根据实际情况找到配置文件的位置

查找配置文件位置:
cd /etc
sudo grep "ExecStart=/usr/sbin/ptp4l -f /etc/linuxptp/ptp4l.conf" -R

        可以得知ptp4l配置文件的位置:/etc/systemd/system/multi-user.target.wants/ptp4l.service。修改网卡接口以及适用软时间戳。

           保存后,按照如下指令重新启动ptp4l即可:

sudo systemctl daemon-reload    #修改service后需要重新加载systemd manager configuration
sudo systemctl restart ptp4l    #重启ptp4l
sudo systemctl status ptp4l     #查看是否启动成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/566374.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows远程访问本地 jupyter notebook服务

文章目录 前言视频教程1. Python环境安装2. Jupyter 安装3. 启动Jupyter Notebook4. 远程访问4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5. 固定公网地址 前言 Jupyter Notebook,它是一个交互式的数据科学和计算环境,支持多种编程语言&#…

图像滤波概述

什么是图像滤波 1.图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。 2.消除图像中的噪声成分叫作图像的平滑化或滤波操…

霍尔电流传感器在直流列头柜的应用

摘要:数据中心供电电源质量的好坏直接影响到IT设备的安全运行,因此对数据中心直流列头柜电源进出线实行监测非常重要,而通过霍尔电流传感器可以采集主进线电流、多路支路直流电流和漏电流。 关键词:数据中心;直流列头柜…

MySQL-多表查询(下)

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️树高千尺,落叶归根人生不易&…

统计:SEM standar deviation of the mean [延长仪表周期 技术点]

平均值标准误差(SEM, standard deviation of the mean) SD:样本标准差 分母(n-1) SD与SEM区别: 1.SD量化了样本分散值之间的差值有多大; 2.SEM量化了对总体实际平均值的了解程度。其考虑了SD的值和样本量&…

day11 - 手写数字笔迹细化

手写数字笔迹细化 对于手写数字识别实验中,经常会遇到因为笔迹较粗导致误识别的情况,所以我们通常会先将笔迹进行细化,笔迹变细以后,数字的特征会更明显,后续进行识别的准确率就会更高。 例如数字7 和 1 &#xff0c…

2019下半年上午题

2019下半年上午题 b 选a c 最后统一单位 计算需要多少片芯片: 流水线: 也就是: 对于这一道题: c ssl:安全套接层 https:安全通道 PGP:电子邮件加密 d b a b b 受委托方和委…

WWDC2023|苹果已邀请多家VR/AR领域媒体,有望推出首款头显设备

据9to5mac报道,苹果已邀请多位VR/AR领域的记者和创作者参加今年WWDC开发者大会,其中包括UploadVR编辑Ian Hamilton、经常测试AR/VR产品的Norman Chan等,这表明苹果有望推出该领域的相关产品和服务,例如首款VR/AR头显。 根据此前…

动态规划-树形DP

树的重心 题目 链接:https://www.acwing.com/problem/content/848/ 给定一颗树,树中包含 n n n 个结点(编号 1 ∼ n 1 \sim n 1∼n)和 n − 1 n-1 n−1 条无向边。 请你找到树的重心,并输出将重心删除后&#x…

免费使用GPT4.0?搭载多模态的全新New Bing开放使用教程

目录 1 微软发布新必应2 支持文本生成图像3 支持多模态回答4 历史记录和回答导出5 支持插件化导入 1 微软发布新必应 5月4日,微软基于ChatGPT的搜索引擎New Bing发布了一次大规模更新,并宣布已开放给所有用户,现在无需再排队等待&#xff0c…

实力上榜!ONES 荣获深圳市「专精特新」企业认定

近日,ONES 成功入选 2022 年深圳市专精特新中小企业名单,这标志着 ONES 在研发管理领域专业化、企业数字化程度、质量管理水平、研发创新水平等多个方面得到充分认可和肯定。 深圳市专精特新企业评选是以工业和信息化部、国家统计局、国家发展改革委、财…

Live800:客服系统知识库建设中需要注意的三个要点

互联网的快速发展,让客服行业也随之发生着巨大的变化。传统的客服方式越来越难以满足人们的需求,客户对客服的要求也变得越来越高。在这种情况下,客服系统成为了一种必不可少的工具。 客服系统作为企业与客户沟通的重要渠道,其之所…

聚观早报 | 微软Build开发者大会开幕;阿里云智能裁员7%

今日要闻:微软Build开发者大会开幕;阿里云智能裁员7%;亚马逊中国宣布停止应用商店服务;苹果汽车项目启动已近10年;阿迪达斯中国将重新出售YEEZY系列 微软Build开发者大会开幕 5 月 24 日消息,继两周之前谷…

linux怎么重置密码,CentOS忘记密码,怎么重置密码

1、打开虚拟机 2、在这个界面按 e 进入到这个界面 3、下滑到这个地方,添加这部分代码 init/bin/sh (手动输入,虚拟机算是另一台电脑,复制不过去的) 4、填写完成后按 ctrlx 引导启动 5、输入 mount -o remount, rw / 输入 passwd xxx PS…

Jenkins+GitLab+Docker搭建前端自动化构建镜像容器部署(无本地证书,映射证书)

前言 🚀 需提前安装环境及知识点: 1、Docker搭建及基础操作 2、DockerFile文件描述 3、Jenkins搭建及基础点 🚀 目的: 将我们的前端项目打包成一个镜像容器并自动发布部署,可供随时pull访问 一、手动部署镜像及容器 1…

Blazor实战——Known框架增删改查导

本章介绍学习增、删、改、查、导功能如何实现,下面以商品资料作为示例,该业务栏位如下: 类型、编码、名称、规格、单位、库存下限、库存上限、备注 1. 前后端共用 1.1. 创建实体类 在KIMS项目Entities文件夹下创建KmGoods实体类该类继承Ent…

一个程序最多能占用的内存大小

因为内存资源总是稀缺的,即便在拥有百 G 内存的机器上,我们都可以轻易把内存填满。为了解决这个问题,就需要用到虚拟化技术。 GC 是面试的高频重点知识,同时也是程序员日常开发需要理解的部分。学习 GC 有助于你优化你开发应用的性…

1分钟用上ChatGPT,国内用户福音

众所周知的原因,要想在国内使用ChatGPT,肯定是要“折腾一番”的。 但是对于绝大多数普通小白,有没有比较容易的方法就用上官方的ChatGPT呢? 是可以的 最简单的方法就是调用OpenAI官方的API接口 就可以用“曲线救国”的方式用上…

免费部署你的私人 ChatGPT 网页应用

免费部署你的私人 ChatGPT 网页应用 1、注册Github账号,拷贝仓库 第一步、打开GitHub官网,点击右上角Sign up注册即可 第二步、打开开源项目【Chatgpt-next-web】,点击fork,点击Create fork完成操作 2、选择免费的容器【vercel】或者【r…

AI新晋“顶流”ChatGPT将对财务数字化带来哪些影响?

近期ChatGPT持续火热,2个月内,成为最快达成月活超过1亿的现象级应用。无论是科研人员、技术人员还是普通大众都对此非常关注,并惊讶于它强大的对话能力,ChatGPT也在国内持续霸榜热搜,成为大家茶余饭后的热点话题。毫无…