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
