通过 PPP(串行)连接的 PTP 时间同步

物联网 linux
2021-06-08 12:31:01

我正在运行 2 个 ARM 设备:

  • devA 使用其所有 NIC 连接到以太网网络
  • devB 有 LCD、按钮和所有这些用于用户接口的东西,但没有 NIC 和 RTC 电池

这两款设备都运行在德州仪器 (TI) 提供的内核 4.9 上。

当前时间应显示在 LCD (devB) 上,但如前所述,没有 RTC 电池,因此断电后系统时间有点随机……另一方面,devB 具有带电池的 RTC、NTP 和 PTPv2 客户端。

两个设备都通过串行连接 (RS422) 与 pppd 连接,这在它们之间创建了 TCP/IP 网络。

我尝试使用 NTP 来推动时间,但是在 devB 上的 ntpd 客户端决定它已准备好从 devA 获取时间之前需要很多时间(有时可能需要一个小时或更长时间)。现在要在 LCD 上获得接近实时的时间,我正在使用sshdate强制新时间这远不是所谓的好解决方案

我试图在它们之间设置 PTP 同步,但似乎ppp0接口没有可用的时间戳。这是ethtool 的输出

# ethtool -T ppp0
Time stamping parameters for ppp0:
Capabilities:
    software-receive      (SOF_TIMESTAMPING_RX_SOFTWARE)
    software-system-clock (SOF_TIMESTAMPING_SOFTWARE)
PTP Hardware Clock: none
Hardware Transmit Timestamp Modes: none
Hardware Receive Filter Modes: none

如果我是对的,我在这里缺少的是能力 software-transmit (SOF_TIMESTAMPING_TX_SOFTWARE)

是否可以创建支持 PTP 的 ppp 连接?如果是这样,我怎样才能做到这一点?或者,是否有其他方法可以正确同步这些设备?

0个回答
没有发现任何回复~