<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Again,</p>
    <p>I just sent some dmesg outputs and a test program using a new
      ethercat library. Unfortunately it hit a max 200KB attachment
      limit. Sorry I didn't notice thisĀ limit before. And could not
      cancel my message either.</p>
    <p>Anyway, I uploaded the files to wetransfer. I also uploaded a
      wireshark log of twincat while the problem device goes to OP. Here
      is the link:</p>
    <p><a class="moz-txt-link-freetext" href="https://we.tl/t-Yl7iRMSadB">https://we.tl/t-Yl7iRMSadB</a></p>
    <p>I also copy my previous message here:</p>
    <p><i>Hello,
        <br>
      </i>
      <i><br>
        We went to customer side and used a test PC with ethercat
        library 1.6.7. We also used slave timeout function with 10
        seconds.
        <br>
      </i>
      <i><br>
        We build a simple setup with only one device and one test PC.
        Still the old device is going OP, and the new device don't.
        <br>
      </i>
      <i><br>
        At the attachments you can find some dmesg outputs. I also
        attached the simple test program I used.
        <br>
      </i>
      <i><br>
        Some explanations for dmesg outputs:
        <br>
      </i>
      <i><br>
        * dmesg.OK.txt: Output for the working device. I just put it
        here as a reference
        <br>
      </i>
      <i><br>
        * dmesg.Problem.txt: Output of the problematic device.
        <br>
      </i>
      <i><br>
        * dmesg.Problem.freerun.txt: I tried to activate freerun with
        ecrt_slave_config_dc(sc, 0, 0, 0, 0, 0); I put it right before
        ecrt_master_activate().
        <br>
      </i>
      <i><br>
        * dmesg.Problem.ManualStateChange: I tried to change state via
        command line tool.
        <br>
      </i>
      <i><br>
        We also checked and see that both devices are going to OP with
        twincat. If you suggest a way to get some log from twincat, we
        can try.
        <br>
      </i>
      <i><br>
        We are stuck šŸ™ If you have any idea It would be great.
        <br>
      </i>
      <i><br>
        Best regards,
        <br>
      </i>
      <i><br>
        Oguz.
      </i><br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 20-Feb-26 1:30 PM, Richard Hacker
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:14bdfeb15b350465994b12e9560d7dd63b4eb489.camel@igh.de">
      <pre wrap="" class="moz-quote-pre">On Fri, 2026-02-20 at 12:49 +0300, Bilko AS, Oguz Dilmac wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">Hi,

We will try to install the newest ethercat library version.

By the way, we tried one version older of this device. It goes to OP 
with no problem.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">Well, this shows that your configuration is probably not the issue and
is at the problem is at the slave's side


</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">Also our customer has a bechoff controller as well, and they say that
with twincat both devices are going to OP without a problem.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">TwinCAT is not the standard, neither is our EtherCAT master. However,
both should implement the standard, but they do it differently
(naturally), especially regarding timing. The standard however ensures
that EtherCAT masters and slaves are immune to timing issues, but there
are always exceptions!

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">We will try to go to the customer and check with the newest ethercat 
master version. We are also considering to connect the both devices
to 
the twincat and see if the twincat behaves different. Do you think 
checking the transmitted data via wireshark worth trying?
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">You can try, but I do not see that you'll get much insight using
wireshark. The master commands the slave to go to INIT and there is
simply no reply from the slave acknowledging the state change. That is
why the master times out and gives up trying to bring the slave online.

Going to INIT is such a primitive state change for a slave that there
should be absolutely _no_ reason it takes any amount of time. So I am
not even convinced that ecrt_slave_config_state_timeout() would work.

I only know that some (complex) slaves may take time between PREOP-
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">SAFEOP and SAFEOP->OP transition when certain hardware needs to be
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">configured based on its configuration. But your slave is not there yet.

Before you use wireshark you can try switching debug to 1
`ethercat debug 1`


</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Oguz Dilmac

Bilko AS, R&D Manager
====================================
Perpa Ticaret Merkezi B Blok Kat 13 Nr. 2536
TR-34384 Okmeydani Istanbul Turkey
Tel : +90 212 563 00 00
e-mail : <a class="moz-txt-link-abbreviated" href="mailto:odilmac@bilko-automation.com">odilmac@bilko-automation.com</a>
web site : <a class="moz-txt-link-freetext" href="http://www.bilko-automation.com">http://www.bilko-automation.com</a>
<a class="moz-txt-link-freetext" href="https://www.youtube.com/@LyncaCNC">https://www.youtube.com/@LyncaCNC</a></pre>
  </body>
</html>