Category: EtherCAT
i've been playing lately with ethernet in linuxcnc. came across an interesting reading from intel:
eci.intel.com/docs/3.3/development/performance/tsnrefsw.html
i've got an i5 gen11 mobo with i226-V ethernet controllers on it and my home brewed zynq7010 board with PTP-capable gigabit PHYs. working on a bare metal in zynq i have pretty good control over latencies. so i am trying to find ways to tighten linuxcnc's network jitter as much as i can.
intel's product brief mentions that:
Commercial and server versions (LM/IT) support the TSN standards and features and have been designed and validated
accordingly, and maintained as part of its product lifecycle, including AVNU certification. Non-commercial version (V) does not
support TSN; although some low-level features may be partially exposed temporarily, its usage is strongly discouraged
anyways, i patched RTAPI to use CLOCK_TAI, and tried SO_TXTIME thing with an ETF qdisc. without much luck, unfortunately - the TX unit promptly hangs.
TAPRIO qdisc looks much better. seems to be working ok on my i226-V: with trial and error in setting up gates and IRQ affinity tweaking i am now consistently getting around 100ns rx time jitter on zynq with a flood ping running in parallel..
haven't found a proper datasheet on i226, will probably try do buy a i226-LM chip from mouser and solder it in. also will check i210, but it does not support TAPRIO offload. but maybe ETF+SO_TXTIME is working