![focus/20.04 上的 PPS 超时且无法恢复](https://linux22.com/image/205485/focus%2F20.04%20%E4%B8%8A%E7%9A%84%20PPS%20%E8%B6%85%E6%97%B6%E4%B8%94%E6%97%A0%E6%B3%95%E6%81%A2%E5%A4%8D.png)
我们最近从 Vecow/Plugin 升级到了新的工业 PC,并从 18.04 升级到了 Ubuntu 20.04。从 BIOS(BIOS 构建日期 ~17.02.2022)和 IO 芯片来看,它是 SuperIO 8786: https://github.com/huchanghui123/ITE-SuperIO/blob/master/IT8786E-I_B_V0.2.pdf
此端口似乎被映射为通用 (ACPI/BIOS) 作为 16550A 兼容 COM 端口 PNP0501。
我们有一个 PPS 设备连接到一个(但尝试了所有)可用的串行/COM/RS232 端口(DCD 引脚,我们还连接了 GND)。我们将其附加到ldattach pps /dev/ttyS0
并希望再次与 chrony 集成。
ldttach
作品,也ppstest
。发生的情况是,在很短的时间(30-100 秒)之后(这似乎相当随机),它经常无法获取时间戳并超时并且永远不会恢复。但在断开并重新连接 ldisc 后,它会再次工作(一段时间)。
我们还尝试了 1 Hz(脉冲或占空比 50%、1ms、10ms、100 和 200 ms)的函数发生器,而不是 PPS 设备。我们的设备在之前的 PC 上工作的电压水平是 0 - ~3.7V。我们将函数发生器设置为在 RS-232 内以 +/-3.7、5、6.6 和 10V(我们的发生器的上限)运行。问题是一样的。
顺便说一句,我们使用的是 HWE 通用内核(所以 5.13)。在旧电脑上它可以工作(甚至通过 Ubuntu 20.04 运行)。我们还尝试了 Ubuntu 22.04 live image(内核 5.15)和 Fedora 35,但也失败了。也在我们的第二台相同的电脑上。
有人经历过类似的事情或者知道如何进一步调试它吗?特别是要排除驱动程序错误(或任何其他硬件错误)。
谢谢!
答案1
在我们的案例中,BIOS 存在问题。我们的供应商的更新修复了这个问题。