Re: [Linuxptp-users] Intel i210 PTP HW timestamping not supported

2023-04-13 Thread Aris Theocharides via Linuxptp-users


> Could you provide the output of ethtool -i for the device and the lspci
> -v info for the device? I'm curious if I can see what it claims to be…
> 

Hi Jacob,

For interest/curiosity here are the outputs:

ethtool -I output:

driver: igb
version: 6.1.20-rt8
firmware-version: 3.25, 0x85d1
expansion-rom-version: 
bus-info: :03:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes


lspci -v output:

03:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection 
(rev 03)
Flags: bus master, fast devsel, latency 0, IRQ 17, IOMMU group 2
Memory at 9fb0 (32-bit, non-prefetchable) [size=512K]
Memory at 9fb8 (32-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities: [70] MSI-X: Enable+ Count=5 Masked-
Capabilities: [a0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 6c-b3-11-ff-ff-66-39-10
Capabilities: [1a0] Transaction Processing Hints
Kernel driver in use: igb
Kernel modules: igb

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


Re: [Linuxptp-users] Intel i210 PTP HW timestamping not supported

2023-04-12 Thread Jacob Keller


On 4/11/2023 7:24 AM, Aris Theocharides via Linuxptp-users wrote:
> 
>> Also try a non RT kernel.
> 
> I’ve tried the non-RT / generic/default kernel, and the behaviour remains 
> unchanged as for the RT kernel.
> 
>> FWIW I have a box with three 1-port i210 PCIe cards that runs fine on
>> vanilla kernel.
> 
> LR actually have a slew of Industrial Ethernet (all multiport) on their 
> website.
> 
> I could only buy these cards in pairs, hence I have two. I could send one 
> over if it will help.
> 
> Aris

Could you provide the output of ethtool -i for the device and the lspci
-v info for the device? I'm curious if I can see what it claims to be...

Thanks,
Jake


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


Re: [Linuxptp-users] Intel i210 PTP HW timestamping not supported

2023-04-12 Thread Richard Cochran
On Wed, Apr 12, 2023 at 02:56:31PM +1000, Aris Theocharides wrote:
> 
> >> LR actually have a slew of Industrial Ethernet (all multiport) on their 
> >> website.
> >> 
> > Okay, so I guess this is not a true Intel i210 but some kind of
> > strange clone.
> 
> It would seem so, although I guess that some single port i210’s are also and 
> they seem to work ok with LinuxPTP. 

I'm trying to tell you that there is no such thing as a 4-port i210.

See:
  
https://www.intel.com/content/www/us/en/products/details/ethernet/gigabit-controllers/i210-controllers.html

So your 4-port card is not an i210 at all.

Thanks,
Richard


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


Re: [Linuxptp-users] Intel i210 PTP HW timestamping not supported

2023-04-11 Thread Aris Theocharides via Linuxptp-users

>> LR actually have a slew of Industrial Ethernet (all multiport) on their 
>> website.
>> 
> Okay, so I guess this is not a true Intel i210 but some kind of
> strange clone.

It would seem so, although I guess that some single port i210’s are also and 
they seem to work ok with LinuxPTP. 

I’m using an i350 quad port at the moment but it doesn’t support hardware CBS 
and ETF offloading. 

Aris



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


Re: [Linuxptp-users] Intel i210 PTP HW timestamping not supported

2023-04-11 Thread Richard Cochran
On Wed, Apr 12, 2023 at 12:24:21AM +1000, Aris Theocharides wrote:

> LR actually have a slew of Industrial Ethernet (all multiport) on their 
> website.

Okay, so I guess this is not a true Intel i210 but some kind of
strange clone.

Thanks,
Richard


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


Re: [Linuxptp-users] Intel i210 PTP HW timestamping not supported

2023-04-11 Thread Aris Theocharides via Linuxptp-users

> Also try a non RT kernel.

I’ve tried the non-RT / generic/default kernel, and the behaviour remains 
unchanged as for the RT kernel.

> FWIW I have a box with three 1-port i210 PCIe cards that runs fine on
> vanilla kernel.

LR actually have a slew of Industrial Ethernet (all multiport) on their website.

I could only buy these cards in pairs, hence I have two. I could send one over 
if it will help.

Aris



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


Re: [Linuxptp-users] Intel i210 PTP HW timestamping not supported

2023-04-10 Thread Richard Cochran
On Tue, Apr 11, 2023 at 05:03:31AM +1000, Aris Theocharides via Linuxptp-users 
wrote:
> 
> The card in question is a 4-port i210 PCIe - 
> https://www.lr-link.com/products/LRES3004PT.html

That is a very strange looking card.  I guess it has 4 i210 ASICs?

What is under the giant heat sink?

Thanks,
Richard


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


Re: [Linuxptp-users] Intel i210 PTP HW timestamping not supported

2023-04-10 Thread Richard Cochran
On Tue, Apr 11, 2023 at 05:03:31AM +1000, Aris Theocharides via Linuxptp-users 
wrote:
> 
> The card in question is a 4-port i210 PCIe - 
> https://www.lr-link.com/products/LRES3004PT.html
> 
> It seems to behave for general use, but I can’t use it without PTP working. 
> 
> A single-port PCIe i210 behaves perfectly on the same mainboard, so I assume 
> that something interesting is happening in the i210 driver for this card.
> 
> For interest, I have 2 of these cards, and both exhibit the same behaviour 
> (so, unlikely to be a failure of a specific card). A single-port i210 card 
> work perfectly.  
> 
> Not sure where from here. Maybe a full debug trace?

Probably the generic work (see igb_ptp_tx_work()) is being delayed too
much on your RT kernels.

Try increasing tx_timestamp_timeout to a really large value, like 1000.

Also try a non RT kernel.

Proper fix is to let driver use ptp_aux_kworker/do_aux_work and set
kernel thread to SCHED_FIFO at high priority.

FWIW I have a box with three 1-port i210 PCIe cards that runs fine on
vanilla kernel.

HTH,
Richard


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


Re: [Linuxptp-users] Intel i210 PTP HW timestamping not supported

2023-04-10 Thread Aris Theocharides via Linuxptp-users

The card in question is a 4-port i210 PCIe - 
https://www.lr-link.com/products/LRES3004PT.html

It seems to behave for general use, but I can’t use it without PTP working. 

A single-port PCIe i210 behaves perfectly on the same mainboard, so I assume 
that something interesting is happening in the i210 driver for this card.

For interest, I have 2 of these cards, and both exhibit the same behaviour (so, 
unlikely to be a failure of a specific card). A single-port i210 card work 
perfectly.  

Not sure where from here. Maybe a full debug trace?

Aris



> On 10 Apr 2023, at 11:09 pm, Richard Cochran  wrote:
> 
> On Mon, Apr 10, 2023 at 10:31:05PM +1000, Aris Theocharides via 
> Linuxptp-users wrote:

> [snip]

>> Debian 12 Kernel Module (based on Linux 6.1.20 kernel, modified by Debian):
>> 
>>> filename:   
>>> /lib/modules/6.1.20-rt8/kernel/drivers/net/ethernet/intel/igb/igb.ko
> 
> Hm, Debian is shipping a PREEMPT_RT kernel?  That is news to me.


Yes, albeit not the default, a (signed) RT variant is available from the 
official repos.


>> root@controller:~/proj/igb-5.13.16/src# ptp4l -i enp3s0 -m -2 -H
>> ptp4l[11754.773]: selected /dev/ptp0 as PTP clock
>> ptp4l[11754.818]: port 1 (enp3s0): INITIALIZING to LISTENING on INIT_COMPLETE
>> ptp4l[11754.818]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on 
>> INIT_COMPLETE
>> ptp4l[11754.819]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on 
>> INIT_COMPLETE
>> ptp4l[11760.857]: port 1 (enp3s0): LISTENING to MASTER on 
>> ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
>> ptp4l[11760.857]: selected local clock 6cb311.fffe.663910 as best master
>> ptp4l[11760.857]: port 1 (enp3s0): assuming the grand master role
>> ptp4l[11761.868]: timed out while polling for tx timestamp
>> ptp4l[11761.868]: increasing tx_timestamp_timeout may correct this issue, 
>> but it is likely caused by a driver bug
> 
> Did you try this?   ^^^


Yes, I tried increasing tx_timestamp_timeout - the reported issue persists.


> [snip]


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


Re: [Linuxptp-users] Intel i210 PTP HW timestamping not supported

2023-04-10 Thread Richard Cochran
On Mon, Apr 10, 2023 at 10:31:05PM +1000, Aris Theocharides via Linuxptp-users 
wrote:

> Intel Module (from SF, v 5.13.16):

Can't comment on that, since not mainline linux.

> Debian 12 Kernel Module (based on Linux 6.1.20 kernel, modified by Debian):
> 
> > filename:   
> > /lib/modules/6.1.20-rt8/kernel/drivers/net/ethernet/intel/igb/igb.ko

Hm, Debian is shipping a PREEMPT_RT kernel?  That is news to me.

> root@controller:~/proj/igb-5.13.16/src# ptp4l -i enp3s0 -m -2 -H
> ptp4l[11754.773]: selected /dev/ptp0 as PTP clock
> ptp4l[11754.818]: port 1 (enp3s0): INITIALIZING to LISTENING on INIT_COMPLETE
> ptp4l[11754.818]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on 
> INIT_COMPLETE
> ptp4l[11754.819]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on 
> INIT_COMPLETE
> ptp4l[11760.857]: port 1 (enp3s0): LISTENING to MASTER on 
> ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
> ptp4l[11760.857]: selected local clock 6cb311.fffe.663910 as best master
> ptp4l[11760.857]: port 1 (enp3s0): assuming the grand master role
> ptp4l[11761.868]: timed out while polling for tx timestamp
> ptp4l[11761.868]: increasing tx_timestamp_timeout may correct this issue, but 
> it is likely caused by a driver bug

Did you try this?   ^^^

> AVNU Module (from AVNU):
> 
> > filename:   
> > /lib/modules/6.1.20-rt8/kernel/drivers/net/igb_avb/igb_avb.ko
> > version:5.3.2_AVB

Can't comment on that, since not mainline linux.  IMHO avnu driver
stuff is of dubious quality.

Thanks,
Richard



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


[Linuxptp-users] Intel i210 PTP HW timestamping not supported

2023-04-10 Thread Aris Theocharides via Linuxptp-users


I’m trying to get an I210 card working with LinuxPTP. The command I use works 
fine on another interface:

Debian 12 Kernel Module (I225 interface, eno2):

> ^Croot@controller:~/proj/igb_avb/kmod# ptp4l -i eno2 -m -2 -H
> ptp4l[12580.495]: selected /dev/ptp4 as PTP clock
> ptp4l[12580.570]: port 1 (eno2): INITIALIZING to LISTENING on INIT_COMPLETE
> ptp4l[12580.570]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on 
> INIT_COMPLETE
> ptp4l[12580.570]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on 
> INIT_COMPLETE
> ptp4l[12588.253]: port 1 (eno2): LISTENING to MASTER on 
> ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
> ptp4l[12588.253]: selected local clock 3cecef.fffe.7b900b as best master
> ptp4l[12588.253]: port 1 (eno2): assuming the grand master role



But for any of the range of I210 driver’s I’ve tried, I can’t get it to work.


Intel Module (from SF, v 5.13.16):

> filename:   
> /lib/modules/6.1.20-rt8/updates/drivers/net/ethernet/intel/igb/igb.ko
> version:5.13.16


^Croot@controller:~/proj/igb-5.13.16/src# ptp4l -i enp3s0 -m -2 -H
ptp4l[8769.060]: selected /dev/ptp0 as PTP clock
ptp4l[8769.110]: driver rejected most general HWTSTAMP filter
ptp4l[8769.110]: ioctl SIOCSHWTSTAMP failed: Operation not supported
ptp4l[8769.158]: port 1 (enp3s0): INITIALIZING to FAULTY on FAULT_DETECTED 
(FT_UNSPECIFIED)
ptp4l[8769.158]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on 
INIT_COMPLETE
ptp4l[8769.158]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on 
INIT_COMPLETE


Debian 12 Kernel Module (based on Linux 6.1.20 kernel, modified by Debian):

> filename:   
> /lib/modules/6.1.20-rt8/kernel/drivers/net/ethernet/intel/igb/igb.ko

root@controller:~/proj/igb-5.13.16/src# ptp4l -i enp3s0 -m -2 -H
ptp4l[11754.773]: selected /dev/ptp0 as PTP clock
ptp4l[11754.818]: port 1 (enp3s0): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[11754.818]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on 
INIT_COMPLETE
ptp4l[11754.819]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on 
INIT_COMPLETE
ptp4l[11760.857]: port 1 (enp3s0): LISTENING to MASTER on 
ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
ptp4l[11760.857]: selected local clock 6cb311.fffe.663910 as best master
ptp4l[11760.857]: port 1 (enp3s0): assuming the grand master role
ptp4l[11761.868]: timed out while polling for tx timestamp
ptp4l[11761.868]: increasing tx_timestamp_timeout may correct this issue, but 
it is likely caused by a driver bug
ptp4l[11761.868]: port 1 (enp3s0): send sync failed
ptp4l[11761.868]: port 1 (enp3s0): MASTER to FAULTY on FAULT_DETECTED 
(FT_UNSPECIFIED)


Linux 6.1 Kernel Module (string from 6.1 Linux Kernel tag):

> filename:   /lib/modules/6.1.20-rt8/updates/igb.ko

root@controller:~/proj/linux-6.1/drivers/net/ethernet/intel/igb# ptp4l -i 
enp3s0 -m -2 -H
ptp4l[12277.722]: selected /dev/ptp0 as PTP clock
ptp4l[12277.794]: port 1 (enp3s0): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[12277.794]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on 
INIT_COMPLETE
ptp4l[12277.795]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on 
INIT_COMPLETE
ptp4l[12284.253]: port 1 (enp3s0): LISTENING to MASTER on 
ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
ptp4l[12284.253]: selected local clock 6cb311.fffe.663910 as best master
ptp4l[12284.253]: port 1 (enp3s0): assuming the grand master role
ptp4l[12285.264]: timed out while polling for tx timestamp
ptp4l[12285.264]: increasing tx_timestamp_timeout may correct this issue, but 
it is likely caused by a driver bug
ptp4l[12285.264]: port 1 (enp3s0): send sync failed
ptp4l[12285.264]: port 1 (enp3s0): MASTER to FAULTY on FAULT_DETECTED 
(FT_UNSPECIFIED)


AVNU Module (from AVNU):

> filename:   /lib/modules/6.1.20-rt8/kernel/drivers/net/igb_avb/igb_avb.ko
> version:5.3.2_AVB

> root@controller:~/proj/igb_avb/kmod# ptp4l -i enp3s0 -m -2 -H
> ptp4l[12490.551]: selected /dev/ptp0 as PTP clock
> ptp4l[12490.614]: port 1 (enp3s0): INITIALIZING to LISTENING on INIT_COMPLETE
> ptp4l[12490.614]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on 
> INIT_COMPLETE
> ptp4l[12490.614]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on 
> INIT_COMPLETE
> ptp4l[12497.419]: port 1 (enp3s0): LISTENING to MASTER on 
> ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
> ptp4l[12497.419]: selected local clock 6cb311.fffe.663910 as best master
> ptp4l[12497.419]: port 1 (enp3s0): assuming the grand master role
> ptp4l[12498.429]: timed out while polling for tx timestamp
> ptp4l[12498.430]: increasing tx_timestamp_timeout may correct this issue, but 
> it is likely caused by a driver bug
> ptp4l[12498.430]: port 1 (enp3s0): send sync failed
> ptp4l[12498.430]: port 1 (enp3s0): MASTER to FAULTY on FAULT_DETECTED 
> (FT_UNSPECIFIED)



There are also a number of other issues with the Intel i210 card. "Detected Tx 
Unit Hang", "exceed max 2 second” for example.

I’m a bit stuck - any hints from anyone who has it working?

Aris

___