Hi,
We are currently testing the Precision Time Protocol (PTP) functionality on our hardware. During our testing, we observed that the BSP 35 version supports hardware timestamping with ptp4l. However, upon upgrading to BSP 36 to align with Ubuntu 22, we found that BSP 36 does not support hardware timestamping.
Below are the details for both BSP versions:
root@s32g399ardb3:~# dmesg | grep Linux
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.10.145-rt74+g1594b25154a2 (oe-user@oe-host) (aarch64-fsl-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP PREEMPT Tue Nov 29 10:33:39 UTC 2022
[ 0.392455] pps_core: LinuxPPS API ver. 1 registered
root@s32g399ardb3:~# ptp4l -i pfe1 -m -H -s
ptp4l[15680.779]: selected /dev/ptp1 as PTP clock
ptp4l[15680.781]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[15680.781]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[15680.781]: port 1: link down
ptp4l[15680.781]: port 1: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
ptp4l[15680.781]: selected local clock 0001be.fffe.beef22 as best master
ptp4l[15680.781]: port 1: assuming the grand master role
ptp4l[15680.781]: port 1: master state recommended in slave only mode
ptp4l[15680.781]: port 1: defaultDS.priority1 probably misconfigured
root@s32g399ardb3:~# dmesg | grep Linux [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 5.15.85-rt55+gcae18cbfa3c1 (oe-user@oe-host) (aarch64-fsl-linux-gcc (GCC) 11.3.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Fri Feb 3 13:18:34 UTC 2023 [ 0.400444] pps_core: LinuxPPS API ver. 1 registered [ 5.199079] usb usb1: Manufacturer: Linux 5.15.85-rt55+gcae18cbfa3c1 ehci_hcd root@s32g399ardb3:~# ptp4l -i pfe1 -m -H -s ptp4l[2108.818]: selected /dev/ptp1 as PTP clock ptp4l[2108.820]: driver rejected most general HWTSTAMP filter ptp4l[2108.820]: ioctl SIOCSHWTSTAMP failed: Operation not supported ptp4l[2108.820]: port 1: INITIALIZING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED) ptp4l[2108.820]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
Could you please assist us in resolving this issue or provide any insights into the changes made in BSP 36 that might affect hardware timestamping support? Your guidance on how we might enable or work around this feature in BSP 36 would be greatly appreciated.
Thank you for your attention to this matter.
已解决! 转到解答。
I encountered the same problem: I downloaded the source code:
git clone git://git.code.sf.net/p/linuxptp/code linuxptp
then make and make install, and the same problem occurred.
Later, I deleted the source code and installed it through apt:
sudo apt install linuxptp
and there was no such problem.
Hi customer,
It looks you are using some version of pfe driver with issues.
Please follow the instruction on bsp36 user manual to download and build the bsp by yourself and test again.
You can use modinfo to check the module version of pfeng.
Hi Richard,
We are currently using the SW32G3 Linux BSP 36.0_CD image downloaded from the NXP website, and it is being implemented on the RDB3 machine. Below is the pfeng version information we obtained:
Could you please clarify if you mean that we need to change the pfeng version ourselves?
Additionally, we are encountering an issue where we used to be able to use phytool to read PHY data, but now we receive the error message: phy_read(-95). Is this also related to the pfeng version?
Thank you for your assistance.