<div>I&#39;m not sure if this is a problem in my source code or a bug in the code relating to synchronization.</div><div><br></div>So, my problem has become this: I can successfully use EoE when the EtherCAT network is not operational. I can successfully use the EtherCAT network in Operation if the virtual EoE interface is down, but if I put the EtherCAT network into Operation and use the callbacks to handle EoE, the entire computer locks up.<div>


<br></div><div>For reference:</div><div>EtherCAT version: stable-1.5</div><div>System: Linux laptop14 2.6.32-42-generic-pae #95-Ubuntu SMP Wed Jul 25 16:13:09 UTC 2012 i686 GNU/Linux</div><div>I am not using any real-time extensions.</div>

<div>GCC: 4.4</div><div><br></div><div><br></div><div>The problem could very well be in my source code, although I&#39;ve matched it closely to the EtherLAB examples. Once the virtual EoE interface goes up, the kernel log is filling with the errors I mentioned before:</div>

<div><br></div><div><span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384659]</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">
<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384665] Pid: 0, comm: swapper Tainted: P        W</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">
<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">  (2.6.32-42-generic-pae #95-Ubuntu) Latitude E6510</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">
<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384672] EIP: 0060:[&lt;c03ac336&gt;] EFLAGS: 00000202 CPU: 3</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">

<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384680] EIP is at acpi_idle_enter_bm+0x275/0x2a4</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">
<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384684] EAX: c088eb4c EBX: 00000ee7 ECX: 00000000 EDX: 03036000</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">

<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384689] ESI: 00000000 EDI: f6e404cc EBP: f74cbf78 ESP: f74cbf50</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">

<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384694]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">

<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384698] CR0: 8005003b CR2: b94c0004 CR3: 00799000 CR4: 000006f0</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">

<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384703] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">

<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384707] DR6: ffff0ff0 DR7: 00000400</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">
<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384710] Call Trace:</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">
<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384719]  [&lt;c04ca54a&gt;] cpuidle_idle_call+0x7a/0x100</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">

<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384727]  [&lt;c01085a4&gt;] cpu_idle+0x94/0xd0</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">
<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.384735]  [&lt;c05b31b7&gt;] start_secondary+0xc4/0xc6</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">

<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.393250] BUG: scheduling while atomic: swapper/0/0x10000100</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">

<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">[ 2687.393256] Modules linked in: durability ec_generic ec_e1000</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">

<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">ec_8139too ec_master mii michael_mic arc4 binfmt_misc snd_hda_codec_idt</span></div><div><font color="#222222" face="arial, sans-serif"><br>
</font></div><div><br></div><div><font color="#222222" face="arial, sans-serif">The notable parts of my code are the callback:</font></div><div><font color="#222222" face="arial, sans-serif"><br></font></div><div><font color="#222222" face="arial, sans-serif"><div>

void </div><div>send_callback(void *cb_data)</div><div><span style="white-space:pre-wrap">        </span>{</div><div><span style="white-space:pre-wrap">        </span>ec_master_t *m = (ec_master_t *) cb_data;</div>
<div>        down(&amp;master_sem);</div><div><span style="white-space:pre-wrap">        </span>ecrt_master_send_ext(m);</div><div>        up(&amp;master_sem);</div><div><span style="white-space:pre-wrap">        </span>}</div>
<div><br></div><div>void </div><div>receive_callback(void *cb_data)</div><div><span style="white-space:pre-wrap">        </span>{</div><div><span style="white-space:pre-wrap">        </span>ec_master_t *m = (ec_master_t *) cb_data;</div>

<div>        down(&amp;master_sem);</div><div><span style="white-space:pre-wrap">        </span>ecrt_master_receive(m);<span style="white-space:pre-wrap">                </span></div><div>        up(&amp;master_sem);</div>
<div><span style="white-space:pre-wrap">        </span>}</div><div> </div><div>If they are not in the program and activated by ecrt_master_callbacks, then there is no lock-up. Of course, EoE doesn&#39;t work. Once I put them in, the system hangs in about 30 seconds or less. I can&#39;t see any obvious reason for this: it looks like dead lock. I added traces and watched the kernel log viewer; I think it&#39;s locking up in ecrt_master_send_ext and not returning.</div>

<div><br></div><div>In any case, I&#39;ve been working on this for five days. If anyone can shine some light on what I&#39;m doing wrong, or how I can fix this, I&#39;d appreciate it.</div><div><br>Thanks again!</div><div>

Tom</div><div><br></div></font></div><div><br><div class="gmail_quote">
On Wed, Aug 15, 2012 at 1:02 PM, Matthieu Bec <span dir="ltr">&lt;<a href="mailto:mbec@gmto.org" target="_blank">mbec@gmto.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
# ifconfig eoe0s7 192.168.127.10<br>
# ifconfig eoe0s7 up<br>
<br>
Is there any way to make this happen automatically on startup? In<br>
/etc/network, I created a file called ifcg-eoe0s7 and put in:<br>
<br>
IPADDRESS=<a href="http://192.168.127.10/24" target="_blank">192.168.127.10/24</a> &lt;<a href="http://192.168.127.10/24" target="_blank">http://192.168.127.10/24</a>&gt;<br>
STARTMODE=auto<br>
<br>
But it must not be working because the virtual interface doesn&#39;t even<br>
have an IP Address until I give it one manually.<br>
</blockquote>
<br>
on fedora:<br>
<br>
# ifup eoe0s7<br>
<br>
best consult the ubuntu forums.<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Thomas C. Bitsky Jr.<div>Lead Developer and Application Engineer</div><div><font color="#660000">ADC | <a href="http://automateddesign.com" target="_blank">automateddesign.com</a></font></div>


<div>P: <a href="tel:630-783-1150" value="+16307831150" target="_blank">630-783-1150</a> F: <a href="tel:630-783-1159" value="+16307831159" target="_blank">630-783-1159</a> M: <a href="tel:630-632-6679" value="+16306326679" target="_blank">630-632-6679</a></div>

<br>
</div>