我正在尝试在arm嵌入式目标设备上实现linuxptp。获取源文件并进行编译。当我尝试运行ptp4l命令时,得到以下结果。
root@analog:/home/analog/Documents/linuxptp-2.0# ./ptp4l -i eth0 -m
ptp4l[1165.106]: selected /dev/ptp0 as PTP clock
ptp4l[1165.107]: Failed to open /dev/ptp0: No such file or directory
failed to create a clock
检查/ dev目录,我发现没有与ptp相关的时钟文件。在网上搜索时,我知道有时我们必须使用mknod及其主要编号手动创建设备文件。在我的特定设备上,主号码是250。因此,我以以下方式创建了节点文件。
root@analog:/dev# mknod ptp0 c 250 0
现在,当我尝试运行ptp4l命令时,我仍然收到ptp0不可用的错误。接下来,我尝试使用其他名称制作节点文件并指定它。
root@analog:/dev# mknod ptp1 c 250 0
root@analog:/home/analog/Documents/linuxptp-2.0# ./ptp4l -i eth0 -p /dev/ptp1 -m
ptp4l[1409.116]: selected /dev/ptp1 as PTP clock
ptp4l[1409.126]: Failed to open /dev/ptp1: No such device or address
failed to create a clock
使用mknod制作ptp时钟文件的来源:https://sourceforge.net/p/linuxptp/mailman/message/32687321/
进一步搜索,建议不要执行此操作,而是让udev制作ptp时钟文件。我不确定如何使udev为我做。搜索它也不会产生任何有用的资源。谁能建议/指导我如何解决这个问题?