<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:"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:Aptos;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:12.0pt;
font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}
span.EmailStyle21
{mso-style-type:personal-reply;
font-family:"Aptos",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@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="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Yes, that’s a known issue; CoE and EoE in the same slave do not play nicely together.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Currently the only known workaround is to use the
<a href="https://sourceforge.net/u/uecasm/etherlab-patches/ci/default/tree/#readme">
unofficial patchset for 1.5</a>, which includes some patches to fix.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Some of the patches have also been ported to the
<a href="https://gitlab.com/etherlab.org/ethercat/-/tree/devel">devel branch</a> (which I have not tested) but I don’t think they made it into 1.6 for some reason.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<span style="FONT-FAMILY: Gotham, Calibri, 'sans-serif'; COLOR: #231f20"><strong>Gavin Lambert<br></strong>
<br>
Software Engineer<br>
<br>
</span><br>
<br><img style="HEIGHT: 45px; WIDTH: 192px" src="cid:TOMRA_CMYK_final_size_times_two_cd761a01-1d1f-446e-9316-8012271820b6.png" width="192" height="45" border="0">
<br>
<a href="https://www.facebook.com/TOMRA.Food/" target="_blank"><img alt="tomra facebook" src="cid:TF-FB-icon_b77c57e4-4990-4f9d-b3a2-8e6ab45df7f2.jpg" height="30"></a> <a href="https://www.linkedin.com/company/tomra-food/" target="_blank"><img alt="tomra linkedin" src="cid:TF-LinkedIn-icon_d54c4829-dcb9-450c-9187-34b26e85ebaa.jpg" height="30"></a> <a href="https://twitter.com/TOMRAFood" target="_blank"><img alt="tomra twitter" src="cid:icons-social-media-twitter_small_2_4bae5ad2-4add-4314-a352-5b317f784956.jpg" height="30"></a> <a href="https://www.youtube.com/playlist?list=PLDD3B1A7BAE919EC6" target="_blank"><img alt="tomra youtube" src="cid:TF-Youtube-icon_8b2c830c-70d9-48da-a4db-db9191d346ba.jpg" height="30"></a> <a href="https://www.instagram.com/tomrafood/" target="_blank"><img alt="tomra instragram" src="cid:TOMRAinstagram_45b30c55-490a-4f32-8fd3-998c152e3494.jpg" height="30"></a><br>
<span style="FONT-SIZE: 75%; FONT-FAMILY: Calibri, Candara, Segoe, Optima, Arial, sans-serif; COLOR: #6e8186"> <b>TOMRA Food (ANZ) Limited</b>
| 4 Henderson Place | PO Box 13 516 | Onehunga 1061 | New Zealand </span><br>
<p style="FONT-SIZE: 10pt; MARGIN-BOTTOM: 5pt; FONT-FAMILY: Arial; MARGIN-TOP: 0px"></p>
<span style="FONT-SIZE: 75%; FONT-FAMILY: Calibri, Candara, Segoe, Optima, Arial, sans-serif; COLOR: #6e8186"> Phone: +64 96 34 00 88 | <a href="https://www.tomra.com/food">https://www.tomra.com/food</a></span><br>
<span style="FONT-SIZE: 60%; FONT-FAMILY: Gotham, Calibri, 'sans-serif'; COLOR: #6e8186">The information contained in this communication and any attachment is confidential and may be legally privileged. It should only be read by the person(s) to whom it is addressed. If you have received this communication in error, please notify the sender and delete the communication. </span><br>
<span style="FONT-SIZE: 60%; FONT-FAMILY: Gotham, Calibri, 'sans-serif'; WIDTH: 75%; COLOR: #6e8186">
</span><div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<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="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Etherlab-users <etherlab-users-bounces@etherlab.org>
<b>On Behalf Of </b>Bernhard Vorhofer<br>
<b>Sent:</b> Saturday, 15 March 2025 5:00 am<br>
<b>To:</b> etherlab-users@etherlab.org<br>
<b>Subject:</b> [Etherlab-users] EoE in userspace - Other mailbox response<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">Dear all,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">we're currently investigating some issues with a particular slave (BBH SCU-2-EC FSoE Master). There are multiple issues (sometimes the slave refuses state change to OP, for example), but something that piqued our interest be seen in the
following log excerpt:<o:p></o:p></p>
</div>
<div>
<div>
<div>
<div style="margin-bottom:3.0pt;box-sizing:inherit;max-width:none">
<div>
<div>
<div>
<div>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG 0: ecrt_master_sdo_upload(master = 0x00000000d53d8735, slave_position = 0, index = 0x4002, subindex = 0x00, target = 0x00000000f9b1cb01, target_size = 40, result_size = 0x000000007e76960b, abort_code = 0x000000002d1055bf)<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG 0-0: Scheduling SDO upload request.<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG 0-0: Processing SDO request...<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG 0-0: Uploading SDO 0x4002:00.<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG 0-0: Upload request:<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG: 00 20 40 02 40 00 00 00 00 00 <o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG 0-0: Upload response:<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG: 00 30 41 02 40 00 28 00 00 00 00 74 0B 00 DF 8C <o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG: CC 04 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 <o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 <o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG: 00 00 <o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG 0-0: Uploaded data:<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG: 00 74 0B 00 DF 8C CC 04 00 00 00 00 00 00 80 3F <o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG: 00 00 80 3F 00 00 00 00 <o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG 0-0: Finished SDO request.<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG 0: ecrt_master_sdo_upload(master = 0x00000000d53d8735, slave_position = 0, index = 0x4002, subindex = 0x00, target = 0x00000000f9b1cb01, target_size = 40, result_size = 0x000000004af47ed5, abort_code = 0x00000000d0acc148)<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG 0-0: Scheduling SDO upload request.<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG 0-0: Processing SDO request...<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG 0-0: Uploading SDO 0x4002:00.<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG 0-0: Upload request:<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT DEBUG: 00 20 40 02 40 00 00 00 00 00 <o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT WARNING 0-0: Other mailbox protocol response for eoe0s0.<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT ERROR 0-0: Timeout after 1000 ms while waiting for SDO 0x4002:0 upload response.<o:p></o:p></span></pre>
<pre style="mso-margin-top-alt:3.0pt;margin-right:0cm;margin-bottom:3.0pt;margin-left:0cm"><span style="font-size:9.0pt;font-family:Consolas">kernel: EtherCAT ERROR 0-0: Failed to process SDO request.<o:p></o:p></span></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal">The first SDO request is successful, the second one times out. Right before the timeout, the message "Other mailbox protocol response for eoe0s0" appears. It seems that the SDO response somehow ends up in the EoE thread, is dropped there
and thus lost.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Are we interpreting this behavior correctly? Is there anything that can be done to prevent this from happening, and could this cause some other issues we're seeing (slave refusing to go to OP due to "Invalid input configuration")?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">We've seen the function `ecrt_master_callbacks`, but it seems that it's only relevant in case the application is run in a kernel module. Our application runs in a userspace process.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thank you very much and best regards,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Bernhard Vorhofer<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>