<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-ligatures:standardcontextual;
        mso-fareast-language:EN-US;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:22635892;
        mso-list-type:hybrid;
        mso-list-template-ids:-1095608890 336134145 336134147 336134149 336134145 336134147 336134149 336134145 336134147 336134149;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l1
        {mso-list-id:475294873;
        mso-list-type:hybrid;
        mso-list-template-ids:1331338820 336134145 336134147 336134149 336134145 336134147 336134149 336134145 336134147 336134149;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-NZ" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoPlainText">Hi Nicola,<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I received a Delivery Delayed email, So you might get it eventually:<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:36.0pt"><a href="mailto:ntd@entidi.it">ntd@entidi.it</a><o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:36.0pt">Server at entidi.it (2a02:6b8::311) returned '400 4.4.7 Message delayed'<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:36.0pt">27/11/2023 3:10:28 AM - Server at entidi.it (2a02:6b8::311) returned '451 4.4.397 Error communicating with target host. -> 421 4.2.1 Unable to connect -> SocketError: Failed to connect. Winsock error code:
 10051, Win32 error code: 10051'<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Re Buildroot, our project is commercial so we can supply all open source components and configuration to any customer who requests it (no one has so far).  We do this by supplying them a firmware update that contains all of the sources
 and config.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">However, I'm happy to share the buildroot and related config files for the CX5230 (attached).  It uses:<o:p></o:p></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoPlainText" style="mso-list:l0 level1 lfo1">crosstool-ng 1.25.0 (building for x86_64, config attached)<o:p></o:p></li><li class="MsoPlainText" style="mso-list:l0 level1 lfo1">Buildroot 2022.05, released June 6th, 2022<o:p></o:p></li><li class="MsoPlainText" style="mso-list:l0 level1 lfo1">Linux Kernel 4.19.266 (vanilla, no patches except the patch by RTAI)<o:p></o:p></li><li class="MsoPlainText" style="mso-list:l0 level1 lfo1">RTAI 5.3 2023-01-04 update (it needed a couple of patches, attached)<o:p></o:p>
<ul style="margin-top:0cm" type="circle">
<li class="MsoPlainText" style="mso-list:l0 level2 lfo1"><a href="https://github.com/mmorandi/RTAI/tree/main/userfiles/downloads/RTAI">https://github.com/mmorandi/RTAI/tree/main/userfiles/downloads/RTAI</a><o:p></o:p></li></ul>
</li><li class="MsoPlainText" style="mso-list:l0 level1 lfo1">EtherLab master<o:p></o:p>
<ul style="margin-top:0cm" type="circle">
<li class="MsoPlainText" style="mso-list:l0 level2 lfo1"><a href="https://gitlab.com/etherlab.org/ethercat.git">https://gitlab.com/etherlab.org/ethercat.git</a><o:p></o:p></li><li class="MsoPlainText" style="mso-list:l0 level2 lfo1">stable-1.5 - eb35635b778cc56e12bb7c863618d7605eaf9884<o:p></o:p></li><li class="MsoPlainText" style="mso-list:l0 level2 lfo1">GavilL's Etherlab Master unofficial patchset - 20190904<o:p></o:p></li><li class="MsoPlainText" style="mso-list:l0 level2 lfo1"><a href="https://sourceforge.net/u/uecasm/etherlab-patches/ci/default/tree/">https://sourceforge.net/u/uecasm/etherlab-patches/ci/default/tree/</a><o:p></o:p></li></ul>
</li></ul>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Note: we've created our own etherlabmaster buildroot package to use Gavin's patchset.  We've also created a few more patches (attached):<o:p></o:p></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoPlainText" style="mso-list:l1 level1 lfo2">previous patches not picked up by Gavin:<o:p></o:p></li></ul>
<p class="MsoPlainText" style="margin-left:36.0pt">base/0033-retry-dc-register.patch<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:36.0pt">base/0034-Overlapped-PDOs-not-fitting-into-max-datagram-size-fix.patch<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:36.0pt">base/0035-Only-read-alias-from-0x0012-reg-if-SII-alias-is-zero.patch<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:36.0pt">features/diag/0003-diag2.patch        (our version of diagnostics)<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:36.0pt">features/json-xml/0001-json-xml-tool-output.patch         (alternate output formatting)<o:p></o:p></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoPlainText" style="mso-list:l1 level1 lfo2">new patches:<o:p></o:p></li></ul>
<p class="MsoPlainText" style="margin-left:36.0pt">features/sii-file/0002-rename-request-firmware-direct.patch<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:36.0pt">features/sii-file/0003-kernel-updates.patch<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:36.0pt">base/0037-replace-linux-rtmutex-with-locks.h.patch<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:36.0pt">base/0038-ccat-AV-fix-on-link-down-on-startup.patch<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:36.0pt">base/0039-ccat-poll_rx-fix-only-getting-one-frame.patch<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I think there's still a bug in the IGB network driver if you want to use it as an EtherCAT master port, but it looked OK for normal networking.  (We saw a couple of patches here:
<a href="https://github.com/tormach/etherlab_master/commits/master/devices/igb">https://github.com/tormach/etherlab_master/commits/master/devices/igb</a>)<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Our Linux commandline options are:<o:p></o:p></p>
<p class="MsoPlainText">    nomodeset isolcpus=1 idle=poll tsc=reliable acpi_irq_nobalance irqaffinity=0<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">idle=poll was need to get the latency and jitter under control.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Regards,<o:p></o:p></p>
<p class="MsoPlainText">Graeme.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Original Message-----<o:p></o:p></p>
<p class="MsoPlainText">From: Fontana Nicola <<a href="mailto:ntd@entidi.it">ntd@entidi.it</a>>
<o:p></o:p></p>
<p class="MsoPlainText">Sent: Tuesday, November 28, 2023 3:04 AM<o:p></o:p></p>
<p class="MsoPlainText">To: Luis Matos <<a href="mailto:luis.matos@agicore.pt">luis.matos@agicore.pt</a>>; Graeme Foot <<a href="mailto:Graeme.Foot@touchcut.com">Graeme.Foot@touchcut.com</a>>;
<a href="mailto:etherlab-users@etherlab.org">etherlab-users@etherlab.org</a><o:p></o:p></p>
<p class="MsoPlainText">Subject: Re: [Etherlab-users] Embedded PC with out of the box support for igh-ethercat<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Il giorno dom, 26/11/2023 alle 23.39 +0000, Luis Matos ha scritto:<o:p></o:p></p>
<p class="MsoPlainText">> ...<o:p></o:p></p>
<p class="MsoPlainText">> Às 23:14 de 26/11/2023, Graeme Foot escreveu:<o:p></o:p></p>
<p class="MsoPlainText">> > ...<o:p></o:p></p>
<p class="MsoPlainText">> > We build our system using Buildroot with the EtherLab EtherCAT
<o:p></o:p></p>
<p class="MsoPlainText">> > master and RTAI.  We've never used an arm based CPU, just x86 (and now x86_64).<o:p></o:p></p>
<p class="MsoPlainText">> > ...<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Many thanks for the answer, this was exactly the info I was looking for. For some reason your email never hit my mailbox, so I'm answering via Luis.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I plan to use buildroot on a headless PC as well but with plain preempt_rt. What I always fear when changing hardware is to loose weeks because you need to enable or disable some obscure flag when building the kernel.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Did you meet any issues or a vanilla kernel should just work out of the box? Sharing the buildroot config file would be awesome, but I can understand this is not always possible.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Thank you again.<o:p></o:p></p>
<p class="MsoPlainText">--<o:p></o:p></p>
<p class="MsoPlainText">Nicola<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
</div>
</body>
</html>