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.

_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to