<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=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@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;}
@font-face
{font-family:"Lucida Console";
panose-1:2 11 6 9 4 5 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></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="MsoNormal">Hi Ferdinand,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The vanilla Etherlab master does not separate the different mailbox protocols. However, the Gavin Lambert patchset applied to the master does. The patchset can be found at:<o:p></o:p></p>
<p class="MsoNormal"><a href="https://sourceforge.net/u/uecasm/etherlab-patches/ci/default/tree/#readme">https://sourceforge.net/u/uecasm/etherlab-patches/ci/default/tree/#readme</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If you have <span style="color:black">Ethernet over EtherCAT (EoE) enabled it requires the ecrt_master_callbacks() method to be used to provide synchronization between the master realtime thread and the EoE thread. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
<p><span style="color:black">Note: This method needs to be called from a kernel space application, with kernel space callback methods. If you have a user space only application things become a lot more complex.<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If you don’t want to use EoE then disabling it is fine and the above patchset should sort out the rest.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards,<o:p></o:p></p>
<p class="MsoNormal">Graeme.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="mso-fareast-language:EN-NZ">From:</span></b><span lang="EN-US" style="mso-fareast-language:EN-NZ"> Etherlab-users <etherlab-users-bounces@etherlab.org>
<b>On Behalf Of </b>Ferdinand Postema - LR<br>
<b>Sent:</b> Tuesday, 24 August 2021 04:12<br>
<b>To:</b> etherlab-users@etherlab.org<br>
<b>Subject:</b> [Etherlab-users] EoE messages are disturbing CoE communication<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">Hello,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I’m using a Beckhoff EL6695 Ethercat Bridge terminal. This terminal can do many things, but I use it to exchange variables between 2 masters (IgH master and a CX2040). This device is also capable of multiple mailbox protocols
(CoE, EoE and AoE). <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Recently I updated the IgH-master. Before the master was updated, I experienced an intermittent (rarely) startup problem: Sometimes the communication could not be established. Bringing the slaves to INIT and then back
to OP resolved the problem. After the upgrade, it was almost not possible to get the communication up and running. After many hours of debugging I discovered that the problem is that the EoE messages are disturbing the CoE communication. I disabled the EoE
protocol in the IgH-master with the –disable-eoe option when configuring and building the software. Now I’m able to get the communication running with de newer version of the IgH-master. But the occasional startup problems remain…<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">While using wireshark to debug the problem further I still see EoE messages. These messages originate from the terminal and not from the IgH master. But these messages do disturb the CoE communication. The following short
sample of a wireshark trace shows the problem:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Lucida Console"">No. Time Source Destination Proto Length Info<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Lucida Console"">875 0.000003 00:0a:cd:30:30:f3 ff:ff:ff:ff:ff:ff ECAT 1052 'FPWR': Len: 1024, Adp 0x1, Ado 0x1000, Wc 0 Mbx(CoE SDO Req : 'Initiate Upload' (2) Idx=0x1c12
Sub=0)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Lucida Console"">876 0.000242 02:0a:cd:30:30:f3 ff:ff:ff:ff:ff:ff ECAT 1052 'FPWR': Len: 1024, Adp 0x1, Ado 0x1000, Wc 1 Mbx(CoE SDO Req : 'Initiate Upload' (2) Idx=0x1c12
Sub=0)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Lucida Console"">877 0.000002 00:0a:cd:30:30:f3 ff:ff:ff:ff:ff:ff ECAT 60 'FPRD': Len: 8, Adp 0x1, Ado 0x808, Wc 0
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Lucida Console"">878 0.000240 02:0a:cd:30:30:f3 ff:ff:ff:ff:ff:ff ECAT 60 'FPRD': Len: 8, Adp 0x1, Ado 0x808, Wc 1
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Lucida Console"">879 0.000002 00:0a:cd:30:30:f3 ff:ff:ff:ff:ff:ff ECAT 1052 'FPRD': Len: 1024, Adp 0x1, Ado 0x1600, Wc 0
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Lucida Console"">880 0.000244 fe80::d9ac:9249:59ff:e2c5 ff02::1:2 EoE-DHCPv6 1052 EoE(Solicit XID: 0xaa5bf0 CID: 0001000120481c730001052d4758 )<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Lucida Console"">881 0.000005 00:0a:cd:30:30:f3 ff:ff:ff:ff:ff:ff ECAT 1052 'FPWR': Len: 1024, Adp 0x1, Ado 0x1000, Wc 0 Mbx(CoE SDO Req : 'Initiate Upload' (2) Idx=0x1c13
Sub=0)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Lucida Console"">882 0.000237 02:0a:cd:30:30:f3 ff:ff:ff:ff:ff:ff ECAT 1052 'FPWR': Len: 1024, Adp 0x1, Ado 0x1000, Wc 1 Mbx(CoE SDO Req : 'Initiate Upload' (2) Idx=0x1c13
Sub=0)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Lucida Console"">883 0.000002 00:0a:cd:30:30:f3 ff:ff:ff:ff:ff:ff ECAT 60 'FPRD': Len: 8, Adp 0x1, Ado 0x808, Wc 0
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Lucida Console"">884 0.000242 02:0a:cd:30:30:f3 ff:ff:ff:ff:ff:ff ECAT 60 'FPRD': Len: 8, Adp 0x1, Ado 0x808, Wc 1
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Lucida Console"">885 0.000002 00:0a:cd:30:30:f3 ff:ff:ff:ff:ff:ff ECAT 1052 'FPRD': Len: 1024, Adp 0x1, Ado 0x1600, Wc 0
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Lucida Console"">886 0.000243 fe80::d9ac:9249:59ff:e2c5 ff02::1:2 EoE-DHCPv6 1052 EoE(Solicit XID: 0xaa5bf0 CID: 0001000120481c730001052d4758 )<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">In frame 875/876, the IgH master requests an SDO-upload<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">In frame 877/878, the IgH master checks the SM-status to check if a mailbox message is ready to be read.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">In frame 879/880, the IgH master reads the mailbox message, expecting a response to the SDO-upload request, but receives an EoE message. This EoE message is probably generated by the slave much earlier, but was not read
by the master. Due to this EoE message, the master aborts the ‘upload RxPDO assignment/mapping’<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">In frame 881-886, the same happens when the IgH master tries to upload the TxPDO assignment/mapping. Apparently, another EoE message was already queued for transmission to the master. <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I think the IgH master does not properly separate these mailbox protocols. The one should never influence the other. I think to realize this, would require a large change in the IgH master.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Maybe a quick fix would be to ignore the other mailbox protocol messages during CoE communication (or when –disable-eoe is specified) and re-read the mailbox until a CoE meassage is read.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-GB">I hope this contibutes to your great effort to realize a free ethercat master! I really appreciate this ethercat master.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-GB">Kind regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-GB">Ferdinand Postema<o:p></o:p></span></p>
</div>
</body>
</html>