Hi everyone,

I am picking up this thread as we're still facing some issues with getting the BC mode working on this two-port Intel 82599ES NIC.

Cabling is still the same as in the original post - one port receives PTP sync from an external GM and should redistribute it over the second port to a client.

We've previously used two ptp4linux instances, one for each interface but I am not sure that is the way to go. Indeed the clock_mode setting in the config file allows for BC which in turn requires two interfaces to be specified. However, doing so results in a PHC device mismatch:

/opt/linuxptp/ptp4l -2 -i enp1s0f1 -i enp1s0f0 -f /opt/ptp4l_cfg/bc.cfg -m -l 6
ptp4l[851.735]: selected /dev/ptp1 as PTP clock
ptp4l[851.735]: port 1 (enp1s0f1): PHC device mismatch
ptp4l[851.735]: port 1 (enp1s0f1): /dev/ptp1 requested, ptp0 attached
ptp4l[851.735]: failed to open port enp1s0f1
failed to create a clock

I am not sure where this is coming from but indeed the first interface seems PHC 1 assigned and the second PHC 0. Not sure if this is an issue.

$ ethtool -T enp1s0f0
Time stamping parameters for enp1s0f0:
Capabilities:
        hardware-transmit
        software-transmit
        hardware-receive
        software-receive
        software-system-clock
        hardware-raw-clock
PTP Hardware Clock: 1
Hardware Transmit Timestamp Modes:
        off
        on
Hardware Receive Filter Modes:
        none
        ptpv1-l4-sync
        ptpv1-l4-delay-req
        ptpv2-event


I've further noticed the phc_index config param but it doesn't make a difference, resulting in the same mismatch error.

Specifying the -p param, however, helps in getting over (this) error but I still don't get PTP packets on the output interface (tcpdump not showing anything).

/opt/linuxptp/ptp4l -2 -i enp1s0f1 -i enp1s0f0 -p /dev/ptp0 -f /opt/ptp4l_cfg/bc.cfg -m -l6
ptp4l[1040.051]: selected /dev/ptp0 as PTP clock
ptp4l[1040.051]: port 2 (enp1s0f0): taking /dev/ptp0 from the command line, not the attached ptp1
ptp4l[1040.097]: driver rejected most general HWTSTAMP filter
ptp4l[1040.097]: ioctl SIOCSHWTSTAMP failed: Numerical result out of range
ptp4l[1040.132]: port 1 (enp1s0f1): INITIALIZING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
ptp4l[1040.180]: driver rejected most general HWTSTAMP filter
ptp4l[1040.180]: ioctl SIOCSHWTSTAMP failed: Numerical result out of range
ptp4l[1040.220]: port 2 (enp1s0f0): INITIALIZING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED) ptp4l[1040.220]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on INIT_COMPLETE ptp4l[1040.220]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on INIT_COMPLETE


My questions are now whether or not the BC clock_mode is the way to go? And, if so, what do you think might be causing the issues we are seeing with the config [1] or setup?

Thanks
Andre


[1] https://pastes.io/epvudxplcz



On 3/10/23 15:41, Nils Fuerste wrote:
Ah yeah, I didnt read well. That really improved the sync quality - thanks a lot for your advice!

On 3/10/23 14:38, Miroslav Lichvar wrote:
On Tue, Oct 03, 2023 at 02:33:32PM +0200, Nils Fuerste wrote:
Thanks for your help! Unfortunately, setting those values doesn't work for
me. I get the following errors:

sudo ptp4l -2 -i enp1s0f1 -f ./default-new-master.cfg -m
-1.0 is an out of range value for option pi_proportional_const at line 73
failed to parse configuration file ./default-new-master.cfg
It should be pi_proportional_exponent, not pi_proportional_const.

$ sudo ptp4l -2 -i enp1s0f1 -f ./default-new-master.cfg -m
P is a malformed value for option pi_proportional_scale at line 75
failed to parse configuration file ./default-new-master.cfg
P and I should be replaced with the values from the table.



_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users


_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users

Reply via email to