[etherlab-users] EoE communication problems

Sergej.Stepanov at ids.de Sergej.Stepanov at ids.de
Tue Feb 7 15:57:50 CET 2012


Hello,

By developing own EoE-slave-module 2 problems appear regularly at the side of IgH ECAT master on embedded system:

1.
BUG: while atomic read at ec_eoe_state_tx_start(..)...
(Sorry, at the moment I can't send a complete kernel oops)

The EoE-thread will be stopped and no communication is possible, repair only with reboot or ECAT master restart

After analyzing I have the questions:
  * EoE-driver uses semaphores for critical sessions.
  * ec_eoe_state_tx_start(..) will be called from kernel-thread context
  * ec_eoedev_tx(..) will be called from timer-interrupt context

I would say, it could not be really good. In this case spinlocks has to be used.
Correct me, please, if I wrong.

2.
if communication through the eoe-interface is really intensive, ssh for example,
at some point arise the next kind of warnings and no communication is possible:
...
<4>[ 3746.417773] EtherCAT WARNING 0-1: No sending response for eoe0s1 after 100 tries
...
but:
a. Packets from the slave side can be seen, for examples, tcp-retransmitions, arp etc.
b. TX-error counter will be incremented
c. the TX-communication can be repaired through the reactivation of eoeXsY-interface with ifconfig ... down/up.

I am at the analyzing of the problem.
But before I go into the depth I have a hope for your ideas?

Best regards
Thank you in advance for advices and for prompt reaction.

Sergej Stepanov.



More information about the Etherlab-users mailing list